使用PHP从SQL生成html表

时间:2015-07-24 14:53:17

标签: php sql html-table

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

示例图片:enter image description here

... <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 //

1 个答案:

答案 0 :(得分:0)

我认为您的问题是这一行if ($priceQuery = $pacote) {这会将$pacote的值分配给$priceQuery,它总是会评估为true,因此'else'部分永远不会运行。< / p>

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

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

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

最后,您应该考虑将mysql_*函数更改为mysqli_*,因为之前的方法已被弃用,并且容易受到SQL注入的攻击。<​​/ p>