首页 > 解决方案 > 使用 PHP/JS/MYSQL 恢复 ID 或值

问题描述

我正在做一个项目,我需要在 php 或 js 中恢复 Id

我在同一个表(mySql)中有 2 行第 1 行 = id_answer 和第 2 行 = 文本

我在代码中使用 foreach 来利用第一行文本。

我搜索以同时在 div、我的文本和值中关联引用此答案的 Id。

<ul id="listQuestionResponseFaq" class="col-sm-12 pad-0">

<?php 
   foreach ($questionResponseArrayFaq as $questionResponseFaq ) {
    ?>
     <li class="liSearchFaq col-sm-8 col-sm-offset-2 pad-0">
       <div class='panel padding txtLeft' value="<?php $answerSearch ?> ">
         <?php echo $questionResponseFaq; ?>                   
       </div> 
      </li>
<?php
  } 
?> 
</ul>

我不知道如何恢复 id_answer 并插入我的答案。所有答案的ID都不相同。每个答案都有不同的 ID

谢谢帮助我

MySQLBase

$queryFaq = $pdoRepository->executeQuery("
SELECT DISTINCT fa.* FROM form_answer AS fa
LEFT JOIN form_option_filter AS fof
ON fof.id_option = fa.id_option
LEFT JOIN form_option AS fo
ON fo.id_option = fa.id_option
WHERE fof.statut = 1
AND fo.search = 1");

if ($queryFaq) {
$questionResponseArrayFaq = array();
while ($row = $queryFaq->fetch(PDO::FETCH_ASSOC)) {     
    $questionsSearch = $row['text'];
    $answerSearch = $row['id_answer'];

    array_push($questionResponseArrayFaq, $questionsSearch);        

    }
}

标签: javascriptphpmysql

解决方案


我想我理解您在寻找什么,如果是这样,我将建议您采用不同的方法来利用 PHP 的关联数组循环。

$questions = array();
while ($row = $queryFaq->fetch(PDO::FETCH_ASSOC)) 
{
    $questions[$row['text']] = $row['id_answer'];
}

foreach($questions as $question => $answer)
{
  echo 'Question: ' . sanitize($question);
  echo 'Answer:' . sanitize($answer);
}

如果你真的想要 2 个单独的数组,你可以使用resetnext函数来迭代。我在很久以前的另一个堆栈溢出示例中找到了这个,但现在找不到。如果有人确实可以随意参考并给予信任。

$questions = array();
$answers = array();
while ($row = $queryFaq->fetch(PDO::FETCH_ASSOC)) 
{
    $questions[] = $row['text']
    $answers[] = $row['id_answer'];
}

$answer = reset($answers);
foreach($questions as $question)
{
  echo 'Question: ' . sanitize($question);
  echo 'Answer:' . sanitize($answer);
  $answer = next($answers);
}

推荐阅读