Autor Zpráva
Lojzik
Profil *
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 *
spodní isset uz chodi nemel jsem v mysql dotazu uziv pred id :-)
Kajman_
Profil *
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
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 *
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 :-(

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: