MySQL 5.0 - Felder mit gleichem Eintrag anzeigen

MatMagic

Erfahrenes Mitglied
Hallo Community !
Da hab ich leider gleich das nächste Problem :-(

Zugang zu den Daten soll man nur bekommen wenn man eine Seriennummer eingibt die zu einem Typ passt. Das funktioniert auch, aber ich kriege es nicht hin alle Datensätze welche die gleiche Seriennummer haben anzeigen zu lassen.

CODESCHNIPSEL:
Code:
$kz = $_REQUEST["kz1"] . "-" . $_REQUEST["kz2"] . "/" . $_REQUEST["kz3"];
$typ = $_REQUEST["typ"];

$sql = "SELECT Id, Seriennummer, Modell FROM tbl_serial WHERE Seriennummer = '$kz' AND typ = '$typ'";   
	
$result = mysql_query ($sql);  
if (mysql_num_rows ($result) > 0)  
{  
   // Daten ins Array auslesen.  
   $data = mysql_fetch_array ($result);  
   // Sessionvars erstellen und registrieren  
   $_SESSION["user_id"] = $data["Id"];  
   $_SESSION["user_seriennummer"] = $data["Seriennummer"];
   $_SESSION["user_modell"] = $data["Modell"];   

header ("Location: intern.php");  
}  
else  
{  
header ("Location: formular.php?fehler=1");  
}
$kz1 - 3 und $typ kommen aus einem vorherigen Formular in dem 3 Seriennummerstücke und der Typ eingegeben werden. Die Seriennummer $kz wird in diesem Codeteil aus den 3 Teilstücken zusammengesetzt.

Wurde Seriennummer und richtiger Typ dazu eingegeben (ansonsten Fehlermeldung) bekomme ich auf der "intern.php" die Werte ID, Seriennummer und Modell übergeben....aber nur für ein Feld in der Tabelle. In der Tabelle gibt es aber mehrere Felder mit der gleichen Seriennummer - und ich möchte gerne auf der "intern.php" alle Modelle (Typen) mit der gleichen Seriennummer ausgegeben bekommen.

Meine Frage: Wie kann ich beim abfragen der Datenbank ALLE Felder auslesen in denen die gleiche Seriennummer steht und diese in Variablen (mit Arrays?) abspeichern damit ich auf meiner "intern.php" alle Daten anzeigen lassen kann ? :(

**EDIT**
Nachdem ich eine Nacht drüber geschlafen habe - war ich dann in der Lage das Problem selbst zu lösen :)
*******
 
Zuletzt bearbeitet:
MatMagic hat gesagt.:
Nachdem ich eine Nacht drüber geschlafen habe - war ich dann in der Lage das Problem selbst zu lösen :)
*******
Verrätst du uns auch wie?
Wenn jemand das selbe Problem hat, brauch er dafür nicht extra einen neuen Thread aufmachen ;)
 
Ja und weil ich keine Zeit hatte - bin ich jetzt ja wieder da um die Lösung zu posten. ;)
Mit dieser netten Zeile while($row = mysql_fetch_assoc($result)) und ein einer entsprechenden Schleife:

Code:
$kz = $_REQUEST["kz1"] . "-" . $_REQUEST["kz2"] . "/" . $_REQUEST["kz3"];
$typ = $_REQUEST["typ"];

$sql = "SELECT ID, Seriennummer, Modell FROM tbl_serial WHERE Seriennummer = '$kz' AND typ = '$typ'";   
	
$result = mysql_query ($sql); 
$zaehler = 0;
while($row = mysql_fetch_assoc($result)) {
$id[$zaehler] = $row[ID];
$Seriennummer[$zaehler] = $row[Seriennummer];
$Modell[$zaehler] = $row[Modell];
$zaehler ++;
} 
if (mysql_num_rows ($result) > 0)  
{  
// Benutzerdaten in ein Array auslesen.  
$data = mysql_fetch_array ($result);
$zz = 0;
while ($zz < $zaehler) {  
   $_SESSION["user_id[$zz]"] = $id[$zz];  
   $_SESSION["user_seriennummer[$zz]"] = $Seriennummer[$zz];
   $_SESSION["user_modell[$zz]"] = $Modell[$zz];   
   $zz ++;
}
header ("Location: intern.php");  
}  
else  
{  
header ("Location: formular.php?fehler=1");  
}

(!) Ich bin ein "Learning by doing"-Progger - deswegen gibt es 100%ig eine bessere Lösung - aber funktionieren tut es so auch. :)
 
Zuletzt bearbeitet:
Danke dir :D

mir stellt sich nur noch eine Frage:
Was hat das mit SQL bzw. Datenbanken zu tun? Ist das nicht eher ein Fall für's php Forum?
Da würdest du bestimmt auch ein paar Tips bekommen, wie du dein Skript verbessern kannst ;)
 
Zurück