首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从faq表中显示faq页面中的所有行?

如何从faq表中显示faq页面中的所有行?
EN

Stack Overflow用户
提问于 2013-11-18 10:59:56
回答 2查看 143关注 0票数 1

这是一个常见问题页面。该页只能在数据库中显示与其答案有关的最后一行问题。当我点击数据库中的所有问题时,我希望它崩溃并显示出它的问题的答案。我该怎么做呢?谢谢!非常感谢!面板。我想把它显示为:

问题A

  • 答A

问题B

  • 回答B

问题C

  • 回答C

现在它只显示了这一点:

问题C

  • 回答C

表结构:

# Name类型排序规则空默认

1 Id国际编号无

2 Latin1_swedish_ci无疑问

3回答Varchar Latin1_swedish_ci无

4状态Latin1_swedish_ci无

5 Date_added日期无

下面是我的代码:

代码语言:javascript
复制
 <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";
    }

?> 
EN

回答 2

Stack Overflow用户

发布于 2013-11-18 12:51:20

兄弟太多了..。好的,那么你应该编写代码below.Now,它应该能工作,兄弟。:-)

代码语言:javascript
复制
<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";
    }

?> 
票数 1
EN

Stack Overflow用户

发布于 2013-11-18 13:24:09

  1. 停止使用mysql_函数。他们不受欢迎,也不安全。学习使用PDO代替。这里有一个很好的参考资料:http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html
  2. 您的查询都是错误的。不需要先从表中选择问题,然后循环这些问题以得到答案。只需选择*或选择questionanswer ..。您可以同时选择多个列,而不仅仅是一个列。

下面是一个示例代码:

代码语言:javascript
复制
<?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 />";
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20046103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档