IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @362
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Sprostredkovávajte hypotéky

Začnite sprostredkovávať hypotéky s úspešným hypotekárnym centrom! www.SprostredkovanieUverov.sk

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

Dajte zbohom celulitíde

S novinkami radu NIVEA Q10 plus môžete hodiť celulitídu za hlavu. www.NIVEA.sk

Zhoď nadbytočné kilogramy

Rýchlo. Jednoducho. Trvalo. Za pomoci naturálnych produktov ! www.janinblog.com

Zaregistruj sa!

Tvoj názor stojí peniaze. Vyplňte dotazník a zarobte si! www.marketagent.com

Nahodny vyber z db a TIMESTAMP

Zaslať odpoveď
AutorSpráva
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: Ut 11.12.07 19:50Odpovedať s citátomNávrat hore

cafte, ako sa da urobit nahodny vyber z db mam tabulku napr:
ID | iny_stlpec

a chcel by som vyberat z db nahodne podľa toho id myslel som ze by som urobil ze by som si zistil najprv kolko je id(ake je najvacsie) a potom by som dal napr ze rand(1,$max_id) alebo tak nejako a myslim ze sa to da aj nejako lahsie.
a inak pri tom id mi to uklada tak, ze ked vymazem napr. stvrty zaznam tak mi neprida id 4 k novemu zaznamu ale id 5 thx

a tiez by som chcel vediet ze ako sa vybera timestamp z db, ako sa pouziva...

cize moje otazky:
1; ako urobit nahodny vyber z db
2; ak urobit aby mi to stale ukladalo podla posledneho id
3; ako pouzivat timestamp

thx vsetkym

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
audiotrack
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 18.11.2006
Príspevky: 680

PríspevokZaslal: Ut 11.12.07 19:57Odpovedať s citátomNávrat hore

samozrejme, najprv si naštuduj relačné databázy a čo je primárny kľúč a pochopíš prečo je tomu tak.. nemôže dať id aké už bolo pridelené. A preto nie je ani dobré sa pozerať na maximálne id, pretože ak nájde najväčšie id rovné 500 a funkcia rand mi vygeneruje teda číslo z intervalu <1,500> tak mi môže vrátiť id ktoré neexistuje (napríklad tvoju štvorku). Preto si pozri počet riadkov, a z toho generuj náhodné číslo. Potom vyberieš ten riadok pomocou Limit
Zobraziť informácie o autoroviOdoslať súkromnú správu
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: Ut 11.12.07 20:05Odpovedať s citátomNávrat hore

no ved a ten pocet riadkov v tomto pripade bude 500 cize tam moze vybrat aj tu styrku cize co mam spravit aby mi to priradovalo tak ze ked nieco vymazem tak mi to da rovnake id ako malo to predtym?

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
audiotrack
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 18.11.2006
Príspevky: 680

PríspevokZaslal: Ut 11.12.07 20:08Odpovedať s citátomNávrat hore

vybere 4 ale nebude to brať ako id=4 ale ako riadok číslo 4 a to je rozdiel.
kód:
$vysledok=mysql_query( "Select * from tabulka limit rand(1,$max_id),1" );
Zobraziť informácie o autoroviOdoslať súkromnú správu
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: Ut 11.12.07 20:11Odpovedať s citátomNávrat hore

aha to ma nenapadlo ale takto som to myslel aj na zaciatku, no ked neni iny sposob tak neva a inac keby som chcel nahodne vyberat podla toho tak by bol trochu iny script ale ok , a ten TIMESTAMP?

//Edit:
ale ved keby som mal napr tych 500id a z toho 100by bolo vymazane ze napr mal by som 100-150 a potom 250-500 tak by bolo riadkov 400 a mohlo by vybrat aj 200 a take id nieje cize by nic nevybralo

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
audiotrack
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 18.11.2006
Príspevky: 680

PríspevokZaslal: Ut 11.12.07 20:21Odpovedať s citátomNávrat hore

pre timestamp si musíš zvoliť ako sa má výstup naformátovať, napríklad:
kód:
select date_format(now(),'%d-%m-%Y');


edit// k tvojmu editu: ešte raz si prečítaj čo som písal. Nevybere id rovné 100 ale riadok číslo 100 na ktorom môže byť id hocijaké. Mňa pri náhodnom výbere id vôbec netrápi, trápi má koľko mám riadkov, a jeden z nich si vezmem nech už má id aké chce
Zobraziť informácie o autoroviOdoslať súkromnú správu
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: Ut 11.12.07 20:32Odpovedať s citátomNávrat hore

ale z toho kodu neviem nijak raz vyjst, pls napis mi viac ako to mam pouzit kde to mam dat a tak, thx

a k tomu nahodnemu: no ved ale ked mi to vebere zo 400 riadkov riadok 200 tak tam nebude taky riadok, cize nic nezobrazi...dam ze select ... where id=radn(1,$max_id) a ked ten $max_id bude tych 200 a id 200 tam nebude tak mi nic nevyberie

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
audiotrack
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 18.11.2006
Príspevky: 680

PríspevokZaslal: Ut 11.12.07 20:37Odpovedať s citátomNávrat hore

Drako napísal:
ale z toho kodu neviem nijak raz vyjst, pls napis mi viac ako to mam pouzit kde to mam dat a tak, thx

a k tomu nahodnemu: no ved ale ked mi to vebere zo 400 riadkov riadok 200 tak tam nebude taky riadok, cize nic nezobrazi...dam ze select ... where id=radn(1,$max_id) a ked ten $max_id bude tych 200 a id 200 tam nebude tak mi nic nevyberie

ja som napísal toto:
kód:
 $vysledok=mysql_query( "Select * from tabulka limit rand(1,$max_id),1" );
vidíš mi tam niekde id=dačo? nie, prečo? lebo to tam nemá byť. Tak si už nechaj poradiť keď očividne do toho vidím viac ako ty, tým ťa nechcem urážať ale keď ti to sem už 3.krát musím písať tak už vážne pochybujem o tvojich shopnostiach. Ja nevyberam podľa id, ja vyberám náhodný riadok. Ešte raz polopatisticky:
Select * from tabulka = vyber celý riadok z tabuľky
limit rand(1,$max_id),1 = začni náhodným riadkom a zober jeden riadok

žiadna podmienka, žiadne id, nič.. omg
Zobraziť informácie o autoroviOdoslať súkromnú správu
suchy
Čestný člen
Čestný člen

Založený: 17.10.2006
Príspevky: 1770

PríspevokZaslal: Ut 11.12.07 20:38Odpovedať s citátomNávrat hore

daj select nieco from tabulka order by rand() limit 1;

_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Zobraziť informácie o autoroviOdoslať súkromnú správuICQJabberZobraziť autorove WWW stránky
Flety
Užívateľ
Užívateľ

Založený: 26.11.2006
Príspevky: 4109
Bydlisko: HE(Humenne) - KE
Vek: 18

PríspevokZaslal: Ut 11.12.07 20:58Odpovedať s citátomNávrat hore

ok thx audotrack tu jednotku na konci som si nevsimol mas u mna a suchy ako to bude fungovat??

_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkypeFacebookZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
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.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd