Php 如何从我的faq表中显示我的faq页面中的所有行?
这是一个常见问题页面。页面只能显示数据库中与其答案相关的最后一行问题。当我点击数据库中的所有问题时,我希望它崩溃并显示关于它的问题的答案。我该怎么做呢?谢谢非常感谢! 面板我希望它显示为: 问题A 回答A 问题B 答复B 问题C 答复C 现在它只显示以下内容: 问题C 答复C 表结构: 名称类型排序规则空默认值 1 Id Int No None 2问题Varchar拉丁语1\u瑞典语\u ci无 3回答Varchar拉丁语1_瑞典语1_ci无 4状态Varchar拉丁语1\u瑞典语\u ci无 5日期\添加日期否无 下面是我的代码:Php 如何从我的faq表中显示我的faq页面中的所有行?,php,mysql,database,Php,Mysql,Database,这是一个常见问题页面。页面只能显示数据库中与其答案相关的最后一行问题。当我点击数据库中的所有问题时,我希望它崩溃并显示关于它的问题的答案。我该怎么做呢?谢谢非常感谢! 面板我希望它显示为: 问题A 回答A 问题B 答复B 问题C 答复C 现在它只显示以下内容: 问题C 答复C 表结构: 名称类型排序规则空默认值 1 Id Int No None 2问题Varchar拉丁语1\u瑞典语\u ci无 3回答Varchar拉丁语1_瑞典语1_ci无 4状态Varchar拉丁语1\u瑞典语\u ci无
<h1>FAQ</h1>
<?php
$result = mysql_query("SELECT * FROM faq ORDER BY id ASC;");
if($result >= 1 ){
$i=1;
while ($row = mysql_fetch_array($result))
{ $id = $row["id"];
?>
<?php
$i++; }
}
?>
<?php
$queryquestion = mysql_query("SELECT question FROM faq where status='Enabled' AND id='$id' ORDER BY id ASC;")or die(mysql_error());
$data = mysql_fetch_assoc($queryquestion);
$question = $data['question'];
$rows = mysql_num_rows($queryquestion);
if($rows != 0){
echo '
<hr class="colorgraph">
<div class="panel-group" id="accordion">
';
$i = 0; $j = 0;
while($i < $rows)
{
$queryanswer = mysql_query("SELECT answer FROM faq WHERE id='$id' AND question='$question'") or die(mysql_error());
$data = mysql_fetch_assoc($queryanswer);
$answer = $data['answer'];
echo
'
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse'.$i.'">
'.$question.'</h4>
</a></div>
<div id="collapse'.$i.'" class="panel-collapse collapse">
<div class="panel-body">'.$answer.'</div>
</div>
</div>
';
$i++;
}
echo'
</div>
';
}else{
echo "No Questions Found";
}
?>
太过分了,兄弟。。好的,那么你应该写下面的代码。现在它应该可以工作了,兄弟..:-
<h1>FAQ</h1>
<?php
$result = mysql_query("SELECT * FROM faq ORDER BY id ASC;");
if($result >= 1 ){
$i=1;
while ($row = mysql_fetch_array($result))
{ $id = $row["id"];
//echo $id;
?>
<?php
$i++; }
}
?>
<?php
$queryquestion = mysql_query("SELECT * FROM faq where status='Enabled' ORDER BY id ASC;")or die(mysql_error());
$rows = mysql_num_rows($queryquestion);
if($rows != 0){
echo '
<hr class="colorgraph">
<div class="panel-group" id="accordion">
';
$i = 0; $j = 0;
while($data = mysql_fetch_assoc($queryquestion))
{
echo
'
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse'.$i.'">
'.$data['question'].'</h4>
</a></div>
<div id="collapse'.$i.'" class="panel-collapse collapse">
<div class="panel-body">'.$data['answer'].'</div>
</div>
</div>
';
$i++;
}
echo'
</div>
';
}else{
echo "No Questions Found";
}
?>
太过分了,兄弟。。好的,那么你应该写下面的代码。现在它应该可以工作了,兄弟..:-
<h1>FAQ</h1>
<?php
$result = mysql_query("SELECT * FROM faq ORDER BY id ASC;");
if($result >= 1 ){
$i=1;
while ($row = mysql_fetch_array($result))
{ $id = $row["id"];
//echo $id;
?>
<?php
$i++; }
}
?>
<?php
$queryquestion = mysql_query("SELECT * FROM faq where status='Enabled' ORDER BY id ASC;")or die(mysql_error());
$rows = mysql_num_rows($queryquestion);
if($rows != 0){
echo '
<hr class="colorgraph">
<div class="panel-group" id="accordion">
';
$i = 0; $j = 0;
while($data = mysql_fetch_assoc($queryquestion))
{
echo
'
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse'.$i.'">
'.$data['question'].'</h4>
</a></div>
<div id="collapse'.$i.'" class="panel-collapse collapse">
<div class="panel-body">'.$data['answer'].'</div>
</div>
</div>
';
$i++;
}
echo'
</div>
';
}else{
echo "No Questions Found";
}
?>
停止使用mysql函数。它们已被弃用且不安全。学习使用PDO代替。这里有一个很好的参考:
你做的查询都错了。不需要先从表中选择问题,然后循环这些问题以获得答案。。只需选择*或选择问题、答案。。。您可以一次选择多个列,而不仅仅是一个列
下面是一个示例代码:
<?php
$hostname = 'localhost';
$username = 'root';
$password = '';
$dbh = new PDO("mysql:host=$hostname;dbname=test", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$sql = $dbh->prepare("SELECT * FROM `faq` WHERE `Status`='Enabled' ORDER BY id");
$sql->execute();
$result = $sql->fetchAll();
$i=0;
foreach ($result as $row) {
$i++;
echo "<h2>Question $i</h2>";
echo "<p>".$row['Question']."</p>";
echo "Answer: ".$row['Answer'];
echo "<br /><br />";
}
?>
停止使用mysql函数。它们已被弃用且不安全。学习使用PDO代替。这里有一个很好的参考:
你做的查询都错了。不需要先从表中选择问题,然后循环这些问题以获得答案。。只需选择*或选择问题、答案。。。您可以一次选择多个列,而不仅仅是一个列
下面是一个示例代码:
<?php
$hostname = 'localhost';
$username = 'root';
$password = '';
$dbh = new PDO("mysql:host=$hostname;dbname=test", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$sql = $dbh->prepare("SELECT * FROM `faq` WHERE `Status`='Enabled' ORDER BY id");
$sql->execute();
$result = $sql->fetchAll();
$i=0;
foreach ($result as $row) {
$i++;
echo "<h2>Question $i</h2>";
echo "<p>".$row['Question']."</p>";
echo "Answer: ".$row['Answer'];
echo "<br /><br />";
}
?>
废话废话。你的问题和答案存储在不同的表中吗?请提供表结构。我不能理解这些查询和循环的目的。我也不能。你选择了相同的东西两次。这有什么意义?废话废话。你的问题和答案存储在不同的表中吗?请提供表结构。我无法理解这些查询和循环的目的。我也不能。你选择了相同的东西两次。那有什么意思?嗨!谢谢你抽出时间来帮助我。但是,当我试图在我的页面上使用您编辑的代码时,它无法得到我想要的结果。它表明:问题A,回答A,并不断重复前两个信息。我似乎无法将您的代码放在我的设计中。这是行不通的=你好谢谢你抽出时间来帮助我。但是,当我试图在我的页面上使用您编辑的代码时,它无法得到我想要的结果。它表明:问题A,回答A,并不断重复前两个信息。我似乎无法将您的代码放在我的设计中。这是行不通的=谢谢@cen!我来看看你给我的链接。但是我觉得我的查询有问题,不允许我得到结果。我将尝试调试。如果没有,我将尝试使用PDO。谢谢你的帮助!谢谢@cen!我来看看你给我的链接。但是我觉得我的查询有问题,不允许我得到结果。我将尝试调试。如果没有,我将尝试使用PDO。谢谢你的帮助!