Php 有人能解释一下我的代码出了什么问题吗?

Php 有人能解释一下我的代码出了什么问题吗?,php,html,Php,Html,这是我的密码 <div class="table-responsive"> <table class="table table-striped table-hover"> <thead> <tr> <td&

这是我的密码

<div class="table-responsive">
                        <table class="table table-striped table-hover">
                            <thead>
                                <tr>
                                    <td>Id</td>
                                    <td>Articles Category</td>
                                    <td>Update</td>
                                    <td>Delete</td>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <?php
                                        $con = new mysqli("localhost", "root", "", "whatever");

        $sql = "SELECT id_kategori, nama_kategori FROM kategori";
        $stmt = $con->prepare($sql);
        $stmt->execute();
        $stmt->bind_result($id, $cat);
        while($stmt->fetch())
        {
            echo "<td>$id</td>";
            echo "<td>$cat</td>";
            echo "<td>Update</td>";
            echo "<td>Delete</td>";
        }
        $stmt->close();
                                    ?>
                                </tr>
                            </tbody>
                        </table>
                    </div>

身份证件
物品类别
更新
删除
结果显示了这一点

“准备($sql);$stmt->execute();$stmt->bind_result($id,$cat);而($stmt->fetch()){echo”“;echo”“;echo”“;echo”“;}$stmt->close();?>”

我把它改成这样的面向对象

<div class="table-responsive">
                        <table class="table table-striped table-hover">
                            <thead>
                                <tr>
                                    <td>Id</td>
                                    <td>Articles Category</td>
                                    <td>Update</td>
                                    <td>Delete</td>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <?php 
                                        include 'connection.php'; 
                                        $showall = new connection(); 
                                        $showall->category(); 
                                    ?>
                                </tr>
                            </tbody>
                        </table>
                    </div>

身份证件
物品类别
更新
删除
我的结果就是这样

类别();?>


有人能解释我的代码出了什么问题吗?

首先,你使用了非常糟糕的编码标准。你只是在HTML中间写DB连接?好的,你可以把你的HTML写成

echo '<div class="table-responsive">
                        <table class="table table-striped table-hover">
                            <thead>
                                <tr>
                                    <td>Id</td>
                                    <td>Articles Category</td>
                                    <td>Update</td>
                                    <td>Delete</td>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>';
                                    <?php
                                        $con = new mysqli("localhost", "root", "", "whatever");

        $sql = "SELECT id_kategori, nama_kategori FROM kategori";
        $stmt = $con->prepare($sql);
        $stmt->execute();
        $stmt->bind_result($id, $cat);
        while($stmt->fetch())
        {
            echo "<td>$id</td>";
            echo "<td>$cat</td>";
            echo "<td>Update</td>";
            echo "<td>Delete</td>";
        }
        $stmt->close();
                                    ?>
                                echo '</tr>
                            </tbody>
                        </table>
                    </div>';
echo'
身份证件
物品类别
更新
删除
';
回声'
';

语法似乎没有问题。但是,在表中混用PHP逻辑是很糟糕的!!另外,您没有进行任何OOP。看起来php配置中的简短结束标记设置为仅
->
。因此,当该序列出现在代码中时,php解释停止。您想将该配置更改为
?>
。也可能是当实际代码和它的呈现之间的某个层解释代码时出现这种效果,比如一些视图消毒器或类似的,所以是框架的一部分。我的代码在你的代码上工作吗?还是真的是我的配置“>”问题?我还没有更改我的xampp配置。这也不是更好。如果您希望支持好的样式,那么为什么不将所有PHP放在文件的顶部,然后将HTML作为普通HTML放在底部,并根据需要回显变量,即
?更好的是,将HTML放在一个单独的文件中,然后包含它。Thnx,我知道我的代码很奇怪。但我能再问一件事吗?如果我从php调用html页面,然后从该html调用另一个php文件,这是否不好?我从这个php调用上面的代码@是的,那是编码练习。。。用户2977799。。你需要练习好的编程风格,而不是在任何地方混合任何PHP代码…@user2977799是的,你可以在PHP文件中包含html代码,然后在当前文件中包含任何其他PHP文件..但是练习将PHP文件放在页面顶部而不是任何地方..似乎是我的ajax在这里加载错误的文件。。。没有它,它工作得很好。Thnx解释一下,没错,我的代码标准很差。我需要把php逻辑放在上面,然后调用下面的结果:(thnx用于解释:)