2014-02-07 27 views
-1

我有一個PHP代碼:PHP MYSQL:IF語句(比較來自select語句的數據)(錯誤:顯示爲Nothing)

$query = mysql_query('SELECT movie_tittle, sinopsis, actors, poster 
        FROM (SELECT movie_tittle, sinopsis, actors, 
         poster, cinema from `margoplatinum`.movie 
        UNION 
        SELECT movie_tittle, sinopsis, actors, poster, cinema 
         from `detos21`.movie 
        UNION 
        SELECT movie_tittle, sinopsis, actors, poster, cinema 
         from `plaza21`.movie) AS a 
        WHERE a.movie_tittle = "Comic 8"'); 

IF ('cinema' == "Margo Platinum") { 

$json = '{"film": ['; 

while($row=mysql_fetch_array($query)) 
    { 
     $char = '"'; 

     $json .='{ 
     "movie_tittle":"'.str_replace($char,'`',strip_tags($row["movie_tittle"])).'", 
     "sinopsis":"'.str_replace($char,'`',strip_tags($row["sinopsis"])).'", 
     "actors":"'.str_replace($char,'`',strip_tags($row["actors"])).'", 
     "poster":"http://10.0.2.2/cinemainfo/margoplatinum/image/'.$row["poster"].'"},'; 

    } 
$json = substr($json,0,strlen($json)-1); 

$json .= ']}'; 

// print json 
echo $json; 
} 

IF ('cinema' == "21 Delta Town Square") { 

$json = '{"film": ['; 

while($row=mysql_fetch_array($query)) 
    { 
     $char = '"'; 

     $json .='{ 
     "movie_tittle":"'.str_replace($char,'`',strip_tags($row["movie_tittle"])).'", 
     "sinopsis":"'.str_replace($char,'`',strip_tags($row["sinopsis"])).'", 
     "actors":"'.str_replace($char,'`',strip_tags($row["actors"])).'", 
     "poster":"http://10.0.2.2/cinemainfo/detos21/image/'.$row["poster"].'"},'; 

    } 
$json = substr($json,0,strlen($json)-1); 

$json .= ']}'; 

// print json 
echo $json; 
} 

IF ('cinema' == "21 Plaza") { 

$json = '{"film": ['; 

while($row=mysql_fetch_array($query)) 
    { 
     $char = '"'; 

     $json .='{ 
     "movie_tittle":"'.str_replace($char,'`',strip_tags($row["movie_tittle"])).'", 
     "sinopsis":"'.str_replace($char,'`',strip_tags($row["sinopsis"])).'", 
     "actors":"'.str_replace($char,'`',strip_tags($row["actors"])).'", 
     "poster":"http://10.0.2.2/cinemainfo/plaza21/image/'.$row["poster"].'"},'; 

    } 
$json = substr($json,0,strlen($json)-1); 

$json .= ']}'; 

// print json 
echo $json; 
} 

我有三個數據庫,我想從他們那裏得到一些數據。所以我使用UNION子句。它適用於其他的PHP代碼。

所以,現在,我從select語句中獲取數據,並且想要將來自cinema列的數據與字符串(例如, "Margo Platinum",如果True,則轉換爲JSON的代碼。 但問題是,當我執行該代碼時,它不返回任何內容顯示。 代碼是否正確? 請幫我寫出正確的:( 我真的很感謝你的幫助 謝謝:)

+1

' '電影院' == 「馬戈白金」'(等)將永遠不會真正 – 2014-02-07 06:05:01

+0

IF( '電影院' == 「馬戈白金」) - 什麼這是? – ripa

+0

你正在和電腦交談......? :) – user1844933

回答

0

Grrr。我不能評論上面,所以不得不寫一個答案。 上面的人已經給了你答案,只是有點複雜。 通過具有

'cinema' == "Margo Platinum" 

你只是比較兩個字符串,所以它永遠不會等於真實,這就是爲什麼這種狀態在您的代碼什麼也不做。

我注意到你也在使用不推薦使用的mysql_query和mysql_fetch_array。你可能想要使用mysqli_query和mysqli_fetch_array。 我也沒有看到任何你將電影欄的結果放入一個叫做影院的變量,但我對json並不熟悉。

無論如何,你正在比較兩個不會工作的字符串。

0

可能的解決方法(未測試):

$query = mysql_query("SELECT movie_tittle, sinopsis, actors, poster, 'margoplatinum' AS code 
        FROM `margoplatinum`.movie 
        UNION 
        SELECT movie_tittle, sinopsis, actors, poster, 'detos21' AS code 
        FROM `detos21`.movie 
        UNION 
        SELECT movie_tittle, sinopsis, actors, poster, 'plaza21' AS code 
        FROM `plaza21`.movie 
        WHERE movie_tittle = 'Comic 8'"); 

$json = '{"film": ['; 

while($row=mysql_fetch_array($query)) 
{ 
    $char = '"'; 
    $json .='{ 
     "movie_tittle":"'.str_replace($char,'`',strip_tags($row["movie_tittle"])).'", 
     "sinopsis":"'.str_replace($char,'`',strip_tags($row["sinopsis"])).'", 
     "actors":"'.str_replace($char,'`',strip_tags($row["actors"])).'", 
     "poster":"http://10.0.2.2/cinemainfo/' . $row["code"] . '/image/'.$row["poster"].'"},'; 
} 
$json = substr($json,0,strlen($json)-1); 
$json .= ']}'; 

// print json 
echo $json;