mysql INSERT

Programovacie jazyky, rady, poradňa...
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

mysql INSERT

Príspevok od používateľa etel »

mam takyto problem:
do db pridavam prispevky a v stlpci poradie musi byt poradie presne zasebou (1,2,3,4,5, ....) ako to mam spravit aby to pridavalo tak aby poradie islo zasebou ked s db sa prispevky aj vymazavaju ?? chapete ako to myslim??
:?
4JOKE
Light Star
Light Star
Príspevky: 269
Registrovaný: 10 sep 2005, 10:23

Re: mysql INSERT

Príspevok od používateľa 4JOKE »

etel napísal:mam takyto problem:
do db pridavam prispevky a v stlpci poradie musi byt poradie presne zasebou (1,2,3,4,5, ....) ako to mam spravit aby to pridavalo tak aby poradie islo zasebou ked s db sa prispevky aj vymazavaju ?? chapete ako to myslim??
:?
...myslis, ze ked vymazes 4. prispevok tak ostatne sa posunu a z 5. prispevku sa stane 4. ?
...tak ja by som to asi pekne rucne poposuval pri vymazani o 1 a je to...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

to čo preboha stváraš? prečo to musí byť zasebou? šak pri výpise si to usporiadaš, nie?
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

ide oto ze ked pouzijem funkciu RAND() tak mi nevypise ten riadok ktory mi ta funkia urci ...
4JOKE
Light Star
Light Star
Príspevky: 269
Registrovaný: 10 sep 2005, 10:23

Príspevok od používateľa 4JOKE »

etel napísal:ide oto ze ked pouzijem funkciu RAND() tak mi nevypise ten riadok ktory mi ta funkia urci ...
no rand ti vrati nahodne cislo nie nahodou?
...tak to myslis tak ze chces vypisat nahodny prispevok podla nahodne vygenerovaneho ID ?
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

hej rand ti vrati nahodne cislo ... a ked mam v db 500 prispevkov tak mi vygeneruje cislo medzi 0 az 500 ... Napr. mi vrati cislo 353 co ak prispevok s tymto ID bude uz vymazany??? preto potrebujem poradit ako mam napisat skript na pridavanie tak aby mi bud id alebo stlec poradie isli zaradom ...
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Príspevok od používateľa caesar1987 »

tak si daj rand = random.. a ak nebolo najdene tak

aj ke rand > maxid/2, tak rand-- dokedy nebol najdeny prispevok

else rand++ dokedy nebol najdeny
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

SELECT * FROM clanky limit $zaznam,1
stačí do premennej $zaznam vygenerovať to tvoje číslo a určite vždy vyberieš existujúci a nemusíš dúfať že cyklus bude náhodne vyberať veľa neexistujúcich zasebou, že caesar ;)
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

Kód: Vybrať všetko

$query = MySQL_Query("SELECT `id` FROM `obr_random`") or die(mysql_error());
$pocet = mysql_num_rows($query);
$zaznam = rand(1,$pocet);
$main_topic = MySQL_Query("SELECT * FROM `obr_random` limit $zaznam,1") or die(mysql_error());
myslel si to takto?? lebo takto mi to nefunguje
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

ja som ti to ukázal len názorne, nemôžeš to len tak capnúť do query ale myslel som že to vieš..

Kód: Vybrať všetko

$main_topic = MySQL_Query("SELECT * FROM `obr_random` limit ".$zaznam.",1") or die(mysql_error());
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

SELECT * FROM tabulka ORDER BY RAND() LIMIT 1

v mysql 4 to nebolo najefektivnejsie ale stale lepsie ako robit 2 dopyty.
Napísať odpoveď