所以我有一个mysql表,里面有值。我在页面上回显了尽可能多的元素,表中的列数也很多。我正在做这个循环,我想知道我如何能够回显所有这些元素(我在屏幕上按列数打印),一个标题存储在表中,每列都有这个。我如何得到印刷元素的数量,我应该回显什么标题(或行)? 我现在用ids做这个,但是如果我删除一个列怎么办?一个数字将丢失。所以我需要它而不使用ID。抱歉我的英语,我是匈牙利人 代码:
<?php
$mysqli = new mysqli("localhost","***","***","***");
$result = $mysqli->query("SELECT * FROM `products`");
for($i = 0; $i < $result->num_rows; $i++){
$j = $i + 1;
$res = $mysqli->query("SELECT * FROM `products` WHERE `id` =" . $j);
$row=mysqli_fetch_array($res,MYSQLI_ASSOC);
$product = $row["name"];
echo '
<div class="demo-graphs mdl-shadow--2dp mdl-color--white mdl-cell mdl-cell--4-col">
<img src="' . $row["imageurl"] . '" alt="Avatar" style="width:100%">
<h3 class="red-text">' .
$product
. ' Alts</h3>
<a class=" mdl-navigation__link" href="edit.php?product=' . $product . '"><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">edit</i> Edit</a>
<a class=" mdl-navigation__link" href="delete.php?product=' . $product . '"><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">delete</i> Delete</a>
</div>
';
}
?>
答案 0 :(得分:0)
我认为你可以这样做:
"SELECT * FROM table2 where id=$allrowsandcolumns"
$allrowsandcolumns
是数据库中包含第一个查询中的col1,col2,col3,col4的结果数组。在视觉上,它看起来像这样:
$allrowsandcolumns = array (
"col1" => value1
"col2" => value2
"col3" => value3
"col4" => value4
)
我认为我们可以同意尝试将数组放入字符串中是行不通的。相反,你可能想要这样的东西:
"SELECT * FROM table2 where id=" . $allrowsandcolumns["col1"]
或者哪个列是与table2匹配的id列。
至于所有行的回声...这对我来说就像你是编程新手一样。但嵌套很容易解释:
现在你有了这个:
$options=mysql_query("SELECT col1, col2, col3, col4 FROM table1");
while($allrowsandcolumns=mysql_fetch_array($options)) {
$options1=mysql_query("SELECT * FROM table2 where id=$allrowsandcolumns");
}
while($rows=mysql_fetch_array($options1)) {
echo $rows['name'];
}
编辑(没有ID你可以做这样的事情)
$stmt = $mysqli->prepare("SELECT name FROM table1");
$stmt->execute();
$array = [];
foreach ($stmt->get_result() as $row)
{
$array[] = $row['column'];
}
print_r($array);
结果如
Array
(
[0] => name1
[1] => name2
[2] => name3
[3] => name4
[4] => name5
)