ricardillo: Schleife

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.

  1. 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.