Daten neu zuordnen

hi,

erstmal riesen Dank für die ausführliche Erklärung!
Aber bei deiner Lösung könnte es doch sein, dass es einen Eintrag erwischt der keine der Bedingungen erfüllt bzw. es könnte auch eine ID treffen die garnicht mehr existiert, da sie gelöscht wurde!
oder ich hab deine Lösung noch net richtig verstanden!

Was passiert denn genau hierbei:

inselkettenid IN ($ZAHL[1], $ZAHL[2], $ZAHL[3], $ZAHL[4], $ZAHL[5])"

dürfte doch bedeuten: "NIMM DIE EINTRÄGE BEI DENEN DIE ID MIT DEN ZAHLEN ÜBEREINSTIMMEN" oder?

Was aber wenn $ZAHL[1] z.B. den Wert 5 hat und die Zeile 5 die Bedingungen garnicht erfüllt, weil z.B. das Limit erreicht ist?

greatz
Franky
 
Also hier stehen die Zahlen aus der "for" - Schleife drin.

inselkettenid IN ($ZAHL[1], $ZAHL[2], $ZAHL[3], $ZAHL[4], $ZAHL[5])

sieht eigentlich so aus

inselkettenid IN (18, 84, 51, 63, 67)
nur als Beispiel.

Wenn du natürlich schon diverse ID's gelöscht hast wird es etwas schwieriger. Dann musst du noch abfangen ob irgendeine der Zufallszahlen nicht mehr als ID in deiner Datenbank existiert.
Wenn das der Fall ist musst du noch eine neue Zahl holen.

ACHTUNG: WENN eine der Zufallszahlen 2 mal vorkommt bekommst du einen Datensatz 2mal. Auch das musst du abfangen.

Gruß Jens
 
das war ja ne schnelle antwort :)

im normalfall dürften keine Inselketten gelöscht werden, aber um so sicherer das Script umso besser und angenehmer :)

Dann bliebe halt immernoch das Problem, dass man nicht weis ob die Zufallszahlen die Bedingungen erfüllen!
Somit wäre eine noch bessere Lösung, wenn man die Einträge die die Bedingungen nicht erfüllen vor der FOR-Schleife ausschließen könnte, so dass die Zahlen erst garnicht erreichnet werden
Dann könnte man sich das auch mit dem IN sparen...
Denn man könnte sagen, errechne eine Zufallszahl, die einen Wert zw. $min und $max hat und die Zahl darf nicht XYZ sein.

somit hätte man gleich die richtige ID, mit der das Script dann weiterarbeiten könnte

nur wie stellt man das am besten an?
soweit ich weis kann man ja am mt_rand() keine Angaben reinpacken, welche Zahlen es NICHT sein dürfen...

greatz
Franky
 
Zurück