Dagmar: while

Hallo,
warum geht dies:

$result = "SELECT * FROM Table WHERE (Eintrag > '1')";
$daten = mysql_query($result);
while($row = mysql_fetch_object($daten))
{
$variable = $row1->Eintrag;
echo"$variable";
}

und das nicht?

$result = "SELECT * FROM Table WHERE (Eintrag > '1')";
$daten = mysql_query($result);
while($row = mysql_fetch_object($daten))
{
$variable = $row1->Eintrag;
}
echo"$variable";

Ich möchte gern alle Einträge in einer Variablen weiterleiten. Was mach ich falsch?

  1. hi,

    warum geht dies:
    while($row = mysql_fetch_object($daten)) {
    $variable = $row1->Eintrag;
    echo"$variable"; }
    und das nicht?
    while($row = mysql_fetch_object($daten)) {
    $variable = $row1->Eintrag; }
    echo"$variable";

    Deine Variable "lebt" nur so lange, wie "while" gilt. Es ist keine globale Variable, das heißt, außerhalb von "while" existiert sie nicht mehr.

    Grüße aus Berlin

    Christoph S.

    1. Hallo Christoph,

      Deine Variable "lebt" nur so lange, wie "while" gilt. Es ist keine globale Variable, das heißt, außerhalb von "while" existiert sie nicht mehr.

      doch, die Variable existiert durchaus noch - nur wird eben nur der letzte Wert ausgegeben ...

      Grüße aus Nürnberg
      Tobias

      1. haste en bomb jeköpp?

      2. hi Tobias,

        Deine Variable "lebt" nur so lange, wie "while" gilt. Es ist keine globale Variable, das heißt, außerhalb von "while" existiert sie nicht mehr.
        doch, die Variable existiert durchaus noch - nur wird eben nur der letzte Wert ausgegeben ...

        korrekt. Der "letzte Wert" entspricht aber offensichtlich nicht dem, was Dagmar erwartet. Man muß sich gelegentlich über den Unterschied zwischen einer Variablen und einem Array informieren.

        Grüße aus Berlin

        Christoph S.

  2. Hallo Dagmar,

    $result = "SELECT * FROM Table WHERE (Eintrag > '1')";

    du kennst http://dclp-faq.de/q/q-sql-select.html, ja?

    $daten = mysql_query($result);
    while($row = mysql_fetch_object($daten))

    was haben eigentlich nur immer alle mit dem komischen mysql_fetch_object() - warum muss man immer unbedingt ein Objekt zurückbekommen - ein Array tut es doch völlig ...

    $variable = $row1->Eintrag;

    du meinst $row->Eintrag, oder? (ohne die 1)

    echo"$variable";

    die Anführungszeichen um $variable sind überflüssig.

    und das nicht?

    definiere "geht nicht" - beide Codeschnipsel geben was aus, nur eben nicht das gleiche.

    Ich möchte gern alle Einträge in einer Variablen weiterleiten.

    dann musst du sie eben zwischenspeichern, z.B. in einem Array (mit einem '$var[]=$row->Eintrag' in der Schleife hast du alle Daten in dem Array $var stehen).

    Grüße aus Nürnberg
    Tobias