使用循环在php页面中显示html复选框多个复选框内容

时间:2016-02-01 09:38:46

标签: php html mysql forms

//I extracted data from database like
<form action="print.php" method="post">
 <?php include('connection.php') ?>
                      <?php

// Query member data from the database and ready it for display
$sql = mysql_query("SELECT * FROM nokia"); 
$num = mysql_numrows($sql);
?>

<?php

$i=0;
while ($i < $num) {
$f6=mysql_result($sql,$i,"item_name");                  
   <input type="checkbox" name="list[]"  value="<?php echo "$f6";?>" /><?php echo "$f6","<br>"; ?>//display result in htmlpage

 <?php
$i++;
$d=$f6;
}

?>

<input type="submit" value="submit"/>   
</form> 

print.php
//after submitting in php page 

<?php include('connection.php') ?>
                      <?php


if(isset($_POST['submit']))
 {
if(!empty($_POST['list']))//name of checkbox in html
  {
foreach($_POST['list'] as $selected){
echo $selected."</br>";
}
}
}

?>

 //display nothing in php...how I solve this problem

我想显示从html表单到php页面的复选框内容。我从database.problem中提取了复选框内容,我是如何在php页面中选择多个复选框显示内容的。

4 个答案:

答案 0 :(得分:1)

首先在代码中添加error_reporting:

ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);

您的HTML / PHP组合中几乎没有问题:

<强>的问题:

  1. 您在PHP中使用<input type="checkbox" ..
  2. 您的连接错误"$f6","<br>"
  3. 还需要在按钮中添加类似name="submit"的名称。
  4. 修改后的代码:

    <?php
    $i=0;
    while ($i < $num) {
        $f6=mysql_result($sql,$i,"item_name");                  
        ?>
        <input type="checkbox" name="list[]"  value="<?php echo $f6;?>" /><?php echo $f6; ?><br/>
    <?php
        $i++;
        $d = $f6;
    }
    
    ?>
    

    旁注:

    error_reporting的建议仅适用于开发和暂存,不适用于生产。

    请使用mysqli_*PDO,因为mysql_*已弃用且在PHP 7中不可用。

答案 1 :(得分:0)

<?php echo "$f6","<br>"; ?>

错误连接

<?php echo "$f6"."<br>"; ?>

使用此

答案 2 :(得分:0)

您的代码应该是: -

 <?php 
    // This line should be first.
    // You have missed semicolon here.
     include('connection.php'); 

        // Query member data from the database and ready it for display
        $sql = mysql_query("SELECT * FROM nokia"); 
        $num = mysql_numrows($sql);
    ?>
    <form action="print.php" method="post">
    <?php
    $i=0;
    while ($i < $num) {
    $f6=mysql_result($sql,$i,"item_name");  
?>  
       <!--  You should write below line as  -->              
       <input type="checkbox" name="list[]"  value="<?php echo $f6;?>" /><?php echo $f6; ?> </br>
    <?php
        $i++;
        $d=$f6;
    }
    ?>

    <input type="submit" value="submit"/>   
    </form> 

答案 3 :(得分:0)

您的代码中有几处错误。请查看以下修改后的代码,我的评论以// seeyouu开头:

&#13;
&#13;
//I extracted data from database like
<form action="print.php" method="post">
 <?php include('connection.php');

// Query member data from the database and ready it for display
$sql = mysql_query("SELECT * FROM nokia"); 
$num = mysql_num_rows($sql);//seeyouu: used wrong function>>mysql_numrows

$i=0; //seeyouu: after my amendment, probably can remove this
while ($row = mysql_fetch_array($sql)) {
//seeyouu: no such way of doing, your $sql already a result >> $f6=mysql_result($sql,$i,"item_name"); 
//seeyouu: forgot to close your php tag here
?>
   <input type="checkbox" name="list[]"  value="<?php echo $row["item_name"]; ?>" />
<?php //seeyouu: wrong>>echo "$f6","<br>"; 
//correct way: 
echo $row["item_name"]."<br />";

//$d=$f6;i don't know what is this line for, so i leave it to you.
}

?>

<input type="submit" name="submit" value="submit"/>   <!-- seeyouu: forgot to set name: submit -->
</form> 

print.php
//after submitting in php page 

<?php include('connection.php');

if(isset($_POST['submit']))
 {
  if(!empty($_POST['list']))//name of checkbox in html
  {
    foreach($_POST['list'] as $selected)
    {
      echo $selected."</br>";
    }
  }
 }

?>

 //display nothing in php...how I solve this problem
&#13;
&#13;
&#13;