Autor Zpráva
Thriller
Profil *
Zdravím...
Prosím vás jak mám opravit toto:
<h1 align=center>Nejnovější články</h1>
<?
$link=mysql_connect("SQL_HOST", "SQL_USERNAME", "SQL_PASSWORD");
mysql_select_db("SQL_DBNAME");
$vysledek=mysql_query("select nazev from clanky where id=1", $link);
$radku=mysql_num_rows($vysledek);
if ($radku==0) {
echo "Dosud nebyl publikován žádný článek";
}
else {
while ($zaznam=MySQL_Fetch_Array($vysledek)):
        echo $zaznam["clanek"]."<BR>\n";
      endwhile;
}
?>

Tak aby mi to vypsalo 5 nejnovějších článků
Alphard
Profil
select nazev from clanky order by id desc limit 5

výpis stejně jak tohle
while ($zaznam=MySQL_Fetch_Array($vysledek)):
echo $zaznam["clanek"]."<BR>\n";
endwhile;
Thriller
Profil *
No, upravil jsem to
$vysledek=mysql_query("select nazev from clanky order by id desc limit 5", $link);

Ale pořád mi to nechce zobrazit
Alphard
Profil
vybíráte nazev, ale v echo máte clanek, předpokládal jsem, že taková samozřejmosti upravíte
navíc, otestoval jste, jestli jste připojen k databázi? pokud je SQL_HOST apod. konstanta, tak v uvozovkách fungovat nebude
Thriller
Profil *
Připojení jsem měl dobré, akorát jsem neopravil ten článek, omlouvám se, ale MySQL se teprve učím.
Jen tak mimochodem kdybych chtěl vypsat i text článku, tak bych musel třeba název označit:
$nazev=mysql_query("select nazev from clanky order by id desc limit 5", $link);

a samotný text:
$text=mysql_query("select text from clanky order by id desc limit 5", $link);

a to samé i u autora a celý cyklus opakovat, nebo to jde nějak jednodušeji?
Alphard
Profil
sloupce lze oddělít čárkou
select nazev, text, autor from clanky order by id desc limit 5

všechny sloupce lze vybrat *, často to uvidíte na fóru kvůli zkracování,
select * from clanky order by id desc limit 5

ale myslím si, že vyjmenovávat sloupce, se kterými se pracuje, je dobrý zvyk
je to přehlednější a často efektivnější, jestli vás zajímá název, je blbost tahat celý text

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:

0