Autor Zpráva
venaba
Profil *
$co=("SELECT a.id, a.url, a.nazev, a.obrazek, a.jazyk, a.info, a.zanr, a.video, a.cas, a.pocet, a.kolik, b.id3, b.ip, b.id2 FROM clanek a INNER JOIN hodnoceni b;");
$navrat=mysql_db_query("x", $co, $spojeni); 
while (list($id, $url, $nazev, $obrazek, $jazyk, $info, $zanr, $video, $cas, $pocet, $kolik, $id3, $ip, $id2) = mysql_fetch_row($navrat)){
     $jehoip=$_SERVER["REMOTE_ADDR"];
      if ($_GET['film'] == "$id/$url" AND $_GET['film'] == "$id2/$url" AND $ip==$jehoip){
         echo "již jsi hlasoval";
      }  
        if ($_GET['film'] == "$id/$url" AND $_GET['film'] != "$id2/$url" AND ?){
          echo "můžeš hlasovat";
      }
}


Je to vlastne hodnoceni nejakeho clanku...mam 2 tabulky, clanek a hodnoceni....rekneme, ze v t. clanek je ID a nazev filmu a v hodnoceni je ulozena ip (ta ktera hlasovala) a ID (podle toho u ktereho filmu nekdo hlasoval) ...a potrebuju podminku: kdyz id (clanek) == id (hodnoceni) a zaroven ip (aktualni ip) == ip (ulozena v DB), pak již hlasoval ...a když podminka ?, pak tam bude formular na hodnoceni...proste nvm jak napsat tu podminku....potreboval bych poradit :(

Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Kajman_
Profil *
list($film_id,$film_url)=explode('/',$_GET['film'],2);
$film_id=(int)$film_id;
$film_url=mysql_real_escape_string($film_url);
$jehoip=mysql_real_escape_string($_SERVER["REMOTE_ADDR"]);
$co="SELECT a.id,
	a.url,
	a.nazev,
	a.obrazek,
	a.jazyk,
	a.info,
	a.zanr,
	a.video,
	a.cas,
	a.pocet,
	a.kolik,
	b.id3,
	b.ip,
	b.id2
	FROM   clanek a
	LEFT   JOIN hodnoceni b
		ON     a.id = b.id2
		AND b.ip = '$jehoip'
	WHERE  a.id = $film_id
		AND a.url = '$film_url'";
$navrat=mysql_db_query("x", $co , $spojeni);
if (list($id, $url, $nazev, $obrazek, $jazyk, $info, $zanr, $video, $cas, $pocet, $kolik, $id3, $ip, $id2) = mysql_fetch_row($navrat)){
	if ($id2>0)
	{
		echo "již jsi hlasoval";
	}
	else
	{
		echo "můžeš hlasovat";
	}
} 
venaba
Profil *
Nechápu v tom tu pointu, nechápu to :\
Kajman_
Profil *
Při joinu se typicky dávají podmínky určující vazbu. Pomocí left joinu se připojí data z druhé tabulky, jen když se najdou. Pokud tedy budou hodnoty z tabulky hodnoceni prazdne, neni tam hlasovani z konkretni ip pro daný film.

Zkuste si vypsat $co v prvním a druhém případě a zkuste si to pustit např. v mysql query browseru z mysql gui tools.
venaba
Profil *
Už to chápu a už mně to jede, díky moc..

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:

0