Autor Zpráva
Lojzik
Profil *
Ahojte tak jssem se s tim zkousel poprat, zas jsem ten skript zjednodusil,viz. nize data jsem dal do jedne tabulky ale porad funguje jen prvni stranka tzn. kdyz na prvni strance zbozi kliknu na koupit tak se ulozi do kose, kdyz pak na nej kliknu znovu tak uz se jen updatne pocet kusu, jenze!!!kdyz prejdu na druhou stranku(kde jsou data ze stejne tabulky, stejnym zpusobem prenaseno zbozi_id) tak uz se neupdatne pocet kusu ale jen zbozi pribyva(jako řádky), uz mam pulku vlasu tak kdybyste nekdo vedel prosim poradte diky


if (isset ($_GET['zbozi_id'])) { // Zkontrolovat ID obrazu.

$zjisti=mysql_query ("select zbozi_id,nazev,objcsl from kosik where uzivid='".$_SESSION["id1"]."'") or print mysql_error();
$pocet=mysql_fetch_array($zjisti);

$wed=mysql_query ("select zbozi.id,nazev,cena,obrazek,objcsl from zbozi where id='$_GET[zbozi_id]'") or print mysql_error();
$back=mysql_fetch_array($wed);}
if (($back['nazev'] != $pocet['nazev']) && ($back['objcsl'] != $pocet['objcsl']) && ($back['id'] != $pocet['zbozi_id']))
{
mysql_query("insert into kosik (nazev,cena,zbozi_id,uzivid,obrazek,objcsl) values ('$back[nazev]','$back[cena]','$back[id]','$_SESSION[id1]','$back[obra zek]','$back[objcsl]')")or print mysql_error();


}
else {mysql_query ("update kosik set pocetks=pocetks+1 where zbozi_id='".$_GET["zbozi_id"]."' and uzivid='".$_SESSION['id1']."'")or print mysql_error();

}
ShiraNai7
Profil
Skript na přidávání zboží do košíku by mohl vypadat nějak takto (netestoval jsem to, ale mohlo by to fungovat). Taky mi přijde zbytečné ukládat do košíku něco víc, než jen ID zboží, zbytek se podle něj může přece vytáhnout z původní tabulky.


if(isset($_GET['zbozi_id'])){

//nacteni ID zbozi
$zbozi_id=(int)$_GET['zbozi_id'];

//kontrola existence zbozi
if(mysql_result(mysql_query("SELECT COUNT(id) FROM `zbozi` WHERE `id`=".$zbozi_id), 0)!=0){

   if(mysql_result(mysql_query("SELECT COUNT(id) FROM `kosik` WHERE `zboziid`=".$zbozi_id." AND `uzivid`=".$_SESSION['id1']), 0)==0){

   //vlozeni do kosiku
   $nove_id=mysql_query("SELECT `id` FROM `kosik` ORDER BY `id` DESC LIMIT 1");
   if(mysql_num_rows($nove_id)==0){$nove_id=1;}else{$nove_id=mysql_fetch_ array($nove_id); $nove_id=$nove_id['id']+1;}
   mysql_query("INSERT INTO `kosik` (id,zboziid,uzivid,kusy) VALUES (".$nove_id.",".$zbozi_id.",".$_SESSION['id1'].",1)");

   }
   else{

   //navyseni poctu kusu
   mysql_query("UPDATE `kosik` SET `kusy`=`kusy`+1 WHERE `zboziid`=".$zbozi_id." AND `uzivid`=".$_SESSION['id1']);

   }

}


}

Lojzik
Profil *
Diky za snahu ale skript pise ze unexpected array in... tyka se to tohohle:
if(mysql_result(mysql_query("SELECT COUNT(id) FROM `zbozi` WHERE `id`=".$zbozi_id), 0)!=0)

jinak mne napadlo k tomu memu predchozimu skriptu on totiz ne ze zbozi z prvni stranky, ale prvni zbozi vubec, tzn. u prvniho zbozi ktere uzivatel nacte do kosse se nadale uz jen updatuje pocetks u vsech dalsich uz to nefunguje takze si skript pravdepodobne pamatuje prvni odeslanou $_get[zbozi_id], takze jsem zkousel uvolnit pamet pomoci mysql_free_result ale to mne nefunguje, nepouziva se nahodou na toto nejaky jiny dotaz?? Diky
Lojzik
Profil *
VYRESENO JSEM TO ALE TUPEC TEN PRVNI SKRIPT NORMALNE FUNGUJE AKORAT JE POTREBA TAM COSI DOPSAT...:-)

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: