SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.09.2009, 10:33:44
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
Formular-Problem: Multiauswahl beschränken

Hallo liebe Community,

ich arbeite derzeit an einem Online-Umfragetool für ein mittleres, nicht-kommerzielles Projekt.
Für die Marktforschung soll wie sich vermuten lässt, eine Umfrage gestartet werden.
Jetzt habe ich folgendes Problem: eine der Vorgegebenen Fragen besitzt um die 20 Checkboxen zur Mehrfachauswahl, welche jedoch auf maximal 6 Auswahlen beschränkt werden soll. Hat irgendjemand eine Idee, wie ich das bewerkstelligen kann?

Mir wäre es persönlich am liebsten, wenn dies über eine Funktion zu bewerkstelligen wäre, da die gesamte Umfrage und das Formular dynamisch, aus in der MySQL-Datenbank gespeicherten Fragen, erstellt wird.

Ich hoffe ihr könnt mir helfen, da ich echt ratlos bin und die Zeit knapp wird.

LG
fil3s
Mit Zitat antworten
  #2  
Alt 16.09.2009, 11:18:19
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Formular-Problem: Multiauswahl beschränken

Bis wann mußt Du denn Deine Hausaufgaben abliefern? ;-)

Zwei Möglichkeiten:
1. mittels JS
2. bei Seitenwechsel abfragen wieviele Checkboxen markiert sind und danach entscheiden weiter oder zurück.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 16.09.2009, 11:32:24
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
AW: Formular-Problem: Multiauswahl beschränken

Zitat:
Zitat von vt1816 Beitrag anzeigen
Bis wann mußt Du denn Deine Hausaufgaben abliefern? ;-)
Schön wärs ja =D ne 6 wie in der Schule könnt ich ja verkraften, aber mein Chef reisst mir den Kopf runter wenn ich nicht Termingerecht abliefer.

btw: nicht alle nicht-kommerziellen Projekte sind gleich Schulprojekte.

Zitat:
Zitat von vt1816 Beitrag anzeigen
1. mittels JS
Da bin ich leider total unbegabt drin =(
Zitat:
Zitat von vt1816 Beitrag anzeigen
2. bei Seitenwechsel abfragen wieviele Checkboxen markiert sind und danach entscheiden weiter oder zurück.
Autsch... so einfach? da hätt ich selbst drauf kommen müssen :-\ Dazu aber nochmal ne Frage: Wie kann ich ich abfragen wie viel Werte ein array enthält?
Mit Zitat antworten
  #4  
Alt 16.09.2009, 11:41:01
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Formular-Problem: Multiauswahl beschränken

Zitat:
Zitat von fil3s Beitrag anzeigen
[...]
Autsch... so einfach? da hätt ich selbst drauf kommen müssen :-\ Dazu aber nochmal ne Frage: Wie kann ich ich abfragen wie viel Werte ein array enthält?
Autsch... - Handbuch verlegt?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 16.09.2009, 12:08:41
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
AW: Formular-Problem: Multiauswahl beschränken

Ok, es gibt doch dumme fragen, ich möcht meine gern zurückziehen.
Ich nehm alles zurück und behaupte das Gegenteil!
danke für die Hilfe!

(aber inzwischen ist schon das nächste Problem eingeschlagen -.- Es ist einfach zu lange her, das ich das gemacht habe)

Ok damit ich nicht gleich noch ein Thema aufmachen muss, und es ja direkt das aktuelle betrifft hier die nächste Hürde.

Da die Fragen bei der Umfrage recht komplex sind UND über einen Datenbankeintrag erstellt werden soll habe ich folgende Funktionen geschrieben:

PHP-Code:
function show_question($daten)
{
    if (
$daten['type'] == 'radio' or $daten['type'] == 'checkbox') {
        echo 
'<label for="'.$daten['id'].'">Frage '.$daten['lfdNr'].': '.$daten['title'].'</label><br />';
        echo 
'<div class="werte">';
        for (
$i 1$i <= $daten['anzval'] ; $i++) {
            
$val 'val'.$i;
            echo 
'<input type="'.$daten['type'].'" name="'.$daten['id'].'" value="'.$i.'">&nbsp;&nbsp;'.$daten[$val].'<br />';
        } 
        echo 
'</div>';
    } elseif (
$daten['type'] == 'range_single') {
        echo 
'<label for="'.$daten ['id'].'">Frage '.$daten['lfdNr'].': '.$daten['title'].'</label><br />';
        echo 
'<div class="werte">';
        echo 
$daten['max_1'];
        for (
$i 1$i <= $daten['range']; $i++) {
            
$val 'val'.$i;
            echo 
'<input type="radio" name="'.$daten['id'].'" value="'.$i.'">';
        }
        echo 
$daten['min_1'];
        echo 
'</div>';
    }  elseif (
$daten['type'] == 'range_multi') {
        echo 
'<label for="'.$daten['id'].'">Frage '.$daten['lfdNr'].': '.$daten['title'].'</label><br />';
        echo 
'<div class="werte">';
        for (
$i 0$i $daten['anzval']; $i++) {
            
$c_val $i +1;
            
$min 'min_'.$c_val;
            
$max 'max_'.$c_val;
            
$capt 'capt'.$c_val;
            echo 
$daten[$capt].' - ';
            echo 
$daten[$max];
            for (
$j=0$j $daten['range']; $j++) {
                echo 
'<input type="radio" name="'.$daten['id'].'_'.$i.'" id="'.$j.'">&nbsp;&nbsp;';
            }
            echo 
$daten[$min];
            echo 
'<br />';
        }
    }
    

Diese Funktion generiert aus einem Array ein Formular, eigentlich ganz simpel. Mein Problem jedoch ist die dazugehörige Datenbank: Ich habe 2 Tabellen, die direkt das Formular betreffen:

p_frage
Code:
|----------------------------------------
|Feld         |Typ    |Null|Standard
|------
|//**id**//|int(10)|Ja  |NULL
|cat_id      |int(10)|Ja  |NULL
|nr            |int(10)|Ja    |NULL
|name       |char(240)|Ja  |NULL
|typ          |char(100)|Ja  |NULL
|anzval     |int(2)|Ja  |NULL
|pos         |int(5)|Ja  |NULL
== Daten für Tabelle p_frage

|1|1|1|Was machst du am Wochenende|checkbox|3|1
|2|1|2|Was ist das?|radio|3|2
|3|1|3|An welchen Wochentagen bleibst du lange auf?|checkbox|7|3
|4|1|4|Wie oft zockst du im Internet?|range_single|0|4
|8|1|5|Was zockst du am meisten?|range_multi|3|5

p_wert
Code:
===Datenbank usr_web1_7

== Tabellenstruktur für Tabelle p_werte

|------
|Feld|Typ|Null|Standard
|------
|//**id**//|int(10)|Ja|NULL
|frage_id|int(10)|Ja|NULL
|title|char(200)|Ja|NULL
|max|char(20)|Ja|NULL
|min|char(20)|Ja|NULL
|range|int(2)|Ja|NULL
== Daten für Tabelle p_werte

|1|1|Saufen| | |NULL
|2|1|Zocken| | |NULL
|3|1|Schlafen| | |NULL
|4|2|Brot|NULL|NULL|NULL
|5|2|Wurst|NULL|NULL|NULL
|6|2|Käse|NULL|NULL|NULL
|8|3|Montag|NULL|NULL|NULL
|9|3|Dienstag|NULL|NULL|NULL
|10|3|Mittwoch|NULL|NULL|NULL
|11|3|Donnerstag|NULL|NULL|NULL
|12|3|Freitag|NULL|NULL|NULL
|13|3|Samstag|NULL|NULL|NULL
|14|3|Sonntag|NULL|NULL|NULL
|15|4| |täglich|nie|6
|16|5|CoD4|täglich|nie|4
|17|5|BF2142|täglich|nie|4
|18|5|Aion|täglich|nie|4
(BTW, das sind nur Platzhalterfragen =) )

Soweit, so gut. Oder nicht? Aufgrund der großen Menge an möglichen Antworten und der starken variabilität der Fragen habe ich diese Struktur gewählt. Jedoch bekomme ich es nicht zurande, diese beiden in der Art auszulesen, dass ich sie in ein Array prügeln kann, das die Fehlerfreie Generierung des Formulars ermöglicht.
Ich weiss nicht ob ich inzwischen einen überdurchschnittlichen Tunnelblick entwickelt habe, weil ich schon seit Montag morgen daran arbeite, oder was ich falsch mach, aber weiter komme ich nicht, da es schon irgendwo klemmt:
PHP-Code:
function show_poll($umfrage)
{
    
    
$db = new my_database();
    
$sel_questions 'SELECT p_frage.id FROM p_cat,p_frage WHERE p_cat.umfrage_id='.$umfrage.' AND p_frage.cat_id = p_cat.id';
    echo 
$sel_questions.'<br />';
    
$res $db->query($sel_questions);
    
$num $db->num_rows($res,0);
    while (
$fragen $db->fetch_array($res,0)) {
        
$get_question 'SELECT * FROM p_frage WHERE p_frage.id='.$fragen['id'];
        
$question $db->fetch_array($get_question);
        
$get_wert 'SELECT * FROM p_werte WHERE frage_id='.$fragen['id'];
         while (
$values $db->fetch_rows($get_wert)) {
            echo 
'blubb!'// hier habe ich irgendwo eine endlos schleife produziert weil die ganze Seite voll-"geblubbt" wird!
         
}    
    }



Mit Zitat antworten
  #6  
Alt 16.09.2009, 12:19:51
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Formular-Problem: Multiauswahl beschränken

Ohne mir jetzt alles reinzuziehen: wie hängen die beiden Dateien zusammen - wie sind sie miteinander verknüpft?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7  
Alt 16.09.2009, 12:28:24
fil3s fil3s ist offline
Anfänger
 
Registriert seit: Sep 2009
Alter: 37
Beiträge: 11
AW: Formular-Problem: Multiauswahl beschränken

Zitat:
Zitat von vt1816 Beitrag anzeigen
Ohne mir jetzt alles reinzuziehen: wie hängen die beiden Dateien zusammen - wie sind sie miteinander verknüpft?
Die Tabelle p_frage gibt an:

- id
- Titel der Frage
- Typ der Frage (Checkbox, radiobuttons usw)
- evtl. Anzahl der Antwortmöglichkeiten


und die tabelle p_werte, gibt:

- Zugehörigkeit zur Frage über deren id
- alle möglichen Antworten (titel der Möglichkeit) , mit
- bei Wertungs-/Wichtungsfragen die Anzahl der Punkte auf der Skala von wichtig nach unwichtig
- maximalbegriff (z.b. täglich)
-minimalbegriff (z.b. nie)


In wenigen Worten: p_frage gibt den Titel und die Attribute der Frage und p_werte die Antwortmöglichkeiten und deren Attribute an (1:n-Beziehung zu p_frage über die id von p_frage)

Beispielfragen habe ich grad mal online geworfen : hier <-- die Projektdomain!

Geändert von fil3s (16.09.2009 um 12:32:27 Uhr) Grund: Nachtrag
Mit Zitat antworten
Antwort

Stichworte
dynamisch, formular, mysql


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Formular und MySQl =/ OlliTheDarkness MySQLi/PDO/(MySQL) 4 14.07.2009 00:17:56
Mail-Formular - Problem mit uniqid() und mozilla dicon PHP Grundlagen 0 20.04.2006 15:45:05
Sessions Problem Mehrseitiges Formular rezeptionist PHP Grundlagen 7 03.02.2006 00:21:11
Mysql - Formular Problem Till PHP Grundlagen 2 25.01.2006 20:43:21
mysql und php problem schmidt PHP für Fortgeschrittene und Experten 9 31.10.2003 19:05:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:06:08 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt