Autor | Zpráva | ||
---|---|---|---|
Matej Profil * |
#1 · Zasláno: 15. 9. 2015, 10:34:32
Ahojte, nie som nejak moc zdatný v PHP a preto sa obraciam na vás s 2 otázkami.
1. ako nastaviť výpis z DB tak aby náhodne vypisoval napr. 60 dát, ale s tým že by sa zároveň aj každý jeden opakoval napr. 3 krát v tom zozname 60 ... 2. a tiež by som potreboval poradiť ako pomocou PHP a DB spraviť kontrolu zadaných dát /porovnávanie zhody/ Vopred ďakujem za pomoc. |
||
mimochodec Profil |
Matej:
Možná začni popisem toho, co máš teď. Není jasné, na jaké úrovni potřebuješ poradit. |
||
Matej Profil * |
#3 · Zasláno: 15. 9. 2015, 11:19:39 · Upravil/a: Matej
<?php require_once("mysql.php"); $sql = mysql_query("SELECT * FROM file1 ORDER BY RAND() LIMIT 90"); while ($data = mysql_fetch_array($sql, MYSQL_BOTH)){ $test1= $data["test1"]; $test2= $data["test2"]; echo " <div class=\"tlac\">$preklad</div> "; } ?> Len toto, ten výpis bude slúžiť len pre moje potreby. Teraz mi to spravy výpis na 90 dát lenže každé je len raz. Data v tomto prípade ťahám z $test1. Tú kontrolu nemám vôbec. Ten $preklad je chyba tam má byť $test1 samozrejme |
||
lionel messi Profil |
#4 · Zasláno: 15. 9. 2015, 11:51:19
Matej:
„2. a tiež by som potreboval poradiť ako pomocou PHP a DB spraviť kontrolu zadaných dát /porovnávanie zhody/“ Pomocou klauzuly WHERE v SQL dotaze. |
||
mimochodec Profil |
#5 · Zasláno: 15. 9. 2015, 12:10:06
Matej:
„že by sa zároveň aj každý jeden opakoval napr. 3 krát“ Teď se tady půlce lidí udělá černo před očima, ale nejjednodušší mi připadá toto: (SELECT * FROM file1 LIMIT 30) UNION (SELECT * FROM file1 LIMIT 30) ORDER BY RAND() Korektní řešení je ten select udělat tak jak ho máš ty, načtená data nasypat v php do pole, pak 2x zamíchat a projet cyklem. Nejsem si jist, jestli přesně formuluješ. Opravdu potřebuješ v těch 60 položkách hodnoty z těch 30 a každou z nich 2x? |
||
tiso Profil |
#6 · Zasláno: 15. 9. 2015, 12:17:07
Matej: „60 dát, ale s tým že by sa zároveň aj každý jeden opakoval napr. 3 krát“
Tak si vytiahni 20 záznamov a výsledok vypíš 3x |
||
Matej Profil * |
#7 · Zasláno: 15. 9. 2015, 13:17:52 · Upravil/a: Matej
mimochodec:
„Opravdu potřebuješ v těch 60 položkách hodnoty z těch 30 a každou z nich 2x?“ Potrebujem, počet je jedno to bol len príklad proste určitý počet a z toho každé 3 a viac krát. mimochodec: „(SELECT * FROM file1 LIMIT 30) UNION (SELECT * FROM file1 LIMIT 30) ORDER BY RAND()“ Toto nefunguje, zobrazí len 30 náhodných dát. Oprava funguje. Ale ak by mal niekto ešte iné nápady, tak sa nebudem hnevať. mimochodec - ďakujem A ešte jedna taká technická otázka, keby som chcel vypísať len raz s prvým výpisom aj $test2, tak ako by sa to dalo? |
||
Časová prodleva: 9 let
|
0