我的PHP while循环($ row = mysql_fetch_array($ query));显示多次而不是一次

时间:2016-01-31 12:50:20

标签: php mysql

该表每次显示五次课程(查询课程的数量)。我希望每个人只根据If else语句显示一次。我的代码有什么问题?

<?php
     $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'");

      while ($row = mysql_fetch_array($query)) {

      if ($row['lesson']  == "Reproductive system 01a")
     {
    echo 'Reproductive system 01a Completed ';
   }
    else
     {
    echo '<a href="file:///D|/CC-Gate/localhost">Reproductive system 01a</a>';
    }
}

?>



 <?php



  $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'");

           while ($row = mysql_fetch_array($query)) {
  if ($row['index_no'] !== '456' && $row['lesson'] !== "Fertilisation      process") { // this is redundant as  your query handles this
        echo '<a href="file:///D|/CC-Gate/localhost">Fertilisation process</a>';
   } else {
       echo 'Fertilisation process Completed';
   }
}
?>

此代码正常运行:

<?php

       $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'");

      while ($row = mysql_fetch_array($query)) {

         if ($row['index_no'] !== '456' && $row['lesson'] !== "pregnancy") { // this is redundant as  your query handles this
          echo '<a href="file:///D|/CC-Gate/localhost">pregnancy</a>';
       } else {
        echo 'pregnancy Completed ';
      }
      }
?>

<?php
    $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'");

    while ($row = mysql_fetch_array($query)) {

        if ($row['lesson']  == "Birth process")
         {
            echo 'Birth process Completed ';
        }
         else
         {
            echo '<a href="file:///D|/CC-Gate/localhost">Birth process </a>Birth process Completed ';
        }
    }
?>

1 个答案:

答案 0 :(得分:0)

你很可能有重复的行具有相同的index_no 此查询显示了多少结果?

SELECT index_no, count(index_no) as duplicate FROM c8_lessons_list WHERE index_no ='456' GROUP BY index_no

您必须进行重复数据删除(删除旧行),然后向index_no

添加唯一键索引

===

编辑:

好吧,在你的评论中,你说你在这一行中有一个错误,其中mysqli需要2个参数......

$query = mysqli_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456' && lesson='Reproductive system 01a'");

那是因为在mysql i 中你必须引用连接,例如:

$sql = $mysqli->query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456' && lesson='Reproductive system 01a'") or die (mysqli_errro($mysqli));

$mysqli是您的连接,例如:

$mysqli = @mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die("Server Overloaded. Please try again in a few moments!");