我刚刚在这里注册,我正在寻求帮助。我是编程新手,但我在编程方面有一些基础知识,我很想学习PHP和MySQL等语言。
我需要帮助修改PHP代码,这些代码在分离的div元素中显示来自数据库的数据。
以下是代码:
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = $_REQUEST['upit'];
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<div class='proizvodi'>";
// output data of each row
$result->data_seek(0);
while($row = $result->fetch_assoc()) {
echo "<div class='row'>";
foreach($row as $key => $value){
echo $value;
}
echo "</div>";
echo "<hr />";
}
echo "</div>";
}
else {
echo "<div class='search-query-none'><img src='index/no result.png' width='754' height='198' /></div>";
}
$conn->close();
?>
现在我应该如何修改代码,以便它显示div中每个列的数据,其中类名保存数据库中列的名称?
我理解这段代码,但我不理解fetch_assoc()
之类的一些关键字,但我会随着时间的推移学习它们。
如果你能帮助我,我真的很感激,如果你错过了一些信息,请告诉我,因为这是我在这里的第一个问题,我很乐意用必要的信息更新问题。谢谢!
****编辑** 这是修复:**
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = $_REQUEST['upit'];
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<div class='proizvodi'>";
// output data of each row
$result->data_seek(0);
while($row = $result->fetch_assoc()) {
echo "<div class='row'>";
foreach($row as $key => $value){
echo "<div class='" . $key . "'>" . $value . "</div>";
}
echo "</div>";
echo "<hr />";
}
echo "</div>";
}
else {
echo "<div class='search-query-none'><img src='index/no result.png' width='754' height='198' /></div>";
}
$conn->close();
?>
答案 0 :(得分:2)
您需要将echo "<div class='row'>";
移动到foreach循环的内部;然后你可以这样说:
echo "<div class='{$key}'>{$value}</div>";
或
echo "<div class='" . $key . "'>" . $value . "</div>";
(第一种方法将变量的值直接放入字符串中;第二种方法将它们连接起来 - 效果是相同的。)