【问题标题】:Generating html table from SQL using PHP使用 PHP 从 SQL 生成 html 表
【发布时间】:2018-05-14 04:52:49
【问题描述】:

对于糟糕的代码,我很抱歉。无论如何,我有一个表单,我可以选择范围从 5 到 50 的值,并将这些值与 $pacote 进行比较。对于在数据库中为 $pacote 找到的每个不同值,我想在我的 html 表中创建一个新行(“Pacote xx horas”)”,并在它应该出现的列中显示这个值。在我设置的示例图像中值 10(用于 3 个特定的 html 表列 -> Aeroboero AB-115、Cessna 172K 和 Cessna 172SP)和 25(用于 1 列)。这就是我得到的,也是我想要得到的。我尝试了很多不同的东西,但跑了没有想法!

示例图片:

... <more code above> ...

for ($pacote = 5; $pacote <= 50; $pacote = $pacote + 5) {

    $priceQuery = mysql_query("SELECT * FROM precos_hora WHERE Pacote1_horas = $pacote");
    $priceQuery1 = mysql_query("SELECT Pacote1_horas FROM precos_hora");

    while($row = mysql_fetch_assoc($priceQuery)) {

        if (is_null($priceQuery)) {
            echo "";
        } else {    
            echo "<tr>";
            echo "<td>Pacote ".$pacote." horas</td>";

            while($row = mysql_fetch_assoc($priceQuery1)) {

                if ($priceQuery = $pacote) {

                    echo "<td>R$ ".$row['Pacote1_horas']."</td>";
                } else {
                    echo "<td>&nbsp;</td>";

                } // CLOSE ELSE //
            } // CLOSE WHILE //

            echo "</tr>";

        } // CLOSE ELSE //
    } // CLOSE WHILE //
} // CLOSE FOR //

【问题讨论】:

  • "(is_null($priceQuery)) {" 测试用于为查询中找到的每个单个值生成一个新的 (这是 html 表中的第一列 - > " Pacote xx horas”)。关于您对“if ($row['Pacote1_horas'] == $pacote) {”的建议,我已经尝试过了,因为它确实是正确的测试,但我没有得到我的预期。无论如何,我会在这方面做更多的工作。感谢您的回复。

标签: php sql html-table


【解决方案1】:

我认为您的问题是这一行 if ($priceQuery = $pacote) { 这会将 $pacote 的值分配给 $priceQuery,这将始终评估为 true,因此“else”部分将永远不会运行。

您需要一个双等号来评估 2 个变量.. ..您正在评估一个递增的数字 $pacote 和查询结果 $priceQuery。这就是你的问题所在。猜测一下,我会说你需要这样的东西:

if ($row['Pacote1_horas'] == $pacote) {

另外,您可能不需要 if (is_null($priceQuery)) { 测试。您的 while 循环遍历查询中返回的每条记录,因此没有太多的点检查是 NTLL,因为它永远不会。

最后,您应该考虑将您的 mysql_* 函数更改为 mysqli_*,因为以前的方法现在已被弃用,并且容易受到 SQL 注入的影响。

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 2013-07-04
    • 2023-03-07
    • 2011-11-23
    • 2011-04-21
    • 2011-10-05
    • 2011-05-12
    • 1970-01-01
    • 2011-12-31
    相关资源
    最近更新 更多