Array: Prüfen, ob Feld leer ist

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array: Prüfen, ob Feld leer ist

    Hi,

    Habe nun schon lange Google bemüht habe aber nichts gefunden. Also:

    Ich erstelle derzeit einen Multiple-Choice Test, der Daten aus der SQL Datenbank holt. Soweit alles gut. Nun habe ich Checkboxen gemacht, da es mehrere Antworten pro Frage geben soll.

    Diese stehen in einer while-Schleife, wo auch die Antworten herausgeholt werden, da es eine dynamische Anzahl an Antworten gibt:

    PHP-Code:
        while($id $count_antworten){ 
            
            
    $antwort_id_query "SELECT a.antwort_id FROM antworten a, fra_ant fa 
    WHERE fa.frage_id = '
    $frage_id' AND fa.antwort_id = a.antwort_id";
            
    $antwort_id_sql mysql_query($antwort_id_query); 
        
            
    $antworten_query "SELECT antwort FROM antworten a, fra_ant fa 
    WHERE fa.frage_id = '
    $frage_id' AND fa.antwort_id = a.antwort_id";
            
    $antworten_sql mysql_query($antworten_query);
            
    $antworten mysql_result($antworten_sql,$id); //antwort auslesen
            
    $antwort_id mysql_result($antwort_id_sql,$a_id); //antwort_id auslesen
            
    echo "<table border=\"0\"><tr valign=top><td align=left width=50><p>
    <input type = \"checkbox\" name = 'antwort["
    .$a."]'
     value = '
    $antwort_id'>&nbsp;".$nr.".</td><td align=left> ".$antworten."</td>
    </tr></table></option></p>"
    ;
            
    $id++; // hochzählen für Schleife
            
    $nr++; // hochzählen für Ausgabe
            
    $a_id++; // hochzählen für Auswahl der antwort_id
            
    $a++;
        } 
    So. Diese werden per Formular übergeben. Dies funktioniert auch soweit alles. Nur habe ich nun das Problem, wenn ich die erste Checkbox nicht aktiviere, bekomme ich die Fehlermeldung, dass es ein OffSet gibt weil er Feld 0 nicht finden konnte / es leer ist (is ja logisch). Hier mein Code aus der Datei, die die Sachen in die Datenbank einträgt:

    PHP-Code:
    if(ISSET($_POST["antwort"])){
        
        
    $counter_a 0;
        
    $anzahl_boxen count$_POST["antwort"] );
        
        while(
    $counter_a $count_antworten){
        
        if(
    $_POST["antwort"][$counter_a] == 0){
            
    $counter_a++;
        }
        if(
    $_POST["antwort"][$counter_a] != 0){
        
        
    $antwort_id $_POST["antwort"][$a];
        
        echo 
    $antwort_id;
        
        
    $fa_id_query "SELECT fa_id FROM fra_ant fa 
    WHERE '
    $frage_id' = fa.frage_id AND '$antwort_id' = fa.antwort_id";
        
    $fa_id_sql mysql_query($fa_id_query);
        
    $fa_id mysql_result($fa_id_sql,0);
        
        
    $eintragen_query "INSERT INTO auswahl VALUES ('','$fa_id','','$frage_nr','')";
        
    $eintragen_sql mysql_query($eintragen_query); // eintragen der Auswahl in DB
        
    Antwort
        $a
    ++;
        
    $counter_a++;
        }
        }
        } 
    Die if-Abfrage mit == 0 bzw. != 0 waren mein letzter Versuch und funktionieren nicht. Ich würde ihn an der Stelle gerne überprüfen lassen, ob das Feld leer ist oder nicht.

    Ich hoffe ihr versteht mein Anliegen und könnt mir helfen
    Zuletzt geändert von Soedy; 05.10.2011, 11:49.

  • #2
    Bitte brich zuerst deinen Code um. Niemand scrollt gerne horizontal.

    Danke
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Entschuldigung, getan!

      Kommentar


      • #4
        Zitat von Soedy Beitrag anzeigen
        Entschuldigung, getan!
        Ich habee eine 1400er-Auflösung und muss noch immer scrollen. Denk bitte an die Leute, die keinen so großen Monitor wie du haben.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          ich hoffe, nun passts

          Kommentar


          • #6
            Warum machts du es nicht einfach so?
            HTML-Code:
            name = 'antwort[]'
            und durchläufst das ganz einfach mit einer for-Schleife.

            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Geile Sache, funktioniert (bis jetzt) wie ne 1

              Danke für die superschnelle Hilfe!

              Kommentar

              Lädt...
              X