PHP在一个页面上多次执行数组
我想在一个页面上运行两个独立的foreach循环,但只编写一次SQL。例如,请参见下面的代码,只有id为第一次运行的ul,第二个ul为空PHP在一个页面上多次执行数组,php,arrays,Php,Arrays,我想在一个页面上运行两个独立的foreach循环,但只编写一次SQL。例如,请参见下面的代码,只有id为第一次运行的ul,第二个ul为空 <?php $mylist = 'SELECT * FROM myTable'; $showlist = $pdo->prepare($mylist); $showlist->execute(); ?> <ul id="first">
<?php
$mylist = 'SELECT * FROM myTable';
$showlist = $pdo->prepare($mylist);
$showlist->execute();
?>
<ul id="first">
<?php foreach ($showlist as $rowid):;?>
<li><?php echo $rowid['id'] ?></li>
<?php endforeach; ?>
</ul>
<ul id="second">
<?php foreach ($showlist as $rowname):;?>
<li><?php echo $rowname['name'] ?></li>
<?php endforeach; ?>
</ul>
我以为重命名as会允许我再次使用它,但事实似乎并非如此?这里最好的方法是什么?试试:
<?php
$mylist = 'SELECT * FROM myTable';
$showlist = $pdo->prepare($mylist);
$showlist->execute();
$result = $showlist->fetchAll();
foreach ($result as $rowid) {
// do stuff
}
foreach ($result as $rowname) {
// do stuff
}
试试:
您需要先将元素堆叠在一个额外的数组中:
$mylist = 'SELECT * FROM myTable';
$showlist = $pdo->prepare($mylist);
$showlist->execute();
$rows = array();
foreach($showlist as $row) {
array_push($rows, $row);
}
echo "<ul>";
foreach($rows as $row) {
echo "<li>".$row['id']."</li>";
}
echo "</ul><ul>";
foreach($rows as $row) {
echo "<li>".$row['name']."</li>";
}
echo "</ul>";
$mylist='SELECT*FROM myTable';
$showlist=$pdo->prepare($mylist);
$showlist->execute();
$rows=array();
foreach($showlist作为$row){
数组\u push($rows,$row);
}
回声“”;
foreach($行作为$行){
回显“- ”$row['id']。“
”;
}
回声“
”;
foreach($行作为$行){
回显“- ”$row['name']。“
”;
}
回声“
”;
您需要先将元素堆叠在一个额外的数组中:
$mylist = 'SELECT * FROM myTable';
$showlist = $pdo->prepare($mylist);
$showlist->execute();
$rows = array();
foreach($showlist as $row) {
array_push($rows, $row);
}
echo "<ul>";
foreach($rows as $row) {
echo "<li>".$row['id']."</li>";
}
echo "</ul><ul>";
foreach($rows as $row) {
echo "<li>".$row['name']."</li>";
}
echo "</ul>";
$mylist='SELECT*FROM myTable';
$showlist=$pdo->prepare($mylist);
$showlist->execute();
$rows=array();
foreach($showlist作为$row){
数组\u push($rows,$row);
}
回声“”;
foreach($行作为$行){
回显“- ”$row['id']。“
”;
}
回声“
”;
foreach($行作为$行){
回显“- ”$row['name']。“
”;
}
回声“
”;
可能重复@AlmaDoMundo fair call,因为它们是重复的。我认为这里的两个答案比另一个网站要好,不过就如何让它工作而言?可能是@AlmaDoMundo fair call的重复。我认为这里的两个答案比另一个网站更好,不过就如何让它工作而言?