2014-09-27 30 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); 
    ?> 
相关问题