Autor | Zpráva | ||
---|---|---|---|
Musilda Profil |
#1 · Zasláno: 30. 10. 2008, 23:06:40
Dobrý večer
potřebuji poradit. Už do toho koukám dvě hodiny a nejsem schopen najít chybu. Stále nemohu vytvořit tabulku. if (isset($_POST['pridat_kosik'])) { require ("spojeni.php"); $nova_tab="CREATE TABLE musilda (id INT (11) NOT NULL AUTO_INCREMENT, kod INT(10) NOT NULL, nazev_vyrobku VARCHAR(255) NOT NULL, vyrobce VARCHAR(255) NOT NULL, kratky_popis VARCHAR(255) NOT NULL, moc INT(10) NOT NULL, ks INT(10) NOT NULL )"; $vysledek=mysql_query($nova_tab); } |
||
joe Profil |
#2 · Zasláno: 30. 10. 2008, 23:16:53
V tabulce musíš definovat primární klíč.
CREATE TABLE musilda ( id INT (11) NOT NULL AUTO_INCREMENT, kod INT(10) NOT NULL, nazev_vyrobku VARCHAR(255) NOT NULL, vyrobce VARCHAR(255) NOT NULL, kratky_popis VARCHAR(255) NOT NULL, moc INT(10) NOT NULL, ks INT(10) NOT NULL, PRIMARY KEY(id)) |
||
Musilda Profil |
#3 · Zasláno: 30. 10. 2008, 23:18:25
Děkuji
myslel jsem si že to mohu udělat později. |
||
Tomasds Profil |
#4 · Zasláno: 30. 10. 2008, 23:21:39
Jestli přidání košíku znamená vytvoření nové tabulky, tak je něco hodně špatně.
Kdybych dělal shop, tak bych měl tabulku "kosiky" a do ní přidával řádky v momentu, kdy se má vytvořit košík. Potom bych měl druhou tabulku, kde by bylo ID ID_kosiku ID_zbozi pocet_kusu Ono by to asi nestačilo, to by bylo na hlubší analýzu. Ale aby nový košík znamenal novou tabulku, to opravdu ne. |
||
BetaCam Profil |
#5 · Zasláno: 31. 10. 2008, 01:57:25 · Upravil/a: BetaCam
Tomasds
„Jestli přidání košíku znamená vytvoření nové tabulky, tak je něco hodně špatně. “ No ideální řešení to není ale proti gustu :) „Kdybych dělal shop, tak bych měl tabulku "kosiky" a do ní přidával řádky v momentu, kdy se má vytvořit košík. Potom bych měl druhou tabulku, kde by bylo ID ID_kosiku ID_zbozi pocet_kusu“ Nebo to budeš ukládat do session :) To tvé řešení má také totiž takovou jednu né zrovna vtipnou vlastnost. Modelovej příklad : Základ : - Obchod 200 zákazníků denně - 100 z nich dokončí objednávku - 100 z nich ji nedokončí ( vypne prohlížeč, odejde na jinou stánku atd. ) - každý zákazník průměrně 4 věci v košíku - obchod běží 100 dní Výsledek - V tabulce "kosiky" je 100 * 100 = 10000 řádků, které sou k ničemu. - V tabulce "kosiky_zbozi" je 100 * 100 * 4 = 40000 řádků které sou k ničemu Samozdřejmě se to dá ošetřit a nepotřebné řádky nejakým způsobem z databáze odstraňovat, ale proč je tam vlastně vkládat když s velkou pravděpodobností tam bude 80% řádků které sou úplně k ničemu?Úkládat takovéto informace u bežných neregistrovaných uživatelů nemá valný smysl. U registrovaných uživatelů je situace samozdřejmě jiná, ale u tzv. "kolemjdoucích" je takovéto ukládání košíku zbytečné. |
||
Časová prodleva: 11 dní
|
|||
Jarek001 Profil |
#6 · Zasláno: 10. 11. 2008, 21:50:23
Ahoj, nemohli by jste mi někdo poradit něco ohledně MySQL? Potřebuju vytvořit menší obchůdek a ať hledám, kde hledám, nikde na netu nic o tvorbě eshopu není. Potřebuju abych tam měl tohle:
Registrace Přidání do košíku Košík Objednávka Dokončení objednávky Tu registraci už mám trochu vytvořenou, takže mi už pouze schází to zbyle... Poradí někdo? S MySQL začínám... :)) |
||
klingac Profil |
#7 · Zasláno: 10. 11. 2008, 22:16:22
co tak skusit oscommerce?
|
||
Jarek001 Profil |
#8 · Zasláno: 10. 11. 2008, 22:23:21
No do toho se mi nechce, protože to potřebuju vložit do již vytvořené stránky a navíc se jedná o 6výrobků
|
||
BetaCam Profil |
#9 · Zasláno: 10. 11. 2008, 22:42:43
Jarek001
No a s čim přesně potřebuješ poradit?? |
||
Jarek001 Profil |
#10 · Zasláno: 10. 11. 2008, 23:05:30
Potřebuju poradit nějaký script kterým přidám zboží do košíku a ještě jeden kterým košík načtu.
Našel jsem v adresáři něco takového, ale už mi k tomu chybí ten další soubor...: <?php $kolik = $_POST['kolik']; $kod = $_POST['kod']; $nazev = $_POST['nazev']; $popis = $_POST['popis']; $vel_cena = $_POST['vel_cena']; $pridat = $_POST['pridat']; $sortiment = $_POST['sortiment']; list($velikost,$cena) = explode('&&',$vel_cena); $key4 = $kod . $velikost . $cena . $barva; $chyba = false; if (!ereg('^[0-9]+$',$kolik)) { // platné množství? echo "<div>Množství obsahuje neplatné znaky $kolik..."; $chyba = true; } elseif ($kolik <= 0) { echo "<div>Neplatné množství $kolik..."; echo '<br>...přejete-li si změnit nebo zrušit položky v košíku, můžete otevřít košík a provést úpravy tam.</div>'; $chyba = true; } else { // je to už v košíku? $new_arr = array(); if (isset($_SESSION['kos'])) { $kos_arr = $_SESSION['kos']; foreach ($kos_arr as $cislo_radku => $radek) { list($kos_objed,$kos_sment,$kos_kod,$kos_nazev,$kos_popis,$kos_cena ,$kos_kolik) = explode('|',$radek); $kos_key4 = $kos_kod . $kos_velikost . $kos_cena; if ($kos_key4 == $key4 && $sortiment && $kos_sment) { echo "<div>$kos_nazev již je v košíku..."; echo '<br>...můžete otevřít košík a provést úpravy tam.</div>'; $chyba = true; break; } } // end for $new_arr = $kos_arr; } } if (!$chyba) { $new_row = $objednavka.'|'.$sortiment.'|'.$kod.'|'.$nazev.'|'.$popis.'|'.$cena.'| '.$kolik.'|'.$key4.'|'.'EOR'; $new_arr[] = $new_row; $_SESSION['kos'] = $new_arr; echo "<div class='bold'>Bylo uloženo do košíku:</div>"; echo "<br><span class='bold'>Název: </span> $nazev"; echo "<br><span class='bold'>Objednací kód: </span> $kod"; echo "<br><span class='bold'>Popis: </span> $popis"; echo "<br><span class='bold'>Cena: </span>", format($cena), ' Kč včetně DPH'; echo "<br><span class='bold'>Kolik: </span> $kolik"; $cena = ereg_replace(',', '.', $cena); // desetinná tečka z čárky $soucin = $cena * $kolik; echo "<br><span class='bold'>Součin: </span><span class='red'>", format($soucin), " </span> Kč"; } ?> |
||
Časová prodleva: 15 let
|
0