tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
2741
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Mar 2002
    Ort
    Switzerland
    Beiträge
    189
    Hallo Zusammen

    Ich habe ein kleines Problem, welches für euch wohl ganz einfach zu lösen ist...

    Ich möchte aus einer mySQL-Datenbank alle Zeilen auslesen mit einer FOR-Schleife und sobald in einer Zeile alle Felder 0 sind (ausser das Feld 'ID'), die Nummer der Zeile ausgeben. Ich schaffs aber nicht. So habe ich es probiert:

    PHP-Code:
    <?php
    include("db_info.inc");
        
    for(
    $i=1;$i<6;$i++){
     
    mysql_connect ($host$user$password);
     
    mysql_select_db($database);
     
    $query mysql_query("SELECT q1,q2,q2_2,q3,q4,q5 FROM $tabelle WHERE id = '$i'");
     if(
    $query == 0) {
     
    $i $id_nr;
     echo 
    $id_nr;
     break;
     }
     
    mysql_close();
     }
    ?>
    Weiss jemand von euch, was da falsch läuft? Das "echo" gibt mir nämlich keine Nummer aus. In der Tabelle befinden sich übrigens 6 Zeilen wobei die letzten 3 komplett leer sind. Die Felder heissen id, q1, q2, q2_2, q3, q4, q5.

    Danke für eure Hilfe.
    Gruss Thomas
     

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    818
    Wenn ich dich richtig verstanden habe willst du also alle IDs ausgeben, bei denen die Felder keine Werte haben (Sprich 0) sind?`

    Wieso so umständlich?

    Probier folgenden mysql Statement (Gibt dir ein Array mit allen IDs zurück)

    PHP-Code:
    $arr mysql_fetch_array(mysql_query("SELECT id FROM $tabelle WHERE `q1` = 0 AND `q2` = 0 AND `q3` = 0 AND `q4` = 0 AND `q5` = 0"));

    // $arr[0]['ID'] = erste ID ohne werte in q1-q5
    // $arr[1]['ID'] = zweite ID ohne werte in q1-q5
    // .....
    // $arr[n]['ID'] = n-te ID ohne werte in q1-q5 
    hoffe geholfen zu haben
     
    man wird erwachsen ....

  3. #3
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Mein Vorschlag:
    PHP-Code:
    <?php
    include("db_info.inc");
        
    mysql_connect ($host$user$password);
    mysql_select_db($database);

    $res mysql_query("SELECT id
                        FROM 
    $tabelle 
                        WHERE q1=0 
                          AND q2=0
                          AND q2_2=0
                          AND q3=0
                          AND 4=0
                          AND q5=0"
    );
    while (
    $row mysql_fetch_assoc($res)) {
        echo 
    $row['id'];
        echo 
    "<br>\n";
    }
    ?>
    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  4. #4
    Registriert seit
    Mar 2002
    Ort
    Switzerland
    Beiträge
    189
    Hallo ihr Beiden,

    danke erst mal für die prompte Hilfe. Das Ganze leuchtet mir eigentlich ein, ich wusste halt nur nicht dass es auch einfach geht. Das Ziel wäre jetzt noch, nur die ID der ersten leeren Zeile auszugeben resp. in einer Variablen zu speichern. Wie müsste das gemacht werden?

    Danke und Gruss
    Thomas
     

  5. #5
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    PHP-Code:
    //...
    $res mysql_query("SELECT id
                        FROM 
    $tabelle
                        WHERE q1=0
                          AND q2=0
                          AND q2_2=0
                          AND q3=0
                          AND 4=0
                          AND q5=0
                        ORDER BY id
                        LIMIT 1"
    );
    //... 
    Du solltest Dich vielleicht mal mit dem MySQL-Handbuch auseinandersetzen

    Gruß hpvw
     
    Warum gibt (fast) keiner im Datenbankforum an, welches DBMS er benutzt?
    Ich gehe im Zweifelsfall ohne Nachfrage von MySQL > 4.1 i.V.m. PHP aus.
    Gewöhnt euch bitte auch an, die Fehlermeldung von mysql_error() zu posten.

  6. #6
    Registriert seit
    Mar 2002
    Ort
    Switzerland
    Beiträge
    189
    Alles klar, hat geklappt
    Ja du hast recht, das werde ich bestimmt wenn ich weiterfahren will...
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 06.12.10, 20:44
  2. Einzeiliges Eingabefeld mit Zeile in MySQl-Datenbank vergleichen
    Von altox-de im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 13.08.06, 14:30
  3. Antworten: 1
    Letzter Beitrag: 26.03.05, 16:14
  4. Antworten: 6
    Letzter Beitrag: 22.12.04, 23:20
  5. Daten aus mySQL-Tabelle mit Variable vergleichen
    Von online-markus im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.12.03, 18:39