修改现有代码

时间:2016-01-02 16:45:21

标签: php mysql database

我刚刚在这里注册,我正在寻求帮助。我是编程新手,但我在编程方面有一些基础知识,我很想学习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();

?>

1 个答案:

答案 0 :(得分:2)

您需要将echo "<div class='row'>";移动到foreach循环的内部;然后你可以这样说:

而不是class ='row'
echo "<div class='{$key}'>{$value}</div>";

echo "<div class='" . $key . "'>" . $value . "</div>";

(第一种方法将变量的值直接放入字符串中;第二种方法将它们连接起来 - 效果是相同的。)