« 1 2 »
Autor Zpráva
nightrider
Profil
Lidi, tak tohle je na mne moc velký oříšek :-( najde se tu někdo kdo ví proc mi to hlásí chybu?

Podle mne to bude tady,ale nevim kde :-(

$dotaz = 'SELECT * FROM umelci, obrazy WHERE umelci.id_umelce = obrazy.id_umelce AND obrazy.id_obrazu IN (';
	foreach ($_SESSION['kosik'] as $klíč => $hodnota) {
	$dotaz .= $klíč. ',';
}



Hlásí mi to chybu na: while ($řádek = mysql_fetch_array($vysledek, MYSQL_ASSOC)) {

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 



Děkuji předem všem za rady.
nightfish
Profil
viz Databázové FAQ
nightrider
Profil
Děkuju za link, ale moc moudrej stoho nejsem :-(
nightrider
Profil
Jsem si nechal vypsat chybu a: Došlo k chybě v dotazu:
Unknown column '$obr_id' in 'where clause'
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
nightfish
Profil
je více než pravděpodobné, že ve vytvořeném dotazu je syntaktická chyba
jelikož jsi sem vložil jen část výsledného kódu, tak konkrétnější radu nečekej

EDIT: Unknown column '$obr_id' in 'where clause'
zřejmě používáš $obr_id ve významu označení proměnné PHP, avšak v řetězci uzavřeném do apostrofů - v takovém případě se nenahradí názvy proměnných jejich hodnotou, na to je potřeba je uzavřít do uvozovek
nightrider
Profil
Myslis nejak takhle?

$dotaz = 'SELECT * FROM umelci, obrazy WHERE "umelci.id_umelce = obrazy.id_umelce AND obrazy.id_obrazu" IN (';
foreach ($_SESSION['kosik'] as $klíč => $hodnota) {
$dotaz .= $klíč. ',';
}
nightfish
Profil
nightrider
ne, takhle ne... ale bavíme se o kódu, který obsahuje zmínku o proměnné $obr_id - v tebou uvedené ukázce ji nevidím
nightrider
Profil
$dotaz = 'SELECT * FROM umelci, obrazy WHERE umelci.id_umelce = obrazy.id_umelce AND obrazy.id_obrazu IN (';
foreach ($_SESSION['kosik'] as $klíč => $hodnota) {
$dotaz .= $klíč. ',';
}
nightrider
Profil
Nemuze to byt tim ze je foreach prazdny? foreach ($_POST['mnozstvi'] as $klíč => $hodnota) {
Alphard
Profil
před mysql_query() dejte echo $dotaz; ať ho celý vidíme v konečné podobě
a editujte si příspěvek s kódem, obalte ho [ pre ] [ /pre ] (bez mezer), ať se obarví syntaxe
nightrider
Profil
Došlo k chybě v dotazu: Unknown column '$obr_id' in 'where clause'
Alphard
Profil
nightrider
do pre jsem myslel editovat kód v příspěvku [#8]

a vypsat ten dotaz, chyba už je výše

$dotaz = 'SELECT * FROM umelci, obrazy WHERE umelci.id_umelce = obrazy.id_umelce AND obrazy.id_obrazu IN ('; 
foreach ($_SESSION['kosik'] as $klíč => $hodnota) { 
$dotaz .= $klíč. ','; 
} 

$dotaz = substr ($dotaz, 0, -1). ') ORDER BY umelci.prijmeni ASC'; 
echo $dotaz;
$vysledek = mysql_query($dotaz) or print("Došlo k chybě v dotazu: ".$q."<br>".mysql_error());
nightfish
Profil
nightrider
$vysledek = mysql_query($dotaz) or print("Došlo k chybě v dotazu: ".$q."<br>".mysql_error());
kde se bere proměnná $q, proč se nevypisuje $dotaz?

if (($hodnota = 0) AND (is_numeric ($hodnota))) {
nastavíš proměnnou $hodnota na 0 a pak testuješ, jestli je is_numeric - tato podmínka je vždy splněna
nightrider
Profil
SELECT * FROM umelci, obrazy WHERE umelci.id_umelce = obrazy.id_umelce AND obrazy.id_obrazu IN ($obr_id) ORDER BY umelci.prijmeni ASC
nightfish
Profil
nightrider
pokud máš dotaz z příspěvku #14 celý v kódu uzavřen do apostrofů, tak je nahraď uvozovkami
nightrider
Profil
To jsem udelal a porad stejny :-(
nightrider
Profil
Kdyz udelam treba tohle:
$dotaz = "substr ($dotaz, 0, -1). ') ORDER BY umelci.prijmeni ASC'";


Tak to vypise:
Došlo k chybě v dotazu: 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 'substr (SELECT * FROM umelci, obrazy WHERE umelci.id_umelce = ob
Alphard
Profil
přepokládám, že do $_SESSION['kosik'] při ukládání vkládáte řetězec '$obr_id', bohužel jste mě nepochopil a smazal ten script, dokud ho znovu nepostnete, tak to nemůžu opravit

chtěl jsem jen, aby byl obarvený, jako třeba [#12]
nightrider
Profil
do_kosiku.php
<?php
// Zkontrolovat zda už košík jeden z vybraných obrazů neosahuje.
$_SESSION['kosik'][$_GET[$_GET['obr_id']]]  = isset ($_SESSION['kosik'][$_GET[$_GET['obr_id']]]) ? ($_SESSION['kosik'][$_GET[$_GET['obr_id']]] + 1) : 1;

// Zobrazit zprávu.
	echo '<center><div class="valid" align="center">'.$pridan.'</div></center>';

include_once ('css/default/pata.php');

} else {
header ("Location: ]http://".$_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). "/index.php");
exit();
}
?>
Alphard
Profil
je mi líto, ale v tomto kódu vůbec nevidím obr_id, možná byl do session vložen na jiné stránce
nightrider
Profil
byl vlozen na strance: do_kosiku.php
Alphard
Profil
byl vlozen na strance: do_kosiku.php
to sem nemůžete rovnou dát kód? jsme tady jako na chatu :-)
nightrider
Profil
Promin, tak ja ti prepisu ten horejsi
Alphard
Profil
upravte 17. řádek na tohle
$_SESSION['kosik'][$obr_id] = $mnozstvi;


moment, to není všechno
nightrider
Profil
pockam a vazne se omlouvam :-( ja myslel že to vkladani neni podstatny :-( uz nemyslim
Alphard
Profil
jestli dobře chápu, co to má dělat, nahraďte tohle
// Zkontrolovat zda už košík jeden z vybraných obrazů neosahuje.
if (isset ($_SESSION['kosik']['$obr_id'])) {
    $mnozstvi = $_SESSION['kosik']['$obr_id'] + 1;
} else {
    $mnozstvi = 1;
}

// Přidat do proměné relace.
$_SESSION['kosik']['$obr_id'] = $mnozstvi;


tímto

$_SESSION['kosik'][$_GET['obr_id']]  = isset ($_SESSION['kosik'][$_GET['obr_id']]) ? ($_SESSION['kosik'][$_GET['obr_id']] + 1) : 1;


// 14:08 změna, přehlédl jsem jednu proměnnou
nightrider
Profil
To se mu porad nechce libit :-(

Došlo k chybě v dotazu: 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 ') ORDER BY umelci.prijmeni ASC' at line 1
nightrider
Profil
jsem to nahoru vypsal stou tvou upravou :-)
Alphard
Profil
jsem to nahoru vypsal stou tvou upravou :-)
trochu zmatky v kopírování, asi minutu jsem tam měl kravinu, zkuste tam nakopírovat současnou verzi prosím
nightrider
Profil
<?php
// Zkontrolovat zda už košík jeden z vybraných obrazů neosahuje.
$_SESSION['kosik'][$_GET[$_GET['obr_id']]]  = isset ($_SESSION['kosik'][$_GET[$_GET['obr_id']]]) ? ($_SESSION['kosik'][$_GET[$_GET['obr_id']]] + 1) : 1;

// Zobrazit zprávu.
	echo '<center><div class="valid" align="center">'.$pridan.'</div></center>';

include_once ('css/default/pata.php');

} else {
header ("Location: ]http://".$_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). "/index.php");
exit();
}
?>
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.