Zdravim začal jsem si hrát s php a myql a
podařilo se mi pres php ukladat data do databaze,
ale když se snažím tímto příkazem je z tama vytáhnout a vypsat tak mi to nefunguje.
Prosím poradte jak to opravit :)
Dík moc.
<?php
$db=xx;
$tb=yy;
$connect=mysql_connect("mysql.wz.cz","xx","yy");
mysql_select_db($db,$connect);
for($i=0;$i<21;$i++)
{
$vkaz1=mysql_query("SELECT Nick from $tb WHERE ID='$i'",$connect);
$vkaz2=mysql_query("SELECT Message from $tb WHERE ID='$i'",$connect);
echo 'Vkaz od :'.$vkaz1.' <br/>';
echo 'Napsal : '.$vkaz2.' <br/>';
}
?>
V prvé řadě funkce mysql_query() vrací ukazatel a ne data. Data z něj lze vypsat pomoci mysql_fetch_array($ukazatel_od_query). Ten sám o sobě vypíše pouze jeden řádek. Pro vypsání dalších řádků je potřeba tuto funkci zavolat znovu, proto se k tomu používají cykly.
V druhé řadě je potřeba porozumět problematice databází. Co je databáze, tabulka, sloupce, řádky. A jak se s ními pracuji.
Váš příklad je ukázkou toho, jak se to nemá dělat.
Správná podoba by měla být třeba takto:
<?php
$db=xx;
$tb=yy;
$connect=mysql_connect("mysql.wz.cz","xx","yy");
mysql_select_db($db,$connect);
$query = mysql_query("SELECT Nick,Message FROM $tb WHERE ID < 21",$connect);
while ( $radek = mysql_fetch_array($query) ) {
echo 'Vkaz od :'. $radek['Nick'] .' <br/>';
echo 'Napsal : '. $radek['Message'] .' <br/>';
}
?>
Vzhledem k charakteru pravděpodobného použití, bych SQL příkaz upravil na
$query = mysql_query("SELECT Nick,Message FROM $tb LIMIT 0,20",$connect);