2011-01-11 3 views
0

Ich möchte den Kommentar, den Benutzer auf einem Bild auf der gleichen Seite wie das Bild machen, aufrufen können. und wenn eine andere Seite erscheint, wird auch der Kommentar für dieses Bild angezeigt. Ich kann das, aber ich kann nicht scheinen, die URL für das Bild zu nennen, ohne den tatsächlichen Code zu ändern.

<? 
include..... 

$picid = $_GET['picid']; 
$query = mysql_query("SELECT * FROM pic_info WHERE picid = 'picid1' ");// problem 

while($rows = mysql_fetch_assoc($query)): 
$picid = $rows['picid']; 
$title = $rows['title']; 
$link = $rows['link']; 
$description = $rows['description']; 
$movie_pic = $rows['movie_pic']; 
$source = $rows['source']; 

endwhile; 

$get_comment = mysql_query("SELECT * FROM comment WHERE picid ='$picid'");// work partially 
$comment_count = mysql_num_rows($get_comment); 
if ($comment_count>0) 
{ 
while ($com = mysql_fetch_array($get_comment)){ 
$comment_id = $com['comment_id']; 
$name = $com['name']; 
$message = $com['message']; 
$time_post= $com['time_post']; 
$messages .= '<em> on ' .$time_post.'</em><b> '.$name.' said.....</b><br/> '.$message.'<hr/>'; 
} 
?> 

Problem: nur funktioniert, wenn ich picid1 auf irgendeine Sache sonst wie picid2 oder 3 oder 4 ... Arbeit teilweise ändern :: funktioniert, wenn ich picid1 auf irgendeine Sache sonst wie picid2 oder 3 oder 4 ändern .. anders als das kommt es ohne Kommentar zu kommen.

Ich bin mir nicht sicher, ob das Problem oben ist, kann es nicht herausfinden.

Antwort

1

Sie einen $ fehlen ...

WHERE picid = '$ picid'

Soemething wie folgt aus:

$picid = $_GET['picid']; 
$query = mysql_query("SELECT * FROM pic_info WHERE picid = '$picid' "); 

in der sicheren Seite zu sein, ... würde ich das tatsächlich tun

$picid = mysql_real_escape_string($_GET['picid']); 
$query = mysql_query("SELECT * FROM pic_info WHERE picid = '$picid' "); 

Why? Read here

BTW, wenn picid ein Nummerntyp ist, würde ich die Anführungszeichen weglassen ...

WHERE picid = $picid 

---- EDIT ------

if ($comment_count>0) 
{ 
    $messages = ""; //added this 
    while ($com = mysql_fetch_array($get_comment)){ 
    $comment_id = $com['comment_id']; 
    $name = $com['name']; 
    $message = $com['message']; 
    $time_post= $com['time_post']; 
    $messages .= '<em> on ' .$time_post.'</em><b> '.$name.' said.....</b><br/>'.$message.'<hr/>'; 
    } 
} // added this... 
?> 
+0

auch Ich merke, dass ich diese Fehlermeldung auch bekomme - Hinweis: Undefinierte Variable: Nachrichten für diese Zeile $ Nachrichten. = 'on'. $ time_post. ''. $ Name.' sagte .....
'. $ Nachricht.'


'; wenn ich ändere = = = der Fehler verschwindet, aber dann erscheint nur ein Kommentar. Wie kann ich alle ohne den Fehler } – user570782

+0

Ich habe es zur Arbeit, der Grund, warum es passieren, ist wegen der End-Schleife Anweisung, so dass ich diesen Teil des Codes neu schreiben, jetzt kann ich das Video durch aufrufen die Funktion get id. aber für den Nachrichtenfehler, der immer noch nicht funktioniert. – user570782

+0

"Undefinierter Index: picid" :: überprüfe, ob du "picid = xyz" im Abfrageteil deiner URL hast. Scheint es fehlt. –