在php标签内编写表单数据的正确方法

时间:2014-03-19 12:57:05

标签: php mysql

我希望实现的是回显每个数据,因为它们是来自sql的复选框,但它只是忽略了php中的表单数据

<form action = "index.php" method = "post">
<input type = "checkbox" name = "kona"/>
<?php
echo  $selcat . "<br>";

if (isset ( $price_data )) {
    $price_query = "SELECT * FROM titem WHERE comment = '$price_data'";
    $price_result = mysql_query ( $price_query, $connection );
    if (! $price_result) {
        echo 'no' . mysql_error ();
    }
    while ( $price_row = mysql_fetch_array ( $price_result ) ) {

        echo  "<h3>" .  $price_row['item'] . "</h3><br>";
            echo "<input type = checkbox name = selitem" . $selitem . "/><br>";
        echo 'Price = ';
        if (is_numeric ( $price_row ['price'] )) {
            echo $price_row ['price'] . " naira" . "<br>";
        } else {
            echo $price_row ['price'] . "<br>";
        }
    }
} else {
    echo '';
}
?>          
</form>

关于如何使这项工作的任何想法?

2 个答案:

答案 0 :(得分:1)

您正在输出混合在一起的两个标签,如下所示:

<input type =checkbox name =selitem<h3>...</h3><br> />

也许你打算这样做:

echo '<input type="checkbox" name="selitem" /><h3>' . $price_row['item'] . '</h3><br />';

这将输出:

<input type="checkbox" name="selitem" /><h3>...</h3><br />

答案 1 :(得分:0)

为什么你在没有PHP变量的情况下连接2个字符串?

echo  "<input type =" . "checkbox" . " name =" . "selitem" . "<h3>" .  $price_row['item'] . "</h3><br>" . "/>";

应该是:

echo  "<input type=\"checkbox\" name=\"selitem\"<h3>. $price_row['item']. "</h3><br> />";

您必须使用数组作为名称:

echo  "<input type=\"checkbox\" name=\"selitem[]\"<h3>. $price_row['item']. "</h3><br> />";

在PHP中你可以循环使用$ _POST ['selitem']数组 - 每个元素都是元素。