Autor | Zpráva | ||
---|---|---|---|
Bohuš Profil * |
#1 · Zasláno: 14. 8. 2009, 15:31:04
zdravicko porsim vsecky ochotne o pomoc s mysql dotazem, protoze uz si fakt nevim rady, porad mi to vyhazuje chybu:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN() ORDER BY cena ASC' at line 1 jenze ja ji nikde nevidim :-( prosim o pomoc kdo chybu vidite pomozte diky dotaz: $dotaz = 'SELECT * FROM zbozi IN('; foreach ($_SESSION['kosik'] as $klíč => $hodnota) { $dotaz.=$klíč.','; } $dotaz = substr($dotaz,0,-1).') ORDER BY cena ASC'; $vysl_kos = mysql_query($dotaz)or print mysql_error(); |
||
Tomashek Profil |
#2 · Zasláno: 14. 8. 2009, 15:39:38 · Upravil/a: Tomashek
Proč tak složitě?
1) zřejmně Vám chybí klauzule WHERE (např. WHERE id IN(...) 2) Předpokládám, že $_SESSION['kosik'] je pole, proto si vytvořím dotaz $dotaz = 'SELECT * FROM zbozi WHERE neco IN('.implode(',',$_SESSION['kosik']).') ORDER BY cena ASC'; Nezkoušel jsem to, tak nevím zda je to funkční. |
||
Bohuš Profil * |
#3 · Zasláno: 14. 8. 2009, 15:54:45
Diky za rychlou reakci, jinak to asi bude ono pokousim se upravit skript na zobrazeni zbozi v kosi, problem je v tom ze WHERE neco IN v dotazu nepotrebuju.
|
||
Bohuš Profil * |
#4 · Zasláno: 14. 8. 2009, 18:00:40
No tak jsem zas napsal kravinu, protoze where neco in zrejme porebuje dotaz, nicmene Vas dotaz taky nefunguje nevypise zadne hodnoty v kosi. Myslim ze problem je v tom, ze kdyz echem vypisu implode(',',$_SESSION['kosik']) tak se vypise jen jedna hodnota a to hodnota mnozstvi (nevim proc), echo session kosik vypise array
|
||
Tomashek Profil |
#5 · Zasláno: 14. 8. 2009, 18:24:41
Tudíž je asi špatné to SESSION ..implode jenom vypíše hodnoty pole oddělené čárkami, což v IN( ) má být.
|
||
Bohuš Profil * |
#6 · Zasláno: 14. 8. 2009, 19:37:57
No tak asi to vypada ze je to tim, a uz asi vim proc tenhle skript ma pridavat do sessions id a mnozstvi zbozi (podle ucebnice z ktere pochazi ) ale kdyz si vypisu implode session kosik tak jsem zjistl ze jedine co pridava tak mnozstvi vzdy o 1+ pak si kupte ucebnici...
mimochodem vedel by nekdo jak ho upravit aby opravdu pridaval id a pocet? if (is_numeric ($_GET['id_zbozi'])) { if (isset ($_SESSION['kosik'][$id_zbozi])) { $množství = $_SESSION['kosik'][$id_zbozi] + 1; } else { $množství = 1; } $_SESSION['kosik']==$_SESSION['kosik'][$id_zbozi],$množství; echo '<p>Zboží bylo přidáno do Vašeho nákupního košíku.</p>'; } else { header ("Location: http://". $_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). "/index.php"); exit(); } |
||
Časová prodleva: 15 let
|
0