Archiv verlassen und diese Seite im Standarddesign anzeigen : Wert zufällig zuweisen!
Hallo zusammen,
hab hier im Forum schon danach gesucht, aber leider nichts gefunden...oder
falsch geschaut!!!
Hab grad keine Idee wie ich folgendes hinbekomme:
ich habe eine Abfrage die sich auf zwei Spalten konzentrieren!
Spalte 1 = home
Spalte 2 = away
Wenn nun home == "0" und away =="0" ist, soll sich ein Wert per Zufall um
1 erhöht werden und dann "upgedatet" werden!
Also keine Abfrage mit RAND() sondern eher eine "Eingabe" (UPDATE) !!!
Kann mir jemand einen Ansatz dafür geben?!
mrhappiness 10-08-2004, 10:29 ein wert des datensatzes bei dem home und away 0 sind? also eine zufällige spalte?
nun entweder home oder away soll sich dann um 1 erhöhen bzw. die Zahl 1 reingeschrieben werden!
mrhappiness 10-08-2004, 10:54 dann pack die spaltennamen in ein array, wähle per zufall einen eintrag daraus aus und nimm das als spaltenname in deinem update
Haste dafür vielleicht sogar noch ein Beispiel?!
mrhappiness 10-08-2004, 11:24 $spalten = array('home', 'away');das ist der anfang
mit http://www.php.net/array-rand kannst du einen zufälligen eintrag aus dem array lesen (syntax im online-handbuch nachschlagen, hab's dir sogar schon verlinkt)
der rest sollte kinderspiel sein oder?
musst ja bloß noch beim UPDATE den zufällig ausgelesenen spaltennamen einsetzen
Mit dem zufälligen eintrag aus dem array auslesen war ich mir nicht
ganz sicher!
jetzt aber schon!
ansonsten war schon alles klar!
Vielen Dank!
Unter MySQL geht's auch mit einem einzigen SQL-Statement:
UPDATE tabelle SET home = IF((@dummy:=RAND()*2) <= 1, 1, 0), away = IF(@dummy > 1, 1, 0)
mrhappiness 10-08-2004, 13:47 wie war das mit dem poser? ;)
Ich glaube das ist etwas anderes wenn man so eine blödsinnige Entwicklung hier verfolgt ... und dann 'nen Hinweis für einen einfacheren Lösungsansatz gibt ...
Schliesslich habe ich euch 2 Stunden für einen Lösungsversuch Zeit gelassen ... mit mässigem Ergebnis ... !
Poser sind eher Leute, die sich darum schlagen innerhalb von Sekunden nach dem Posting als erster einen vollständigen Lösungsansatz zu liefern ... vollkommen abartig sowas ... !
mrhappiness 10-08-2004, 16:00 Original geschrieben von goth
Hinweis für einen einfacheren Lösungsansatzeinfacher zu verstehen aber nicht und wir wollen ja, dass die lieben user sich langsam weiterentwicklen und nicht irgendwas auslassen, weil's eleganter/einfacher geht nur um dann die nächste einfache frage zu haben
Poser sind eher Leute, die sich darum schlagen innerhalb von Sekunden nach dem Posting als erster einen vollständigen Lösungsansatz zu liefern ... vollkommen abartig sowas ... ! wie gut, dass ich so leute nicht kenne :)
Was ist an dem Statement jetzt wieder nicht zu verstehen ... ?!
UPDATE tabelle SET home = IF((@dummy:=RAND()*2) <= 1, 1, 0), away = IF(@dummy > 1, 1, 0)
Die einzelnen zuweisungen des Updates werden von Links nach Rechts abgearbeitet.
@dummy ist eine Uservariable ...
@dummy wird jetzt zunächst ein Wert RAND()*2 (*2 nur damit's schöner ist) zugewiesen ... dieser Wert wird mit <= 1 verglichen ... und ein entsprechender Wert (1 oder 0) dem Attribute home zugewiesen ...
Die Zuweisung an @dummy ganz einfach damit der ermittelte Wert auch in der 2. Zuweisung zur Verfügung steht ...
Die zweite Zuweisung ist vom Prinzip her das Gleiche ... nur das hier auf > 1 geprüft .... und dann der entsprechende Wert zugewiesen wird ...
Extrem simpel ... finde ich ... !
Original geschrieben von goth
Was ist an dem Statement jetzt wieder nicht zu verstehen ... ?!das meint happy doch gar nicht.
er meint eher, dass die user mal das eigene hirn anstrengen sollen und auch mal einen etwas umständlicheren lösungsweg verwenden dürfen.
wichtig ist doch erst einmal, dass sie verstehen, was sie eigentlich tun.
wenn sie einen optimalen lösungsweg vorgesetzt bekommen, lernen sie nichts.
Original geschrieben von Abraxax
lernen sie nichts.
die meisten lernen sowieso wenig dabei. Wenn sie die Lösung hinbekommen, dann ist das Teil schon gegessen. Beim nächsten Mal nehmen sie die Prügel des Forums in Kauf und werden sich anschliessend daran erinnert, dass sie das Problem schon mal gehabt haben ;)
Ja .. richtige P.I.S.A.-Mentalität ... !
@goth
und du hast die pisa-kids unterstützt .... schande über dich ... :p :D
Tja ... das muss wohl die Hitze sein ... habe heute nur 2 Ventilatoren im Büro ... :(
Original geschrieben von goth
habe heute nur 2 Ventilatoren im Büro du musst die auch anmachen ... :p
Hättest Du das nicht früher sagen können ... jetzt gehe ich gleich nach Hause ... !
Original geschrieben von goth
Die Zuweisung an @dummy ganz einfach damit der ermittelte Wert auch in der 2. Zuweisung zur Verfügung steht ...
ist das so'ne art wegwerf-alias, für spalten, die ich nachher nicht im ergebnis haben möchte?
cool, kannte ich auch noch nicht.
Genau ... deshalb hiess er ja auch @dummy ... man hätte Ihn auch @trash nennen können ... !
|