Autor | Zpráva | ||
---|---|---|---|
Lojzik Profil * |
#1 · Zasláno: 17. 5. 2008, 10:45:44
Ahojte řeším další problém, tenhle skript mi přidává zboží do koše zároven ho zobrazuje a mel by ho i mazat ale nemaze viz.dole poslední dva issety, první ma smazat zbozi z kosiku jednotlive, druhy ma smazat cely obsah kose podle uzivatele jestli nekdo vydite chybu poradte prosim...hlasky zadne nevypisuje
<?php # Výpis kódu 13.8 - do_kosiku.php // Tato stránka přidává obrazy do nákupního košíku. session_start(); // Zahájení relace. error_reporting(E_ALL ); include "menu1.php"; include "prihlasdb.php"; if (isset ($_GET['zbozi_id'])) { // Zkontrolovat ID obrazu. $wed=mysql_query ("select zbozi.id,nazev,cena,obrazek from zbozi where id='$_GET[zbozi_id]'") or print mysql_error(); $back=mysql_fetch_array($wed); mysql_query("insert into kosik (nazev,cena,zbozi_id,uzivid,obrazek) values ('$back[nazev]','$back[cena]','$back[id]','$_SESSION[id1]','$back[obra zek]')")or print mysql_error(); } $co=mysql_query ("SELECT kosik.id,nazev,cena,obrazek,zbozi_id,uzivid FROM kosik where uzivid='".$_SESSION['id1']."' "); $navrat=($co); echo("<table cellpadding=\"5\" style=\"font-size:;position:absolute;top:300;left:220;width:550;backgr ound:white\">"); for ($i=0;$i<mysql_num_fields($navrat); $i++) while (list($id,$nazev,$cena,$obrazek) = mysql_fetch_row($navrat)) { echo("<tr><td><table style=\"width:540;height:25;background:url(inc/obrazky/lista.gif)\"><t r><td style=\"width:350\"> <div style=\"font-size:20px\">Název: $nazev </div></td></tr></table> <div style=\"width:190;height:20\"><b>Cena: </b>$cena Kč</div> </td> <td><img src=\"../prijato/$obrazek\" width=\"30\" height=\"30\"></td> <td> <form action=\"dokose.php\" method=\"get\"> <input type=\"submit\" name=\"smazat\" value=\"Odstranit\" /> </form> </td> </tr> "); } echo("</table></td><tr></table>"); echo"<fieldset style=\"position:absolute;top:170;left:850\"> <form action=\"dokose.php\" method=\"get\"> <input type=\"submit\" name=\"smazkos\" value=\"Vyprázdnit koš\" /> </form> </fieldset>"; if (isset($_GET['smazat'])) { $wed1=mysql_query ("select kosik.id from kosik where id='$id'") or print mysql_error(); $back1=mysql_fetch_array($wed1); mysql_query ("delete from kosik where id='".$back1['id']."'") or print mysql_error(); } if (isset($_GET['smazkos'])) { mysql_query ("delete from kosik where id='".$_SESSION['id1']."'") or print mysql_error(); } ?> |
||
Lojzik Profil * |
#2 · Zasláno: 17. 5. 2008, 10:55:41
spodní isset uz chodi nemel jsem v mysql dotazu uziv pred id :-)
|
||
Kajman_ Profil * |
#3 · Zasláno: 17. 5. 2008, 10:55:56
if (isset($_GET['smazkos'])) {
mysql_query ("delete from kosik where uzivid='".$_SESSION['id1']."'") or print mysql_error(); } a u toho jednotlivého asi nepředáváte id... a je dobré i tam dát podmínku na uzivid, ať Vám lidi nemažou cizí zboží. |
||
sicario Profil |
#4 · Zasláno: 17. 5. 2008, 11:08:23
1) Pokud je zbozi.id typu INT, tak je vhodnejsi psat v SQL id = intval($_GET['zbozi_id'])
2) Co se tyce stylu programovani, tak bych si ujasnil jestli budu pouzivat print 'neco', nebo echo ('neco') ... Na funkcnosti to sice nic nemeni, ale je hezci v tom mit poradek:-) 3) Prehlednosti skriptu taky neprospiva echo("<tr><td><table style=\"width:540;height:25;background:url(inc/obrazky/lista.gif)\"><t r><td style=\"width:350\"> ... Bud pouzij kaskadove styly a nebo jeste lepe nejake sablony. 4) SELECT id FROM kosik WHERE id = $id tak to je v tomhle pripade uplne zbytecny a taky nevim kde beres to $id --- SQL mi prijde rozumnejsi odladit primo na databazi, nebo treba s pouzitim phpMyAdmin (nebo phpMinAdmin). Lepsi nez vymyslet dotazy behem programovani rozhrani (php). |
||
Lojzik Profil * |
#5 · Zasláno: 17. 5. 2008, 11:17:32
tak jsem to kluci doladil podle vasich rad mimochodem ta $id bzla fakt kravina uy u toho asi sedim moc dlouho :-) jinak tedka to vypada takhle:
session_start(); // Zahájení relace. error_reporting(E_ALL ); include "menu1.php"; include "prihlasdb.php"; if (isset($_GET['smazkos'])) { mysql_query ("delete from kosik where uzivid='".$_SESSION['id1']."'") or print mysql_error(); } if (isset ($_GET['zbozi_id'])) { // Zkontrolovat ID obrazu. $wed=mysql_query ("select zbozi.id,nazev,cena,obrazek from zbozi where id='$_GET[zbozi_id]'") or print mysql_error(); $back=mysql_fetch_array($wed); mysql_query("insert into kosik (nazev,cena,zbozi_id,uzivid,obrazek) values ('$back[nazev]','$back[cena]','$back[id]','$_SESSION[id1]','$back[obra zek]')")or print mysql_error(); } $co=mysql_query ("SELECT kosik.id,nazev,cena,obrazek,zbozi_id,uzivid FROM kosik where uzivid='".$_SESSION['id1']."' "); $navrat=($co); echo("<table cellpadding=\"5\" style=\"font-size:;position:absolute;top:300;left:220;width:550;backgr ound:white\">"); for ($i=0;$i<mysql_num_fields($navrat); $i++) while (list($id,$nazev,$cena,$obrazek) = mysql_fetch_row($navrat)) { if (isset($_GET['smazat'])) { $wed1=mysql_query ("select * from kosik"); $back1=mysql_fetch_array($wed1); mysql_query ("delete from kosik where id='$id' and uzivid='".$_SESSION['id1']."'"); } echo("<tr><td><table style=\"width:540;height:25;background:url(inc/obrazky/lista.gif)\"><t r><td style=\"width:350\"> <div style=\"font-size:20px\">Název:$id $nazev </div></td></tr></table> <div style=\"width:190;height:20\"><b>Cena: </b>$cena Kč</div> </td> <td><img src=\"../prijato/$obrazek\" width=\"30\" height=\"30\"></td> <td> <form action=\"dokose.php\" method=\"get\"> <input type=\"submit\" name=\"smazat\" value=\"Odstranit\" /> </form> </td> </tr> "); } echo("</table></td><tr></table>"); echo"<fieldset style=\"position:absolute;top:170;left:850\"> <form action=\"dokose.php\" method=\"get\"> <input type=\"submit\" name=\"smazkos\" value=\"Vyprázdnit koš\" /> </form> </fieldset>"; ?> první isset uz taky maze ale ne tak jak ma tj.jednotlive zbozi ale funguje jako podmínka pro smazani celeho kose tzn. smaze vsechno z kose podle uzivid :-( |
||
Časová prodleva: 16 let
|
0