2014-09-27 37 views
0

我正在運行下面的代碼,但無法讓if語句正常工作。我希望能夠刪除div如果沒有內容,如果有,然後顯示它,但目前它要麼全部刪除它,如果一個數據庫條目是空的,而不是隻刪除1空行。如果雄蕊對數據庫查詢不起作用

   <?php 
    $con = new mysqli($DBServer, $DBUser, $DBPass, $DBName); 
    if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
    extract($_GET); 
    { $result = mysqli_query($con,"SELECT * FROM links ORDER by id "); 
    while($row = mysqli_fetch_array($result)) { 

    if ($section=""){ 
    echo""; 
    } 
    elseif ($section="a"){ 
    echo"<div class=\"page-header\">" . $row['section'] . "\</div>"; 
    } 


     echo "<div class=\"links-wrap\"> 
     <div class=\"links-box\"> 
     <div class=\"links-image\"><img src=\"images/links/" . $row['img1'] . "\"></div> 
     <div class=\"links-site-txt\">" . $row['link1'] . "</div> 
     <div class=\"links-desc\">" . $row['desc1'] . "</div> 
     </div> 
     <div class=\"spacer-left\"></div> 
     <div class=\"links-box\"></div> 
     <div class=\"spacer-left\"></div> 
     <div class=\"links-box\"></div> 
      </div>";}} 
     mysqli_close($con); 
     ?> 
+0

你在哪裏設置'$ section'? – Aquillo 2014-09-27 14:29:10

回答

0

爲了通過ifelseif==需要不=比較值。 =通常用於爲變量賦值。改變你的代碼,如下所示。

$con = new mysqli($DBServer, $DBUser, $DBPass, $DBName); 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
extract($_GET); 

$result = mysqli_query($con,"SELECT * FROM links ORDER by id "); 

while($row = mysqli_fetch_array($result)) { 
    $section = $row['section']; 
    if ($section == ""){ 
     echo ""; 
    } 
    elseif ($section == "a"){ 
     echo"<div class=\"page-header\">" . $row['section'] . "\</div>"; 
    } 

    echo "<div class=\"links-wrap\"> 
    <div class=\"links-box\"> 
    <div class=\"links-image\"><img src=\"images/links/" . $row['img1'] . "\"></div> 
    <div class=\"links-site-txt\">" . $row['link1'] . "</div> 
    <div class=\"links-desc\">" . $row['desc1'] . "</div> 
    </div> 
    <div class=\"spacer-left\"></div> 
    <div class=\"links-box\"></div> 
    <div class=\"spacer-left\"></div> 
    <div class=\"links-box\"></div> 
     </div>"; 
} 

mysqli_close($con); 
+0

謝謝你,但我現在得到通知:未定義的變量:第20行的部分? – 2014-09-27 15:03:33

+0

因爲你沒有定義'$ section'。將其定義在代碼的第一個頂部。 – MH2K9 2014-09-27 15:05:07

+0

對不起,我是新來的PHP,並不確定需要做什麼來定義它。它應該從數據庫拉值? – 2014-09-27 15:07:34

0
<?php 
$con = new mysqli($DBServer, $DBUser, $DBPass, $DBName); 
if (mysqli_connect_errno()) { 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
extract($_GET); 
{ $result = mysqli_query($con,"SELECT * FROM links ORDER by id "); 
while($row = mysqli_fetch_array($result)) { 

if ($section == ""){ //double equality for condition check 
echo ""; 
} 
else if ($section == "a"){ 
echo"<div class=\"page-header\">" . $row['section'] . "\</div>"; 
} 


    echo "<div class=\"links-wrap\"> 
    <div class=\"links-box\"> 
    <div class=\"links-image\"><img src=\"images/links/" . $row['img1'] . "\"></div> 
    <div class=\"links-site-txt\">" . $row['link1'] . "</div> 
    <div class=\"links-desc\">" . $row['desc1'] . "</div> 
    </div> 
    <div class=\"spacer-left\"></div> 
    <div class=\"links-box\"></div> 
    <div class=\"spacer-left\"></div> 
    <div class=\"links-box\"></div> 
     </div>";}} 
    mysqli_close($con); 
    ?> 
相關問題