| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 14.06.13 Prihlásený: 05.01.14 Príspevky: 7 Témy: 2 |
Ahoj, potreboval by som pomôcť s jedným mini programom. PHP rozumiem len okrajovo teda si s tym neviem rady. Ide o to že by som potreboval poradiť ako vyberať z tabulky v mysql nahodne zaznamy-po jednom ale bez opakovania. Vlstne taky generator nahodnych cicel v mojom pripade ID bez opakovania. Vďaka
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
A čo si zatiaľ skúsil? Ak potrebuješ "pomoc", je istý predpoklad, že by si mal vyvinúť nejakú snahu v prvom rade ty, aby ti vôbec bolo s čím pomáhať V opačnom prípade sa to volá "urobte to za mňa". Generovanie čísiel je dobre zdokumentované všade na nete, vytvorenie poľa s už vybranými ID tiež nie je problém a jednoduché zistenie, ktoré ID sa v tabuľke nachádzajú zvládne hádam hocikto...
_________________ C#, PHP, ... |
|
Registrovaný: 14.06.13 Prihlásený: 05.01.14 Príspevky: 7 Témy: 2 | Napísal autor témy chodnik: 14.06.2013 12:08 | |
|
no vyskusal so vyberat zaznamy s pouzitym order by rand() potom som si ID vybraneho zaznamu ulozil do inej tabulky a porovnaval ich. Jak tak to aj slo, no tabulku bolo treba premazavat a ked som pridal nove zaznamy do hlavnej tab bez premazania tej porovnavacej sa mi nezobrazovali. Ja viem je to dost trapne riesenie, preto som sem napisal ci by dakto neporadil nieco elegantnejsie co proste napisem a hotovo . skusim to cez tie polia ako radis ked narazim na problem napisem ...dikes zatial
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Ako to chceš potom použiť? Rozmýšľam, čo by bolo pre teba najlepšie riešenie...
_________________ C#, PHP, ... |
|
Registrovaný: 14.06.13 Prihlásený: 05.01.14 Príspevky: 7 Témy: 2 | Napísal autor témy chodnik: 14.06.2013 12:25 | |
|
Fuuu jak to chcem pouzit vpodstate nijak, povedzme mam 50 zaznamov stlacenim tlacidla vypisem nahodny zaznam dam next prejdem na dalsí, ďalej s tym nepotrebujem pracovat len zobrazenie v html dokumente.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Hmm, no problém vidím v tom, že potrebuješ nejaký spôsob uloženia údaja, ktoré záznamy sa už zobrazili. Pokiaľ by si urobil v php pole, to by sa samozrejme resetovalo pri každom requeste, čo nemá zmysel. Napadá ma napríklad vytvoriť si pole, ale uložiť ho do session. Tam by si vždy porovnal, či sa dané náhodné ID už použilo a ak nie, vypísal by si záznam userovi a do session by si pridal nové id. Treba samozrejme počítať s takou situáciou, kedy vyčerpáš všetky ID (najjednoduchšie asi porovnať počet ID v poli vs počet prvkov v tabuľke). Vtedy asi pole v session premazať a začať zasa od nuly.
Toto samozrejme len vtedy, ak potrebuješ zaručiť neopakovanie sa prvkov... Keby na tom až tak nezáležalo, proste by si si zistil max ID, to použil ako interval 0-max pri generovaní náhodného čísla a len by si potom overil, či daný záznam existuje a ak áno, ukázať userovi. Ak nie, generovať nové.
Neviem no, aspoň takto narýchlo... Určite by som sa snažil vyhnúť vytváraniu nových tabuliek, lebo to by si potreboval vytvoriť jednu pre každého usera, čo je pochopiteľne blbosť. Príde ti 100 000 užívateľov, budeš mať 100 000 tabuliek?
_________________ C#, PHP, ... |
|
Registrovaný: 14.06.13 Prihlásený: 05.01.14 Príspevky: 7 Témy: 2 | Napísal autor témy chodnik: 14.06.2013 12:47 | |
|
dakujem pokusim sa s tym nieco robit. ved preto som napisal, sam viem ze cez tie tabulky to proste nejde. To bolo len krajne riesenie bo na nic ine som neprisiel a aj tak nefungovalo 100%.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|