Norman: while-schleife per variable einsetzen, geht das?

Hi,

ich möchte eine Datenbank nach 2 verschiedenen Kriterien abfragen, entweder nach der 1. oder der 2.
Der komplette Rest des Scripts ist aber ansonsten identisch.
Deshalb wird im script einfach abgefragt, ob Kriterieum 1 oder 2 entscheidend ist.
Ungefähr so:

if (isset ($Kriterium1)) {
blabla ...
$result_k1=mysql_query($sql_k1);
} else {
blabla...
$result_k2=mysql_query($sql_k2);
}
Soweit sogut. Nun kommt der ganze Scrip-Plumperquatsch und irgendwann heiß es, die Variable $result_k1 bzw. $result_k2 zu verwerten, und zwar per while-schleife.

Deshalb hatte ich vor, in obige if-Abfrage jeweils eiine variable $schleife zu besetzen, und zwar mit der entsprechenden Schleife, die ich hier, weiter im Scrip brauche.
Also:
if (isset ($Kriterium1)) {
blabla ...
$result_k1=mysql_query($sql_k1);
$schleife="while ($row=mysql_fetch_row($result_k1)) {";
} else {
blabla...
$result_k2=mysql_query($sql_k2);
$schleife="while ($row=mysql_fetch_row($result_k2)) {";
}
Nun würde ich einfach $schleife einsetzen und gut ist. Der Rest des Scriptes sollte ja für beide identisch sein.

Aber denkste, es ginge im Script weiter mit:
if ($row[1] == "") {
$row[1] = "-none-";
}

und per Browser bekomme ich die Fehlermeldung:

Parse error: parse error, unexpected T_IF in /homepages/.../script.php on line 150

Was habe ich falsch gemacht??

Danke, Norman

  1. hi,

    if (isset ($Kriterium1)) {
    blabla ...
    $result_k1=mysql_query($sql_k1);
    } else {
    blabla...
    $result_k2=mysql_query($sql_k2);
    }

    du willst doch sowieso immer nur einen der beiden zweige ausführen - warum verwendest du dann nicht in _beiden_ fällen die _selbe_ variable, um das ergebnis aufzunehmen?

    Soweit sogut. Nun kommt der ganze Scrip-Plumperquatsch und irgendwann heiß es, die Variable $result_k1 bzw. $result_k2 zu verwerten, und zwar per while-schleife.

    wenn die auswertung innerhalb der schleifen identisch ist, kannst du dir das mit zwei schleifen sparen, wenn du oben nur eine varibale verwendest.

    Deshalb hatte ich vor, in obige if-Abfrage jeweils eiine variable $schleife zu besetzen, und zwar mit der entsprechenden Schleife, die ich hier, weiter im Scrip brauche.
    Also:
    if (isset ($Kriterium1)) {
    blabla ...
    $result_k1=mysql_query($sql_k1);
    $schleife="while ($row=mysql_fetch_row($result_k1)) {";

    nein, das ist auf jeden fall ein völlig untauglicher ansatz.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Arghs, deshalb mag ich dieses Forum.
      Nach etlichen Stunden vor dem Rechner komme ich nicht mehr auf solche Lösungsansätze, da steh ich auf dem Schlauch.

      Danke fürs Händchenhalten beim 'runtergehn vom Schlauch, wahsaga :-)

      Danke und Grüße

      Norman