Mailinglisten-Archive |
hier mal einige kleine proceduren fuer TCL (sollte auch mit PHP
kein Problem sein...
proc rawrand {} {
global lastvalue
# per Knuth 3.6:
# 65277 mod 8 = 5 (since 65536 is a power of 2)
# c/m = .5-(1/6)\sqrt{3}
# c = 0.21132*m = 13849, and should be odd.
set lastvalue [expr (65277*$lastvalue+13849)%65536]
set lastvalue [expr ($lastvalue+65536)%65536]
return $lastvalue
}
proc rand {base} {
set rr [rawrand]
return [expr ($rr*$base)/65536]
}
# knuth 3.4.2, algorithm P
proc shuffledeck {} {
global cardindex
set index 1
foreach suitname {heart club spade diamond} {
foreach cardname {ace 2 3 4 5 6 7 8 9 10 jack queen king} {
set cardindex($index) ${cardname}_$suitname
incr index
}
}
for {set j 52} {$j>1} {incr j -1} {
set k [expr [rand 52]+1]
set temp $cardindex($k)
set cardindex($k) $cardindex($j)
set cardindex($j) $temp
}
}
# jetzt gehts los...
set sql "select count(id) from tabelle"
mysqlsel $handle $sql
set rnd [mysqlnext $handle]
set lastvalue [clock seconds]
set zufall [rand $rnd]
set sql "select * from tabelle where id=$zufall"
mysqlsel $handle $sql
wie gesagt alles TCL ...
Mariano
-----Ursprüngliche Nachricht-----
Von: Martin Ackermann <webmaster_(at)_schmetterling.nu>
An: mysql-de_(at)_lists.4t2.com <mysql-de_(at)_lists.4t2.com>
Datum: Montag, 25. Oktober 1999 00:44
Betreff: Re: MySQL Ausgabe
>"Area.de InternetServices" schrieb:
>
>> > wie kann ich bei MySQL die Werte einer Tabelle per Zufall ausgeben ???
>> > Wie kann ich bei so einer Ausgabe einen Eintrag zurück halten ?
>> Ich schätze mal, daß du die Tabelle nicht irgendwo zufällig ausgeben
willst,
>> sondern nur unsortiert ?
>>
>> Du könntest da z.B. eine weitere Spalte mit Zufallszahlen erzeugen
>> (RND - Funktion) dann nach dieser sortieren.
>> Vor dem nächsten Abfragen müsstest du dann die Zeile mit
>> UPDATE wieder neu füllen - ist aber nicht gerade fein.
>
>Hallo,
>
>ORDER BY random oder so gibt es nicht ?
>Aber wie kriege ich Zufallszahlen hin bei Linux ?
>Die Zahlen beimZufall sind im selben Prozess doch die selben (bei Perl
>zumindest)...
>Und wie kann bei dieser Ausgabe einen Wert zurück halten ???
>
>Bye
>--
>Homepage : http://www.schmetterling.nu
>
>ICQ-UIN : 9559861
>
>
>---
>*** Abmelden von dieser Mailingliste funktioniert per E-Mail
>*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
>
>
---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive