Schleifen Auslese Problem

xthetronx

Erfahrenes Mitglied
Moin allerseits,

sorry für den Titel, aber mir fällt zur Zeit nichts besseres ein.

Ich habe mit php eine db ausgelesen und die Daten per while in ein Javascript (OnMouseDown) gepackt.
Diese werden bei Mausklick in einem Textfeld angezeigt.

PHP:
<?
// Auslesen des Kundenproblems
$kundenprob = mysql_query("SELECT * FROM tabproblem WHERE KundenNr = '$KundenNr'");
$anz = mysql_num_rows($kundenprob);
while ($zeile2 = mysql_fetch_row($kundenprob)){

// Auslesen der Aktionen
$aktionen  = mysql_query("SELECT * FROM tabaktionaus WHERE Prod_ID = '$zeile2[0]'");
$anz4      = mysql_num_rows($aktionen);
print($anz4);					
?>

<tr class="tabInhalt">
<td OnMouseDown='JavaScript:document.Frm1.TF_CallSchliessen.value="<? print(date("d.m.Y",$zeile2[8])) ?>";'><u><? print(date("d.m.Y",$zeile2[9])) ?></u></td>
<td><? print(date("d.m.Y",$zeile2[8]))?></td>
<?
}
?>

Das klappt auch soweit ganz gut, allerdings stehe ich jetzt vor einem ziemlich schwierigem Problem. Zumindest für mich!

Als nächstes sollen die Aktionen aus einer weiteren Tabelle ausgelesen werden.
Für einen Kunden können aber mehrere Aktionen vorhanden sein.
Setze ich die 2. Abfrage in eine while-Schleife, wird die erste abgebrochen.
Ich habe überlegt, die Abfrage in eine Function zu packen und das auslesen der Aktionen in einem Array zu speichern.
Allerdings muss ich gestehen, dass ich nicht genau weiss wie ich das am besten machen soll. :rolleyes:

Ich hoffe ich konnte mein Problem verständlich machen und ihr könnt mir helfen.

Vielen Dank

Torsten
 
Die Überlegung ist schon ganz richtig, da die 2. Abfrage in der While-Schleife die erste zerstört. Du trägst die erste Abfrage einfach in ein Array ein. Dazu folgende allgemeine Syntax:
PHP:
$result = mysql_query ("SELECT * FROM tabelle");
if ($result)
{
  while ($dummy = mysql_fetch_row ($result))
  {
    $abfrage1[] = $dummy;
  }
}

Danach kannst du alle Daten wieder so auslesen;
PHP:
foreach ($abfrage1 as $zeile)
{
  echo $zeile["Feldname"];
}

// oder auch
echo $abfrage[0]["Feldname"];
echo $abfrage[1]["Feldname"];
 
Hallo Karl,

danke für Deinen guten Denkanstoss.

Ich werde aber wohl vorerst auf mein Vorhaben mit den Aktionen verzichten.
So wie ich es sehe, komme ich um ein neuladen der Seite nicht herum, da ich nicht wissen kann, wieviele Aktionen ausgelesen werden und ich demnach auch nicht die Textfelder bestimmen kann, welche ich schon im html code vorgegeben habe.
Auf ein neuladen der Seite möchte ich aber verzichten.

Ich denke ich werde mich erstmal mit der letzten eingetragenen Aktion zufriedengeben.

Gruß

Torsten
 
Zurück