doushao8421 2014-09-24 10:45
浏览 114
已采纳

从复选框到MySQL的多个值

i have an html page, where there is a form and saves the results into MySQL. The problem is that the checkbox, saves only one value on the MySQL table. What do i have to do, in order to save multiple values inside the db column?

HTML CODE:

<fieldset>
<input type = "checkbox" name = "rating[]" value = "Homepage">Homepage
<input type = "checkbox" name = "rating[]" value = "Facilities"> Facilities 
<input type = "checkbox" name = "rating[]" value = "Reservation"> Reservation 
<input type = "checkbox" name = "rating[]" value = "Contact"> Contact  
<input type = "checkbox" name = "rating[]" value = "current"> The current one  
</fieldset>

PHP CODE:

$con=mysqli_connect("xxx","zzz","yyy","xxx");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$address = mysqli_real_escape_string($con, $_POST['address']);
$postcode = mysqli_real_escape_string($con, $_POST['postcode']);
$country = mysqli_real_escape_string($con, $_POST['country']);
$phonenumber = mysqli_real_escape_string($con, $_POST['phonenumber']);
$rating = mysqli_real_escape_string($con, $_POST['rating_value']);
$subscribe = mysqli_real_escape_string($con, $_POST['subscribe']);


for($i=0; $i<count($rating); $i++) { $rating_value &= $rating[$i];}

$sql="INSERT INTO customers (firstname, lastname, password, email, address, postcode,     country, phonenumber, rating, subscribe)
VALUES ('$firstname', '$lastname', '$password', '$email', '$address', '$postcode','$country', '$phonenumber', '$rating_value', '$subscribe')";


if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo " Success!";
  • 写回答

5条回答 默认 最新

  • dsa80833 2014-09-24 10:50
    关注

    User Query inside the for loop.... If you want to save each seperate recode for each value...

     for($i=0; $i<count($rating); $i++) { 
    
    $rating_value = $rating[$i];
    $sql="INSERT INTO customers (firstname, lastname, password, email, address, postcode,     country, phonenumber, rating, subscribe)
    VALUES ('$firstname', '$lastname', '$password', '$email', '$address', '$postcode','$country', '$phonenumber', '$rating_value', '$subscribe')";
    
    }
    

    OR Same value in comma seperated in one column use below code..

    foreach ($_POST['rating'] as $rateingvalue)
    {  
      $rating_value .= $rateingvalue.",";
    }
    
    $sql="INSERT INTO customers (firstname, lastname, password, email, address, postcode,     country, phonenumber, rating, subscribe)
    VALUES ('$firstname', '$lastname', '$password', '$email', '$address', '$postcode','$country', '$phonenumber', '$rating_value', '$subscribe')";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等