Autor | Zpráva | ||
---|---|---|---|
Hermann Profil |
#1 · Zasláno: 31. 5. 2010, 14:54:35
Určitě se to tu už probíralo ale já to prostě nechápu:) Potřebuju v jednoduchém objednacím systému vypisovat pouze určité výrobky (dle id jejich skupiny) a nedokážu vymyslet jak na to. S php si zatím moc netykám.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="main.css" type="text/css"> <link href="img/favicon.ico" rel="icon" type="image/png" /> <title>Hlavní strana</title> </head> <body> <img src="img/header-bkg.jpg" alt="header-bkg.jpg" title="header-bkg" border="0" height="113" width="100%"> <?php $spojeni = mysql_connect("", "", ""); if (!$spojeni) { echo "nepodařilo se připojit k mysql"; } else { mysql_select_db(""); mysql_query("set names 'utf8'"); $vypis_vse = mysql_query("SELECT zbozi.id, zbozi.kod_zbozi, zbozi.nazev_zbozi, zbozi.popis, zbozi.jednotkova_cena_prodejni, zbozi.obrazek, sklad.mnozstvi FROM zbozi inner join sklad on zbozi.id=sklad.id"); echo "<ul><a>Úvodní stránka</a> | <a>iPod</a> | <a>iPhone</a> | <a>MacBook</a> | <a>iMac</a> | <a href='registrace.html'>Registrace</a></ul>"; echo "<table>"; echo "<tr><td>Název zboží</td><td>Náhled</td><td>Množství</td><td>Cena</td><td>Kód zboží</td><td>Popis</td><td>Množství k nákupu</td></tr>"; $pocet = mysql_num_rows($vypis_vse); for($i=1;$i<=$pocet;$i++) { $zaznam=mysql_fetch_array($vypis_vse); echo "<tr><td>". $zaznam["nazev_zbozi"] . "</td><td>" . $zaznam["obrazek"]. "</td><td>" . $zaznam["mnozstvi"]. "</td><td>" . $zaznam["jednotkova_cena_prodejni"] . "</td><td>" . $zaznam["kod_zbozi"]. "</td><td>" . $zaznam["popis"]. " </td></tr>"; } echo "</table>"; } mysql_close(); ?> </body> </html> Nejspíš se podle toho na co kliknu v menu bude předávat ID skupiny výrobků do mysql dotazu ale netuším jak to napsat. Předem díky za pomoc:) |
||
Vojtíšek Profil * |
#2 · Zasláno: 31. 5. 2010, 16:48:12
Hermann:
Řádek 24 změň na: $vypis_vse = mysql_query("SELECT zbozi.id, zbozi.kod_zbozi, zbozi.nazev_zbozi, zbozi.popis, zbozi.jednotkova_cena_prodejni, zbozi.obrazek, sklad.mnozstvi FROM zbozi inner join sklad on zbozi.id=sklad.id ORDER BY id"); Snad mám pravdu. |
||
Hermann Profil |
#3 · Zasláno: 31. 5. 2010, 17:01:15
Jo tohle chápu. Ale potřebuju aby se zobrazila pouza ta patřičná kategorie (např když kliknu na Ipod zobrazí se pouze zboží v kategorii Ipody).
|
||
Vojtíšek Profil * |
#4 · Zasláno: 31. 5. 2010, 20:13:58
Hermann:
Řádek 26: <a href="?co=ipod">iPod</a> Řádek 24: $vypis_vse = mysql_query("SELECT zbozi.id, zbozi.kod_zbozi, zbozi.nazev_zbozi, zbozi.popis, zbozi.jednotkova_cena_prodejni, zbozi.obrazek, sklad.mnozstvi FROM zbozi inner join sklad on zbozi.id=sklad.id WHERE nazev.zbozi='$_GET[co]'"); |
||
joe Profil |
#5 · Zasláno: 1. 6. 2010, 01:21:09 · Upravil/a: joe
Tak jednak musíš mít nějaké kategorie, ty máš vypsané hezky jako odkazy, ale nikam ti nevedou. Jejich cíle by měly být něco jako:
<a href="?kategorie=1">iPod</a> <a href="?kategorie=2">iPhone</a> Potom v databázi tabulku kategorie a pak vazební tabulku produkt_kategorie Pak do SQL dotazu přidáš další JOIN právě na tuto vazební tabulku a podmínku do WHERE, kde id_kategorie = $idKategorie A to $idKategorie získáš takhle $idKategorie = isset($_GET['kategorie']) ? intval($_GET['kategorie']) : null; a pokud $idKategorie bude null, tak tam tu podmínku do SQL dotazu dávat nebudeš a vypíšeš třeba všechno zboží nezávisle na kategorii. Nebo si nejdřív ověříš, jestli taková kategorie vůbec existuje, což je lepší způsob. Vojtíšek zřejmě neví o SQL injenction. |
||
7.Host Profil * |
#6 · Zasláno: 1. 6. 2010, 17:27:09
nebo také $idKategorie = htmlspecialchars($_GET['kategorie']);
a nechápu proč vypisuješ sloupec po sloupci když to můžeš nahradit * (hvězdičkou) :) $vypis_vse = mysql_query("SELECT * FROM zbozi inner join sklad on zbozi.id=sklad.id"); samozřejmě pokud si chtěl vypsat jen určité sloupce tak ok. |
||
Časová prodleva: 14 let
|
0