php - 如何将数据存储到MySQL用于数组输入

标签 php mysql arrays normalization

希望我的问题对帖子是正确的。

  <form action="process.php?id=<?php echo intval($order['id']);?>" method="post">
  <ul>
  <?php
  $sd = 'SELECT * FROM download WHERE pid IN ('.$order['pid'].') ORDER BY pid ASC'; // pid IN (3,4,5)
  $qd = $db->rq($sd);
  $no = 1; while($download = $db->fetch($qd)) {
  ?>
  <li>
  <?php echo $no; ?> <?php echo $download['title']; ?>
  <input type="hidden" name="mid[]" value="<?php echo $order['mid']; ?>" />
  <input type="hidden" name="pid[]" value="<?php echo $download['pid']; ?>" />
  </li>
  <?php $no++; } ?>
  </ul>
  <input type="submit" name="submit" value="Submit" /> 
  </form>

输出

  1. 索尼爱立信驱动程序
  2. 索尼爱立信应用程序
  3. 三星驱动程序
  4. 摩托罗拉驱动程序

问题

  1. 如何在 process.php 上将数据Output 存储(保存)到下面的表结构中
  2. 数据会像这样保存。

    id | mid | pid | title
    -----------------------------------------
    1  |  1  |  3  |  Sony Erricson Drivers
    -----------------------------------------
    2  |  1  |  3  |  Sony Erricson Apps
    -----------------------------------------
    3  |  1  |  4  |  Samsung Drivers
    -----------------------------------------
    4  |  1  |  5  |  Motorola Drivers  
    -----------------------------------------
    

process.php

if (isset($_POST['submit']) && !empty($_POST['submit'])) {
// I'm blur how to get dynamic mid[] & pid[] here
}

最佳答案

为标题创建第三个隐藏字段,例如:

 <input type="hidden" name="title[]" value="<?php echo $download['title']; ?>" />
 <input type="hidden" name="mid[]" value="<?php echo $order['mid']; ?>" />
 <input type="hidden" name="pid[]" value="<?php echo $download['pid']; ?>" />

现在你可以像这样存储它,假设你的页面被提交到 process.php,这就是你应该放在那里的内容:

if (isset($_POST['submit']))
{
  for($i = 0; $i<=count($_POST['title']); $i++)
  {
     $title = mysql_real_escape_string($_POST['title'][$i]);
     $mid = intval($_POST['mid'][$i]);
     $pid = intval($_POST['pid'][$i]);

     // database code
     $query = "insert into table set title = '$title', mid = $mid, pid = $pid";
     // mysql_query and/or more code....
  }
}

关于php - 如何将数据存储到MySQL用于数组输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3079576/

相关文章:

javascript - 为什么 Array.prototype.reduce() 不将空数组作为累加器?

php - 表单未在 Chrome 和 Safari 中提交

javascript - NG-REPEAT 什么也不显示..即使数据解析成功

php - 在php中按特定值增加数字等字母

php - Laravel 5.2 getDirty 总是空数组

html - 在不同表、Mysql、Node.js 中插入多个信息

php - 没有获得与 php 中 mysql 数据库中存储的格式相同的格式

php - Paypal PDT - 未收到任何回复 (PHP)

java - 在 Java 2D ArrayList 中转置值

PHP需要递归反转一个数组