2014-09-20 4 views
0

У меня проблема с использованием функции array_combine. Это сценарий, я используюArray_combine с использованием PHP и MySql

$questionSQL = mysql_query("SELECT * FROM tbl_questions ORDER BY id ASC"); 
$questions = array(); 
while($row = mysql_fetch_array($questionSQL)){ 
$int_q = $row['question']; 
$questions[] = $int_q; 
} 

$answerSQL = mysql_query("SELECT * FROM tbl_answers ORDER BY id DESC"); 
$answers = array(); 
while($row = mysql_fetch_array($answerSQL)){ 
$int_a = $row['answer']; 
$answers[] = $int_a; 
} 


echo '<div class="interviewBox">'; 
foreach(array_combine($questions, $answers) as $question => $answer) { 
echo' 

<p><b>'.questionName($question).'</b></p> 
<p style="margin-bottom:20px;"><u>Answer:</u><br /> 
'.$answer.' 
</p>'; 
} 
echo '</div>'; 

Из базы данных, извлечь два массива, как показано выше. Тогда, когда я использую array_combine, на экране ничего не появляется. Кажется, что функция не распознает массив. Я не могу понять причину.

+2

'var_dump()' ваши ценности, чтобы найти ошибку –

+0

Привет, я уже использовал функцию var_dump() и все в порядке ... – user3607990

+0

Зачем два запроса SQL? Используйте JOIN, и вы можете получить свои данные в одном запросе, без необходимости в array_combine. Вы можете написать весь скрипт в 5 строках кода. –

ответ

0

Это должно работать лучше

$questions_and_answers = array(); 
$questions_and_answers_SQL = mysql_query(" 
    SELECT tbl_questions.questions, tbl_answers.answers 
    FROM tbl_questions 
    JOIN tbl_answers ON tbl_answers.id = tbl_questions.id 
    ORDER BY tbl_questions.id ASC"); 
while($row = mysql_fetch_array($questions_and_answers_SQL)){ 
    $questions_and_answers[$row['question']] = $row['answer']; 
} 


echo '<div class="interviewBox">'; 
foreach(questions_and_answers as $question => $answer) { 
echo' 

<p><b>'.questionName($question).'</b></p> 
<p style="margin-bottom:20px;"><u>Answer:</u><br /> 
'.$answer.' 
</p>'; 
} 
echo '</div>'; 
+0

Большое спасибо за ваше предложение. Теперь скрипт работает так, как ожидалось. – user3607990

Смежные вопросы