Autor Zpráva
Andrew19
Profil
DObrý den měl bych dotaz mám výpis z databáze který vypadá takto :

$vysledek=mysql_query("select * from skripta ORDER BY nazev ");
while ($zaznam=mysql_fetch_array($vysledek) ):
echo "<table width=600 border=0>";
echo "<tr>";
echo "<td width=250>".$zaznam["nazev"]."</td>";
echo "<td width=250>".$zaznam["autor"]."</td>";
echo "<td width=50>".$zaznam["cena"]."</td>";
echo "</tr>";
echo "</table>";
endwhile;
?>

Jenže potřeboval aby pole název byl odkaz a při klepnutí na něj aby se otevřela nová stránka, která by obsahovala všechny informace a né jenom zkrácený výpis tří hodnot:-(

Děkuji předem za radu
Andrew19
Profil
slovem hodnot jsem myslel sloupce v tabulce né jednotlivé hodnoty pardón
djlj
Profil
No tak z toho udělej odkaz (<a href=...>) a předej si v adrese identifikátor toho, co chceš zobrazit. Jsou to základy php, koukni na http://linuxsoft.cz/php/ nebo důkladně prohledej toto fórum.
nightfish
Profil
Jenže potřeboval aby pole název byl odkaz a při klepnutí na něj aby se otevřela nová stránka
odkaz se dělá pomocí HTML značky <a href=...>
odkaz lze nasměrovat na další skript, kterému přes parametr v URL určíme, kterou položku chceme vypsat
a tento skript na základě URL v proměnné vypíše, co uzná za vhodné
jako parametr předávaný v URL doporučuji zvolit nějakou unikátní hodnotu, většinou označované jako "id"
Alphard
Profil
trošku to rozepíši

v tabulce bude unikátní sloupec, zpravidla id číselného typu a auto_increment
při vypisování kvůli efektivitě ber jenom to, co potřebuješ: select id, nazev, autor, cena from skripta ORDER BY nazev

potom při výpisu: echo "<td width=250><a href='skripta.php?id=".$zaznam['id]."'>".$zaznam["nazev"]."</a></td>";

a na skripta.php
// ošetření $_GET['id']
select * from skripta where id = $id
Andrew19
Profil
Alphard co mylíš přesně ošetřením $_GET['id']
Tomáš Hanus
Profil
Andrew19
Ošetření toho, jestli to id existuje
Béďa
Profil *
sql injection

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