For Schleife mit integration ...

2Pac

Erfahrenes Mitglied
Hallo!

Ich möchte mit einer for schleife etwas updaten! Dazu sollen werte von 1-$variable in eine in verschiedene Zeilen geschrieben werden einer DB. Aber dies klappt nicht. Wenn ich das ganze in eine For Schleife packe dann schreibt er überall den letzten Wert hinein. Hat vielleicht jemand eine Idee? Oder kann mir jemand vielleicht sagen wie ich es sonst regeln könnte , eine auslosung vorzunehmen indem die Werte 1-$variable zufällig zu $variablen Usern zugeordnet werden sollen. Wäre echt sehr dankbar. MfG 2Pac
 
Ersteinmal, tschuldigung, aber die Ausdrucksweise lässt doch ein bisschen zu Wünschen übrig, musste das ganze 3 mal durchlesen.
Nächstes mal noch etwas mehr Mühe geben

---

Vom Prinzip her würde ich sagen, wenn ich dich richtig verstanden habe, dass es so gehen kann:

Du packst die Variablen die den Usern zugeordnet werden sollen in einen Array, bei jedem Schleifendurchlauf fügst du einem User ein Element hinzu und löscht es anschließend aus dem Array.
 
Zuletzt bearbeitet:
löschen wozu löschen?

Du hast mich falsch verstanden denke ich.

Pass auf ich habe sagen wir 4 Zeilen in ner Db.

Spieler1 Runde1 .......
Spieler2 Runde1 .......
Spieler3 Runde1 .......
Spieler4 Runde1 .......

So etwa sieht die Tabelle aus...Und in Runde1 soll jetzt aktualisiert werden und zwar wird die tabelle vorher mit rand() zufällig angeordnet. Und nun soll per for Schleife welche von $i=1 bis $i=$ende geht, in diese Zeilen die Zahlen von 1-$ende geschrieben werden. Vorher lese ich $ende mit num_rows aus... D.h. in diesem Fall 4. Das heisst wiederum er soll folgendes machen:

Spieler3 1
Spieler1 2
Spieler4 3
Spieler2 4

Natürlich kann die Reihenfolge der Spieler auch anders sein ist ja nur ein Beispiel! Aber in meiner Variante die ich gemacht habe klappt das nicht! Ich habe eine for Schleife und darin ein Update. Aber das geht ja auch vom Theoretischen nicht weil er schreibt ja dann erst die 1 dann die 2 dann die 3 dann die 4 rein und das in alle 4 Zeilen. Was heisst es stehen überall 4en drinne. Aber das ist ja nicht das was ich will :) Es soll Quasi ne Art Auslosung sein...

MfG 2PAc
 
So wie ich es gesagt hab kannst du es auch machen, du löscht in der Datenbank ja nichts.

In deinem fall sind die Spieler zufällige Reihenfolge, in meinem Fall sind die Zahlen, die du den Spielern zuordnest in zufälliger Reihenfolge.
$Query ist in dem Beispiel unten die zufällige Spielerauswahl.

Zu deinen Überlegungen, ganz simpel:
PHP:
for($i;$data=mysql_fetch_array($query);$i++)
{
  //Update eines Datensatzes (Spielers)
}
 
versteh ich jetzt ehrlich gesagt nicht :/

wieso machst du den fetch array in die for schleife? und wie würde das update dazu dann aussehen?
 
Du kannst das fetch_array in alle möglichen Schleifentypen einbauen, da es im Prinzip nichts anderes als eine Bedingung ist, es gibt entweder true oder false zurück.

Stell dir die for Schleife so vor:
Solange Daten aus der Datenbank kommen, führe den folgenden Code aus:

PHP:
$query=mysql_query("SELECT * FROM spieler ORDER BY RAND() LIMIT 1");
for($i=1;$data=mysql_fetch_array($query);$i++)
{
  @mysql_query("UPDATE tabelle SET gegner='$i' WHERE spieler='$data[spieler]'");
}

So sollte es eigendlich funktionieren...
 
Zuletzt bearbeitet:
Kein Problem, gern geschehen :)

Und nächstes mal etwas mehr an §12 der Netiquette halten ;)
Bin zwar zimperlich bei soetwas, aber hat schon seinen Sinn...
 
Zurück