Schleife
ricardillo
- php
hallo an alle.
ich habe folgendes Problemm, ich habe eine schleife gemacht, um Daten in ein Datenbank zu speichern. alles lauft super die daten werden gut gespeichert. das problemm kommt erst wenn ich diese Daten rausholen will. kann jemmand mir helfen.
$x=1;
while($x < 11): $x++;
$sqlzeile&&$x =
"SELECT
Ofen_name, Regal, Chargen_typ, Chargen_No, Stueckzahl, Start_zeit, End_zeit from Baken_Belegung
Where Ofen_name = 'BAKE1' and Regal = $x and Status = 'Im_Ofen'
order by id desc";
$connect->dbSelect($sqlzeile&&$x);
$last_inserted&&$x = $connect->werte;
endwhile;
<Tabelle>
<tr>
<td>
<input type="text" size="5" style="background-color:#FFCC66; name="zelle11" value="<? @print $last_inserted1[0][0];?>">
</td>
<td >
<input type="text" size="8" style="background-color:#FFCC66; name="zelle12" value="<? @print $last_inserted1[0][1];?>">
</td>
<td >
<input type="text" size="15" style="background-color:#FFCC66; name="zelle13" value="<? @print $last_inserted1[0][2];?>">
</td>
</tr>
<tr>
<td >
<input type="text" size="5" name="zelle21" value="<? @print $last_inserted2[0][0];?>">
</td>
<td >
<input type="text" size="8" name="zelle22" value="<? @print $last_inserted2[0][1];?>">
</td>
<td >
<input type="text" size="15" name="zelle23" value="<? @print $last_inserted2[0][2];?>">
</td>
</tr>
</tabelle>
ich glaube das problemm lieg an die $last_inserted Variable.
Hi,
schreib mal als ersten Befehl
error_reporting(E_ALL);
dann bekommst du beim Ausführen deines Scriptes alle Fehler und Warnungen zu sehen. Dabei sollte vor allem auffallen, dass
$sqlzeile&&$x
kein gültiger Variablennname ist. Weiterhin solltest du dir die Fehlermeldungen der Datenbank anzeigen lassen, falls eine Abfrage gescheitert ist. Das sollte in etwa so aussehen:
<?php
if (false == $connect->dbSelect($sqlzeile&&$x))
{
// Fehlermeldung ausgeben und Script beenden
}
?>
die Fehlermeldung bekommst du unter z.B. MySQL durch mysql_error(). Da du eine Klasse benutzt, bekommst du sie vermutlich auch durch $connect->error() oder sie steht in $connect->error, o.ä.
Generell ist noch anzumerken, dass es auf keinen Fall eine gute Idee ist, für jede einzelne Zeile ein neues Select-Statement abzusetzen. Deine Abfragen kannst du gut durch nur eine ersetzen, indem du einen Bereich für 'Regal' angibst, z.B.:
SELECT
Ofen_name, Regal, Chargen_typ, Chargen_No, Stueckzahl, Start_zeit, End_zeit
FROM
Baken_Belegung
WHERE
((Ofen_name = 'BAKE1') AND
(Regal >= 2) AND
(Regal <= 10) AND
(Status = 'Im_Ofen'))
ORDER BY
id DESC
wichtiger ist aber erstmal, syntaktisch korrekten Code zu schreiben.
Gruß,
Andreas.