不要在SQL工作(其中......然后......)
所有代码不要在SQL工作(其中......然后......)
<?php
$subject;
$query="SELECT * ";
$query.="FROM SUBJECTS ";
$query.="WHERE VISIBLE = 1 ";
$query.="ORDER BY POSITION ASC";
$subject_set=mysqli_query($connection,$query);
Confrim_query($subject_set);
?>
<?php
while($subject=mysqli_fetch_assoc($subject_set)){?>
<li><?php echo $subject["MENU_NAME"] . "(".$subject["ID"].")"; ?>
<?php }?>
<?php
$query="SELECT * ";
$query .="FROM PAGES ";
$query .="WHERE VISIBLE = 1 ";
$query .="AND SUBJECT_ID = {$subject['ID']"} ;
$query .="ORDER BY POSITION ASC";
$page_set=mysqli_query($connection,$query);
Confrim_query($page_set);
?>
但是这部分代码没有运行和页面没有任何显示
<ul class="page">
<?php
while($page=mysqli_fetch_assoc($page_set)){ ?>
<li><?php echo $page["MENU_NAME"] ?></li>
<?php }?>
<?php mysqli_free_result($page_set); ?>
</ul>
</li>
<?php mysqli_free_result($subject_set); ?>
</ul>
时添加这个:
$ query。=“AND SUBJECT_ID = {$ subject ['ID']”};
这部分无法重装数据库并失败。
我找到了答案....什么是问题
while ($subject = mysqli_fetch_assoc($subject_set))
{?>
<li><?PHP echo $subject['MENU_NAME'] . "(" . $subject['ID'] . ")";
后必须添加查询
$query = "SELECT * ";
$query .= "FROM PAGES ";
$query .= "WHERE SUBJECT_ID={$subject['ID']} ";
$query .= "ORDER BY SUBJECT_ID ASC ";
$page_set = mysqli_query($connection, $query);
Confrim_query($page_set);
在$subject['ID']
前面的字符串中有一个花括号,字符串的外面有一个括号。
我不认为你需要大括号来使查询工作,试图删除它们,看看它是否工作。
SELECT * FROM PAGES WHERE VISIBLE = 1 AND SUBJECT_ID = $subject['ID'] ORDER BY POSITION ASC;
不变,不显示项D: –
您是否遇到任何SQL错误'mysqli_error($连接)')? –
这是行不通的,因为如果'$ subject ['ID']'。我相信这个命令总体上存在问题。 – McStuffins
'$查询=“AND SUBJECT_ID = {$主题[ 'ID']}“;'...'}'在引号之外 –
双引号在错误的地方。请尝试使用:'$ query。=“和SUBJECT_ID = {$ subject ['ID']}”;' – JazZ
请尝试使英文更清晰 –