该表每次显示五次课程(查询课程的数量)。我希望每个人只根据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 ';
}
}
?>
答案 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!");