Autor | Zpráva | ||
---|---|---|---|
jakubroz Profil |
#1 · Zasláno: 8. 4. 2008, 14:11:01 · Upravil/a: jakubroz
Ahoj,
mam problém, dělám sijednoduchý e-shop pomocí návodu na webguru.cz a vyskytla se mi chyba. tady to můžete vyzkoušet a vidět jak to funguje: http://radio.webovestudio.eu/mujshop/] soubor table.php vypisuje z DB. obsah: <HTML> <HEAD> <Meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title></title> </head> <body bgcolor=white LINK=black VLINK=Green> <center> <? include "inc/conn.php"; //vrací $conn $sekce = $_GET['sekce']; $sql = MySQL_Query("SELECT * FROM zbozi WHERE sekce=".$sekce.""); //položíme dotaz do databáze if ($sekce == 1) $sekce_t = "psací potřeby"; elseif ($sekce == 2) $sekce_t = "papírové potřeby"; echo "<h2>Výpis zboží sekce: <b>$sekce_t</b></h2>"; echo "<table width=580 border=1><tr bgcolor=silver align=center><th width=100>Název"; echo "<th width=200>Popis"; echo "<th width=100>Cena za kus"; echo "<th width=100>Košík</tr>"; while ($pole = mysql_fetch_array($sql)) // načteme výsledek sql dotazu do pole a vytvoříme cyklus { $nazev = $pole['nazev']; $popis = $pole['popis']; $cena = $pole['cena']; $id = $pole['id']; //uložíme hodnoty záznamu do proměnných echo "<tr><td>$nazev"; echo "<td>$popis"; echo "<td align=center>$cena Kč"; echo "<form action='kosik_add.php' method=post><td><input type='hidden' name='id' value='$id'>"; echo "<input type='text' name='ks' value='1' width=20 Style='width:20px'>"; echo "<input title='Přidej do košíku' type='submit' value='Přidej'>"; echo "</tr></form>"; } mySQL_Close($conn); // uzavření databáze a spojení ?> </HEAD> </HTML> a tady je ten kosik_add.php (action-přidání do košíku) <?php SetCookie("my_id","$my_id;;$id"); SetCookie("my_ks","$my_ks;;$ks"); header ("Location: kosik_list.php"); ?> a tam to odkazuje na kosik_list.php obsah: <HTML> <HEAD> <TITLE></TITLE> <META name="description" content=""> <META name="keywords" content=""> <Meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> </HEAD> <BODY bgcolor="white" TEXT=000000 LINK=0000FF VLINK=800080> <br><center> <table bgcolor='white' border='0' width='570' cellpadding='5' cellspacing='0'> <tr><td align=right> <font face="Arial CE" color="red" size=4><b><i>Výpis košíku </tr> </table> <?php include 'inc/conn.php'; $vypis_id = Split(";;",$my_id); $vypis_ks = Split(";;",$my_ks); echo "<table bgcolor='' border='1' align='center' width='570'>\n"; echo "<tr bgcolor='silver' align='center' valign='middle'> <th align='center' width=''>Nazev</font></th> <th align='center' width=''>Popis</font></th> <th align='center' width='50'>Cena</th> <th align='center' width='60'>Kusů </th></tr>\n"; echo "\n"; for($i=1; $i<Count($vypis_id); $i++) { $sql = MySQL_Query("SELECT * FROM zbozi WHERE id=$vypis_id[$i]"); $nazev = mysql_result($sql,0,'nazev'); $popis = mysql_result($sql,0,'popis'); $cena = mysql_result($sql,0,'cena'); echo "<tr><td align='left'><b>$nazev</td>"; echo "<td align='left'>$popis</td>"; echo "<td align='center'>"; PrintF("%10.2f",$cena); echo "</td>"; echo "<td align='center'>$vypis_ks[$i]</td>"; echo"</td></tr>"; $celkem = $celkem + $cena*$vypis_ks[$i]; mysql_free_result($sql); } echo "</table>"; ?> <br> <table bgcolor='' border='1' align='center' width='570'><tr><td align="center"> <form action='kosik_del.php'> <?php echo "<table cellpadding=0 cellspacing=0 width=\"100%\">"; echo "<tr><td><b>Celkem: $celkem Kč"; echo "<td align=center>"; echo "<input title='Vymaž celý košík' value='Vymaž košík' type=submit>"; echo "</td></form>"; echo "<form action='objednat.php'><td><input title='Objednej zboží v košíku' value='Objednej zboží v košíku' type=submit>"; echo "</tr></form></table>"; mysql_close($conn); ?> </td></tr></table></form> </BODY> |
||
Adam Zábranský Profil |
#2 · Zasláno: 8. 4. 2008, 15:39:46
jakubroz
řekni jaká chyba přesně se ti vyskytla |
||
obin Profil * |
#3 · Zasláno: 8. 4. 2008, 15:40:11
Pochybuju, že se někomu bude chtít luštit tak dlouhý kód. Zkus to vystopovat známou metodou, vypisuj si proměnné pomocí echo a zkoumej, jestli v nich je to co má. Až na něco příjdeš, napiš sem konkrétnější problém
|
||
jakubroz Profil |
#4 · Zasláno: 8. 4. 2008, 15:43:08
sorry, já na začátku nenapsal co nejde :-D
pokud dam zboží vložit do košíku tak se mi tam nevloží. Nefunguje vkládání zboží do košíku. když si to na tom odkazu skusíte tak vidíte co to dělá. |
||
Mastodont Profil |
#5 · Zasláno: 8. 4. 2008, 16:01:08
SetCookie("my_id","$my_id;;$id"); SetCookie("my_ks","$my_ks;;$ks"); header ("Location: kosik_list.php"); Proč používáš cookie?? Kde v kosik_list.php tu cookie načítáš? $vypis_id = Split(";;",$my_id); $vypis_ks = Split(";;",$my_ks); Vypiš si $vypis_id a $vypis_ks ... |
||
jakubroz Profil |
#6 · Zasláno: 8. 4. 2008, 16:07:11
ted sem tě nepochopil. můžeš napsat jak si to myslel? mam upravit ten soubor kosik_add.php ? na co?
To s tim cookie sem pochopil. to je nesmysl |
||
jakubroz Profil |
#7 · Zasláno: 8. 4. 2008, 17:26:11
prosím, zkuste mi to někdo vysvětlit co tim myslel
|
||
Mastodont Profil |
#8 · Zasláno: 8. 4. 2008, 17:36:35
Myslel jsem to, že nikde nevidím načítání údajů z té cookie. Navíc je ten prostřední soubor IMHO zbytečný, v kosik_list.php můžeš klidně zpracovat přijaté POST údaje.
|
||
jakubroz Profil |
#9 · Zasláno: 8. 4. 2008, 18:02:37
no to vim, ale nevim jak ty cookie teda načíst aby to šlo
|
||
jakubroz Profil |
#10 · Zasláno: 8. 4. 2008, 20:26:41
tak do toho už delší dobu koukám a nedaří se to opravit. Byl by někdo tak hodný a zkusil mi napsat jak bych to měl opravit aby to šlo? moc dik předem.
|
||
Mastodont Profil |
#11 · Zasláno: 8. 4. 2008, 20:35:41
V prvním souboru uprav formulář na
echo "<form action='kosik_list.php' method='post'> ... A ve třetím souboru napiš $vypis_id = $_POST['id']; $vypis_ks = $_POST['ks']; To by mělo stačit. |
||
jakubroz Profil |
#12 · Zasláno: 8. 4. 2008, 21:11:55
tak tam bude asi ještě jiný chyba. furt to nejde.
Mastodont dik, že sis s tim dal práci |
||
jakubroz Profil |
#13 · Zasláno: 8. 4. 2008, 21:15:49
ale když si vypisuju ty promněné pomocí echo tak tam je ten obsah co tam má být
|
||
Mastodont Profil |
#14 · Zasláno: 8. 4. 2008, 21:23:37
Jo, chyba tam, je, ty počítáš s tím, že ty dvě proměnné jsou pole, takže tam pak máš $vypis_id[$i] apod.
Ale protože na první stránce tlačítkem přidáš vždy jen jeden produkt, tak je to pole zbytečný. Vyhoď cykly a uprav to na přidání jednoho produktu. |
||
jakubroz Profil |
#15 · Zasláno: 8. 4. 2008, 21:29:58
tim myslíš že mam vyhodit tohle:
while ($pole = mysql_fetch_array($sql)) // načteme výsledek sql dotazu do pole a vytvoříme cyklus { $nazev = $pole['nazev']; $popis = $pole['popis']; $cena = $pole['cena']; $id = $pole['id']; //uložíme hodnoty záznamu do proměnných a co mam dát místo toho? sorry že vás otravuju, ale každý se to někdy učil. |
||
Časová prodleva: 16 let
|
0