Ahoj potřeboval bych pomoct.
potřebuju vyhledat v databázi uživatele a jejich jméno mail a mobil...Aby se to ukázalo v tabulce...Ale nějak mi to nejde dozbrazit...Poradíte mi někdo jak to napsat?Děkuju moc.
no to zalezi na tom, jaka je struktura databaze = jaky jsou tam tabulky a soupce v nich
tabulka je registrace a uzivatele
a sloupce jmeno,mobil,mail a text.
no a jaky sloupce jsou v jake tabulce?
Teda sorac tohle je jen v jedny....v registraci.Tu druhou sem smazal.
mno pak nechapu, v cem je problem. select z jedne tabulky je prece primitivni. nebo ti jde o neco jinyho nez sql dotaz?
Mám to takhle
$sql = mysql_query("SELECT jmeno,mail,text,mobil FROM registrace");
$ukz = mysql_fetch_array($sql);
Jenze nevim jak je mám zobrazit....
No to máš dobře, po tom prvnim příkazu máš v proměnné $sql výsledek toho dotazu. Nyní je potřeba to zpracovat příslušnejma funkcema, a pak to asi s pomocí příkazu echo vypsat. Ty sis (asi poměrně dobře) vybral funkci mysql_fetch_array(), takže by to vypadalo asi takhle:
$sql = mysql_query("SELECT jmeno,mail,text,mobil FROM registrace");
for($i=0;$i<mysql_num_rows($sql);$i++){
$ukz=mysql_fetch_array($sql);
echo $ukz["jmeno"]." ".$ukz["mail"]." ".$ukz["text"]." ".$ukz["mobil"]."<br>";
}
No a samozřejmě se to dá různě formátovat, ale to už je jen echo a HTML, to je snad zbytečný psát.
V prvni rade bych pouzil asi SELECT * , protoze stejne pouzijes vetsinu z tech udaju asi.
Omezovac bych si pak zadal v PHP jako $showkeys=array('jmeno'=>1,'mail'=>1,'text'=>1);
Ja to vyuzivam pro jazykovou verzi pro zahlavi tabulky, takze misto "1" tam mam jazyk, treba "Jmeno", viz:
http://peter-mlich.wz.cz/rs2/index.php?www=0&page=2
$dotaz = "SELECT * $dotaz1 $orderby LIMIT $from , $count2";
$vysl = mysql_query($dotaz) or die("<hr>Error: $dotaz<hr>".mysql_error());
$pocet = mysql_num_rows($vysl);
if ($pocet>0)
{
$showkeys=array('jmeno'=>1,'mail'=>1,'text'=>1);
$t="";
for ($i=0;$i<$pocet;$i++)
{
$row = mysql_fetch_array($vysl);
foreach ($showkeys as $key => $value)
{$t.="\n".$row[$key]."=".$row[$value];}
}
echo $t;
}
http://www.volny.cz/peter.mlich/www.htm#msub13
# (zdroj: minichat.txt)
# (zdroj: minichat.sql)
Děkuju moc.Moc mi to pomohlo.
nechapu, proc to tak strasne zeslozitujete tim for cyklem, kdyz
while($ukz=mysql_fetch_array($sql))
{
echo $ukz["jmeno"]." ".$ukz["mail"]." ".$ukz["text"]." ".$ukz["mobil"]."<br>";
}
je prece tak jednoduchy
proc nepouzivat select *: http://www.linuxsoft.cz/article.php?id_article=818 dole
Tonik (tonik.webz.cz) -> nechapu, proc to tak strasne zeslozitujes tim spojovanim :) Podivej, jednou na to prijdes, az budes delat neco vicejazycne.
$t="";
while($ukz=mysql_fetch_array($sql)) {$t.=implode(" ",$ukz)."<br>";}
echo $t;
jinak davanim do promenne si zvysujes rychlost vypsani. Oni se totiz casti souboru posilaji postupne a kdyz ti ten retezec neco prerusi, tak se cely SQL dotaz pravdepodobne musi zopakovat, aby mohl navazat ve vypsani roztrzeneho vysledku. Aspon tak se domnivam, pac se mi to vypisuje rychleji.
peta: poukazoval jsem na nesmyslny pouziti for cyklu s ukazkou nahrady while cyklem. ten zbytek jsem opsal od R.U.R.a, protoze zneni toho zbytku je z hlediska demonstrovane nahrady irelevantni. vis?