Daten aus mySQL-Datenbank vergleichen

Dommas

Erfahrenes Mitglied
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:
<?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
 
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:
$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 :)
 
Mein Vorschlag:
PHP:
<?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
 
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
 
PHP:
//...
$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
 

Neue Beiträge

Zurück