php - 试图回显一个返回的加入My_SQL查询与foreach循环
问题描述:
下面的代码打印每一行的单词,然后打破,这是我编码做的。php - 试图回显一个返回的加入My_SQL查询与foreach循环
不过,我希望它是更聪明,并尝试在同一行打印*$single*
三次,所以它会说的第一个用户名,姓,和它们的顺序描述所有的同一行。
我该如何去做这件事?
<?php
//turn off error reporting for security
//connecting to database as mysqli class
$db = new mysqli("localhost", "root", "banana2", "cool");
if($db->connect_errno){
echo $db->connect_errno;
}
$query1 = $db->query("SELECT first_name, last_name, orders.order_description FROM
users JOIN orders on users.id=orders.employee_id");
$sharp = $query1->fetch_all(MYSQLI_ASSOC);
function doAgain($sharp){
foreach($sharp as $single){
if(is_array($single)){
doAgain($single);
}
else{
echo $single."<br>";
}
}
}
doAgain($sharp);
?>
答
只需使用一个单一的foreach
循环,打印在同一行的每一行:
foreach ($sharp as $row) {
echo "$row[first_name] $row[last_name] $row[order_description]<br>";
}
答
你需要的功能doAgain?
$rows = $query1->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row) {
foreach ($row as $fieldname => $value) {
echo $value . ' ';
}
echo '<br/>';
}
答
mySQL列是数组的索引。例如,你可以呼应
echo $single['first_name'].$single['last_name'];
我喜欢你的逻辑了很多,但不知道如何$字段名=>值进场时,它有与fetch_all功能呢? – user3340015
哦,你可以使用($行作为$值) - 值将是每列的值,所以你不必命名它们 –