打印从mysql数据库获取的数据

时间:2016-06-26 22:49:11

标签: php html mysql

''

大家好!此代码从mysql获取数据,然后将其打印在div容器中,也用div包装。

问题是所捕获的每一行数据都会产生2个div。

如何让每一行只生成1个div?

谢谢。

4 个答案:

答案 0 :(得分:1)

您为每行中的每个项目创建了div

while($row = mysqli_fetch_row($result))  {
    for($x=0;$x<=count($row);$x++){
        echo "<div style='background:green'>$row[$x]</div>";
    }
}

如果您希望单个div用于“行”并将所有项目放在div中,请将div放在遍历行的循环中:

while($row = mysqli_fetch_row($result))  {
    echo "<div style='background:green'>";
    for($x=0;$x<=count($row);$x++){
        echo $row[$x];
    }
    echo "</div>";
}

答案 1 :(得分:1)

您的echo行由whilefor循环执行,您只需echo循环while循环帮助您。

<强>感谢

 <?php
 $koneksi = mysqli_connect('mysql.idhostinger.com','root','pw','db');
 $result = mysqli_query($koneksi,'select * from posting');
 while($row = mysqli_fetch_row($result)){
 $div = "<div style='background:green'>";
 for($x=0;$x<=count($row);$x++){
 $div .= "<p>$row[$x]</p>";
}
 $div .= "</div>";
 echo $div;
}
?>

答案 2 :(得分:0)

for($x=0;$x<=2;$x++){
echo "<div style='background:green'>$x</div></br>";
}

每个号码都有div ..

如果你想把所有数字都放在一个div中:

<div style='background:green'>
<?php
for($x=0;$x<=2;$x++){
echo $x;
}
?>
</div>

或者如果你想从js等其他方式提取数据,只需从隐藏的div中获取文本并拉到&#34; #div&#34; .html()或.text()

答案 3 :(得分:0)

虽然您只是在做一个简单的SELECT * FROM TABLE_NAME,但仍然建议您使用PDO,原因可能是您个人想要研究的原因。考虑到这种方法;在这方面可以提供帮助:

    <?php
        // USING PDO HAS SO MUCH ADVANTAGES OVER mysqli + mysql EVEN IN SIMPLE CASES LIKE SELECT *

        $HOST       = "mysql.idhostinger.com";      // CHANGE TO YOUR HOST
        $USER       = "root";                       // CHANGE TO YOUR USERNAME
        $PASS       = "pw";                         // CHANGE TO YOUR PASSWORD
        $D_BASE     = "db";                         // CHANGE TO YOUR DATABASE NAME

        try {
            $dbh            = new PDO("mysql:host=$HOST;dbname=$D_BASE", $USER, $PASS);
            $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);              

            $stmt           = $dbh->prepare("SELECT * FROM posting");
            $status         = $stmt->execute();
            $results        = $stmt->fetchAll(PDO::FETCH_OBJ);
            $arrData        = array();
            $strOutput      = "<div class=''>" . PHP_EOL;  //<== AN OUTER DIV TO HOLD ALL CHILD DIVS: THE ONES CONTAINING THE ROW-DATA.

            if($results){
                foreach($results as $intKey=>$result){
                    // BUILD THE OUTPUT IN THE FOREACH LOOP USING A VARIABLE
                    // AND THE COLUMN NAME...
                    // HERE $columnName IS THE SAME AS THE NAME OF YOUR 
                    // TARGET COLUMN IN THE DB-TABLE (EG: `post_content`)
                    // THAT IS: $result->post_content   ;-)
                    $strOutput .= "<div style='background:green'>{$result->columnName}</div>" . PHP_EOL;
                }
                $strOutput .= "</div>" . PHP_EOL;         //<== CLOSE THE OUTER DIV
            }
            // YOU CAN NOW ECHO THE OUTPUT ANYWHERE.... MUCH MORE FLEXIBLE, HUH?
            echo $strOutput;

            //GARBAGE COLLECTION
            $dbh        = null;

        }catch(PDOException $e){
            echo $e->getMessage();
        }

这个PDO方法(在这个场景中)可能看起来很冗长(并且可以说是有争议的)但从长远来看,它确实值得...