在关闭while循环之前关闭PHP标记

时间:2016-09-25 10:46:06

标签: php html database

我正在观看有关如何使用PHP和数据库创建基本CMS的视频教程,但我想知道为什么要打开<?php标记两次的原因。

我不能只使用一个PHP块吗?

<?php
    include("includes/db.php");
    if(isset($_GET['view_page'])){   //open curly brace which will close
    //later..what???
?>
<table width="1000" border="2px" align="center">
    <tr>
        <td style="text-align:center;background-color:yellow"colspan='6'><h2>All pages here</h2></td>
    </tr>

    <tr>
        <th>Page No.</th>
        <th>Page Title</th>
        <th>Page Content</th>
        <th>Delete</th>
    </tr>
    <tr>
    <?php

        $query="SELECT * FROM `pages`";
        $run=mysqli_query($conn,$query);
        while($row=mysqli_fetch_array($run)){
            $p_id   =$row['p_id'];
            $p_title=$row[1];
            $p_desc =substr($row[2],0,100); //on table show 0 to 100 characters long

    ?>
        <td><?php echo $p_id; ?></td>
        <td><?php echo $p_title; ?></td>
        <td><?php echo $p_desc; ?></td>
        <td><a href="delete_page.php?del_page=<?php echo $p_id; ?>">Delete</a></td>
    </tr>
    <?php }} ?>    //THIS IS REASON OF CONFUSION 
</table>

3 个答案:

答案 0 :(得分:0)

问题是你添加了一个},另外你已经在循环中关闭<tr>应该在外面完成...就像这样

<td><a href="delete_page.php?del_page=<?php echo $p_id; ?>">Delete</a></td>
        <?php } ?>
     </tr>

}关闭后,if(isset(...)) shpuld的第二个<table>将被关闭

答案 1 :(得分:0)

试试这个

<?php
    include("includes/db.php");
    if(isset($_GET['view_page'])){   //open curly brace which will close
    //later..what???
?>
        <table width="1000" border="2px" align="center">
            <tr>
                <td style="text-align:center;background-color:yellow"colspan='6'><h2>All pages here</h2></td>
            </tr>

            <tr>
                <th>Page No.</th>
                <th>Page Title</th>
                <th>Page Content</th>
                <th>Delete</th>
            </tr>
            <tr>
                <?php

                    $query="SELECT * FROM `pages`";
                    $run=mysqli_query($conn,$query);
                    while($row=mysqli_fetch_array($run)){
                        $p_id   =$row['p_id'];
                        $p_title=$row[1];
                        $p_desc =substr($row[2],0,100); //on table show 0 to 100 characters long


                        echo '<td>'. $p_id; .'</td>';
                        echo '<td>'. $p_title .'</td>';
                        echo '<td>' .$p_desc .'</td>';
                        echo '<td><a href="delete_page.php?del_page='. $p_id .'">Delete</a></td>';
                    }
                ?>
            </tr>       
        </table>
    <?php } ?> 

答案 2 :(得分:0)

这是php的美丽它可以插入任何html标签不在html页面的地方。必须使用.php扩展名保存页面才能编写您必须编写的PHP代码

Array
(
    [0] => Array
        (
            [0] =>  WITH MIXED CASE 
            [1] =>  WE ONLY WANT 
        )

)

如果你想使用while循环但是你想在循环内部使用一些html标签你可以通过

轻松完成
 <?php
 #code
 ?> 

还有其他方法

<?php
while(#condition) {
//inside php tag code
?>
<p> i am html part depend on php codtion</p>
<?php
} //end of while loop
?>