Autor | Zpráva | ||
---|---|---|---|
pogg Profil |
#1 · Zasláno: 14. 4. 2009, 12:27:18 · Upravil/a: pogg
Zdravím,
napsal jsem script, který funguje ale i přes to vyhodí tuto hlašku: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/strojnet.com/subdomains/best/tapety-video.php on line 48 na 48 řádku je $dotaz = Mysql_query("SELECT * FROM videoklipy WHERE id=$id LIMIT 1"); Nevíte, kde by mohla být chyba? Script funguje bez problému ale ta hláška tam vadí:o) script necelý pak už jsou jen echa: url ze kterého beru $id a $jehodnoceno http://xxx.xx.xx/xxx.php?id=1&hodnoceno=3 $id = $_GET["id"]; $jehodnoceno = $_GET["hodnoceno"]; $idje = $id; $dotaz = Mysql_query("SELECT * FROM videoklipy WHERE id=$id LIMIT 1"); while($zaznam = MySQL_Fetch_Array($dotaz)){ $nazev = $zaznam["nazev"]; $video = $zaznam["video"]; $video_je = $zaznam["video_je"]; $celebrita = $zaznam["celebrita"]; $klik = $zaznam["klik"]; $autor = $zaznam["autor"]; $vlozeno = $zaznam["vlozeno"]; $hodnoceno = $zaznam["hodnoceno"]; $hodnoceno_vysledek = $zaznam["hodnoceno_vysledek"]; $hodnoceni_je = $zaznam["hodnoceni_je"]; if($jehodnoceno == 1){ $hodnoceno = $hodnoceno +1; $hodnoceno_vysledek = $hodnoceno_vysledek +1; $hodnoceni_je = $hodnoceno_vysledek / $hodnoceno; $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); $hodnoceni_je = round($hodnoceni_je); } elseif($jehodnoceno == 2){ $hodnoceno = $hodnoceno +1; $hodnoceno_vysledek = $hodnoceno_vysledek +2; $hodnoceni_je = $hodnoceno_vysledek / $hodnoceno; $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); $hodnoceni_je = round($hodnoceni_je); } elseif($jehodnoceno == 3){ $hodnoceno = $hodnoceno +1; $hodnoceno_vysledek = $hodnoceno_vysledek +3; $hodnoceni_je = $hodnoceno_vysledek / $hodnoceno; $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); $hodnoceni_je = round($hodnoceni_je); } elseif($jehodnoceno == 4){ $hodnoceno = $hodnoceno +1; $hodnoceno_vysledek = $hodnoceno_vysledek +4; $hodnoceni_je = $hodnoceno_vysledek / $hodnoceno; $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); $hodnoceni_je = round($hodnoceni_je); } elseif($jehodnoceno == 5){ $hodnoceno = $hodnoceno +1; $hodnoceno_vysledek = $hodnoceno_vysledek +5; $hodnoceni_je = $hodnoceno_vysledek / $hodnoceno; $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); $hodnoceni_je = round($hodnoceni_je); } $znamkahodnoceni = $hodnoceni_je; if($hodnoceni_je == 1){$hodnoceni_je = "width:30px";} elseif($hodnoceni_je == 2){$hodnoceni_je = "width:60px";} elseif($hodnoceni_je == 3){$hodnoceni_je = "width:90px";} elseif($hodnoceni_je == 4){$hodnoceni_je = "width:120px";} elseif($hodnoceni_je == 5){$hodnoceni_je = "width:150px";} dale jen echa... díky za pomoc všem.... |
||
Kajman_ Profil * |
#2 · Zasláno: 14. 4. 2009, 12:56:32
Nepřepisujete proměnnou $dotaz, unitř cyklu.
|
||
pogg Profil |
#3 · Zasláno: 14. 4. 2009, 13:09:47
NE, žádnou proměnou dotaz tam nemám.
no funguje to tak že se nejdříve načte url jen s id kde se vypíše stránka, na ní se pak objeví hlasování to jde vše v pohodě bez chyb. Pak po kliku na hlasování se přidá do url konkrétní hodnota &hodnoceno=3 vyberuji $jehodnoceno = $_GET["hodnoceno"]; a pak se podle podmínek naplní další proměnné. a to už vyhodí chybu... zkoušel jsem odebrat to aktualizování DB $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); a to mi chybu nevyhodilo. Proměnné se naplnily ale nezapsaly do DB. Přitom script plně funguje i když je tam ta chyba?!?!?!?! jak to?!?!?! |
||
Kajman_ Profil * |
#4 · Zasláno: 14. 4. 2009, 13:31:34
Chtěl jsem napsat "nepřepisujte".
while($zaznam = MySQL_Fetch_Array($dotaz)){ ... $dotaz = Mysql_query("UPDATE videoklipy SET hodnoceno=$hodnoceno, hodnoceno_vysledek=$hodnoceno_vysledek, hodnoceni_je=$hodnoceni_je WHERE id = $id limit 1"); Při druhém procházení while, se skript snaží získat data z updatu místo z původního selectu. Buď výsledek update neukládejte do proměnné, nebo ji nazvěte jinak než $dotaz. |
||
pogg Profil |
#5 · Zasláno: 14. 4. 2009, 13:42:30
jj díky už je to vyřešeno.... a jak to že to pracovalo i když tam byla ta chyba???
|
||
Kajman_ Profil * |
#6 · Zasláno: 14. 4. 2009, 14:39:34
Chyba nastala až při druhém průchodu, ale když tam byl limit 1, tak stejně se víc průchodů dělat nemělo.
|
||
Časová prodleva: 15 let
|
0