Datensätze erneut (modifiziert) anzeigen
Maik W. aus E.
- php
Tach zusammen,
Ich lasse mit
while ($daten = mysql_fetch_array($result))
ein array aus der Datenbank auslesen und anzeigen. Jedem Datensatz gebe ich mit
<input type="checkbox" checked name="druck[]" value="<? echo $daten[id] ?>">
eine Checkbox mit, über die bestimmt werden soll, ob der Datensatz mit in die nächste Ansicht übernommen werden soll, oder nicht.
Die ganze Ausgabe laß ich von einem Formular umschließen, das $PHP_SELF aufruft.
Soviel zur Vorrede, mein Problem entsteht, wenn ich neu ausgeben lassen will,
bisher habe ich
if (isset ($druck)&& is_array ($daten)) {
foreach ($daten as $id => $wert) {
if (in_array ($id, $druck)){
... echo $daten["name"], etc...
zwar die richtige Anzahl, aber immer nur den ersten Datensatz ausgegeben bekommen...
Ich habe es auch schon mit while Schleifen probiert, ich glaube allerdings nicht, daß es daran liegt...
Meiner Meinung nach müßte der Befehlungefähr so lauten:
echo $daten von "name" von "id" , aber wie notiere ich das ?
Oder mache ich da einen grundsätzlichen Denkfehler?
Danke für Eure Geduld
Maik
Hi Maik,
ich bin mir nicht sicher, ob ich dein Problem verstehe.
Try this at home:
Entweder du entnimmst dem Result immer nur einen Datensatz:
while($daten = mysql_fetch_row($result))
oder du iterierst durch $daten hindurch.
Offensichtlich wird deine while-Schleife nur einmal ausgeführt, da $daten bereits alle Datensätze enthält. Also muss du einen Counter (nennen wir ihn $i) mitschleifen.
Der Aufruf muss dann lauten $daten[$i]["name"]
Irgendwo kommt dann noch ein $i++ hin.
Check mal, ob das geht.
Gruß
Hi Maik,
Hi Sascha,
ich bin mir nicht sicher, ob ich dein Problem verstehe.
Try this at home:
Entweder du entnimmst dem Result immer nur einen Datensatz:
while($daten = mysql_fetch_row($result))
habe ich gemacht, allerdings werden dann _immer alle_ Datensätze ausgegeben, denn ich mußte
if (in_array ($id, $druck))
abklemmen, denn $id ist nicht mehr definiert...
oder du iterierst durch $daten hindurch.
Offensichtlich wird deine while-Schleife nur einmal ausgeführt, da $daten bereits alle Datensätze enthält. Also muss du einen Counter (nennen wir ihn $i) mitschleifen.
Der Aufruf muss dann lauten $daten[$i]["name"]
Irgendwo kommt dann noch ein $i++ hin.
Das habe ich auch ausprobiert, allerdings komme ich nicht weiter als vorher, es bleibt beim ersten Datensatz in der richtigen Anzahl.
Das hat irgendwie nicht geholfen...
Grüße
Maik
Hi Maik.
Könntest du die ganze Schleife inkl. SQL-Abfrage posten?
Vielleicht läßt sich dann besser verstehen, wo der Fehler liegt.
Gruß
Sascha
wie jeder fleissige web-worker *g* muß ich auch ab und zu mal meine daten auf cd brennen, damit sie beim nächsten computer-absturz nicht auch verloren gehen...
kann mir jemand einen free cd burner empfehlen?
ich wollte eigentlich FIREBURNER empfehlen, habe vorher aber nochmal deren hp nachgeschaut ... die wollen jetzt kohle dafür :-( ...
ich kann dir ´ne ältere version (1.06) davon per mail schicken, die läuft bei mir (w2k) tadellos, unter millenium gibts probleme ...