我在回显数组元素方面遇到了一些问题。
我正在使用PHP来循环数据库中的结果,然后将它们存储在单独的数组中,这样我就可以在页面的下方单独使用它们(这可能效率低下但我不知道如何做到这一点)。
当我在数组中只有一个结果时,我的问题出现了,当我回显结果时,它会为$Advert[0]
重复与$Advert[1]
相同的结果,即使第二个结果为空。
我使用print_r()
来确认这一点。最奇怪的是,它使用非常相似的代码以及与$DisplayedJobTitle
数组在同一页面上的不同页面上工作正常。
我错过了什么吗?以下是代码:
$AppQuery = "SELECT Displayed_Job_Title, Applicant_Town, Applicant_Advert FROM Applicants WHERE Status LIKE 'Listed' ORDER BY Applicant_ID DESC LIMIT 4";
$AppStmt = $con->prepare($AppQuery);
$AppStmt->execute() or die("Something went wrong, could not find recent vancacies :-( ".mysqli_error($con));
$AppResult = $AppStmt->get_result();
$DisplayedJobTitle = array();
$Town = array();
$Advert = array();
while ($AppRow = $AppResult->fetch_object()) {
$DisplayedJobTitle[] = $AppRow->Displayed_Job_Title;
$Town[] = $AppRow->Applicant_Town;
$Advert[] = $AppRow->Applicant_Advert;
}
然后在页面下方:
<?php echo $DisplayedJobTitle[0]; ?>
但有效:
<?php
echo $Town[0] ."<br /><br />";
echo $Advert[0];
?>
没有。它只是重复相同的数据。我在页面上各有四个,每个都递增一个$Advert[1]
$Advert[2]
等。
我已经尝试过使用if语句来检查特定数组元素为空的天气,或者是否为null或是否已设置并执行相同的操作。
答案 0 :(得分:-1)
你只需要一个索引。
$i = 0;
while ($AppRow = $AppResult->fetch_object()) {
$DisplayedJobTitle[$i] = $AppRow->Displayed_Job_Title;
$Town[$i] = $AppRow->Applicant_Town;
$Advert[$i] = $AppRow->Applicant_Advert;
$i++;
}