2013-10-13 93 views
0

我的MySQL數據中有兩行,我希望只有在MySQL行數據等於'1'(而不是'0')時纔會回顯代碼。下面的代碼,到目前爲止,這似乎有一些嚴重的錯誤:只有當MySQL值匹配時纔會回顯文本

$query = "SELECT 162, 164 FROM search WHERE title = $title"; 

if ($result = $mysqli->query($query)) { 
    while ($row = $result->fetch_row()) { 
     if ($row["162"] = 1) { 
      echo '<div id="162link">1.6.2</div>'; 
      } 
     } 
     if ($row["164"] = 1) { 
      echo '<div id="162link">1.6.2</div>'; 
      } 
     } 
    } 

    $result->close(); 
} 

$mysqli->close(); 

由於它的代碼表示,上述兩行是「162」,並在數據庫中的「164」。

+4

單挑,'='用於賦值,'=='用於檢查值(丟失),'==='用於檢查標識值(嚴格)。 – Mark

+2

SELECT 162,164將從字面上返回這些值,而不是相應的列。 – jacouh

+1

用「IF」語句檢查你的大括號 – WebNovice

回答

2

用途:

if ($row["162"] == 1) 

相反的:

if ($row["162"] = 1) 

和:

if ($row["164"] == 1) 
1

我想你這樣的事情,如果它給你一些想法:

$host = "localhost"; 
$user = "myusername"; 
$pass = "mypassword"; 
$database = "WorldEngine"; 

$mysqli = new mysqli($host, $user, $pass, $database); 

$title = "My Good News"; 
$query = "SELECT `162`, `164` FROM search WHERE title = '$title';"; 

if ($result = $mysqli->query($query)) { 
    $i = 0; 
    while ($row = $result->fetch_row()) { 
     if ($row["162"] == 1) { 
      echo '<div id="162link' . $i . '">1.6.2</div>'; 
     } 
     if ($row["164"] == 1) { 
      echo '<div id="164link' . $i . '">1.6.4</div>'; 
     } 
     $i++; 
    } 

    $result->free(); 
} 

$mysqli->close(); 

將索引$ i附加到div ID以便在HTML文檔中生成唯一的DOM元素ID。我還建議你改變你的數字列名成字母開頭的名字,如c162,c164,...

希望這會幫助你。

相關問題