Autor Zpráva
Matej
Profil *
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 *
<?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
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
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
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 *
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?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: