ugrás a tartalomhoz

12 paraméter össze vissza elosztva a megjelenéskor. van ötletetek?

MSzilveszter · 2005. Szep. 13. (K), 01.40
Sziasztok!

Végülis amit meg szeretnék oldani, az az, hogy egy olyan táblából szedjek adatokat, ahol vannak fiuk (őket mondjuk fiu='1' cellával és tartalommal jelölök) és lányok (őket pedig mondjuk lany='1' értékkel). Közüllük vannak, akiket megakarok mutatni mindenkinek és vannak akiket nem (akiket igen, azokat mutat='1') jelölöm. Fontos, hogy így legyen.
A gond csak az, hogy 4 olyan sorba kell őket tenni, ahol 3an vannak soronként. első sorba lányok, másodikba fiúk, majd megint lányok és végül fiúk. És azok közt véletlenül kell hogy válogasson akik cimlapon vannak, de ne keverje a fiúkat és a lányokat, meg egyszerre csak egyszer mutassa őket. Sok féle módon próbálkoztam de még épkézláb megoldásra nem leltem, szerintem csak én vagyok a butuska...

Ha valaki tud nekem segíteni, azt nagyon köszönném.

Miklovicz Szilveszter
 
1

<Nincs cím>

toro · 2005. Szep. 13. (K), 08.47
- csinalj 1 'lany' mezot, ami:
=1 ha lany,
=0 ha fiu (udvariassagbol legyenek a lanyok 1-ek),
=NULL, ha valamiert nem tudod a nemet

- csinalj egy rand mezot (FLOAT)

- mielott lekerdezel kuldj ra a tablara egy UPDATE-t, ami a rand mezodet RAND() fuggveny ertekeivel tolti fel

- ket lekerdezes: lany = 1, mutat=1, ORDER BY rand LIMIT 0, 12 az egyik, ugyanilyen a masik, de a lany=0

kulso ciklus $kc 0-tol 1-ig
2 belso ciklus
lanyok lekerdezesre $lc 0-2
mysql_data_seek() mutatoja $kc*3+$lc
kiiratas

fiuk lekerdezesre $fc 0-2
mysql_data_seek() mutatoja $kc*3+$fc
kiiratas
2

minden lekérdezés előtt update?!

Nadi · 2005. Szep. 13. (K), 16.46
Nem hiszem, hogy jó ötlet lenne minden lekérdezés előtt frissíteni a táblát. Ez felesleges terhelés, és még a lockolásról is gondoskodni kell.

Most tartózkodnék a konkrét megvalósítástól, de az ötletem az alábbi:
Olvasd ki egy-egy tömbbe a kiírandó fiúk és lányok adatait, keverd össze a tömböket a shuffle() függvénnyel, és ezekből a tömbökből végezd a kiírásokat, így a véletlenszerűség és a rekordok egyszeri felhasználása is könnyen biztosítható.

Nadi
3

Köszönöm, dolgozom a "megvalósításon"...

MSzilveszter · 2005. Szep. 14. (Sze), 23.01
Sziasztok!

Elnézést, hogy nem válaszoltam eddig, csak 24 óráztam a "hivatalosabb" munkahelyemen.
Meg fogom próbálni ez utóbbit, mert gyorsabbnak tűnik. Meg a másikkal az a gondom, hogy ha frissíti minden alkalommal az adatbázist, akkor ha egyszerre ketten egy pillanatban klikkelnek a gombra, akkor nem keveredhet a dolog? Bár randomság okán ez nem annyira gond, de azért mégis...

Köszi a tippeket, majd írom, mit alkottam belőlle.


MSzilveszter - http://www.netnap.hu (már csak tulaj, nem programozó!) http://www.tarskozvetites.hu (reprograming folyamatban)