希望我的问题对于帖子是正确的。
<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>
输出
问题
Output
存储(保存)到process.php
下面的表格结构数据将保存类似这样的内容。
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
}
答案 0 :(得分:0)
你可以简单地在$ _POST ['mid']和$ _POST ['pid']数组上循环,如下所示:
for ($i=0; $i<count($_POST['mid']); $i++)
{
$mid = $_POST['mid'][$i];
$pid = $_POST['pid'][$i];
}
如果您想传递该项目的名称,您可以像发送'mid'和'pid'字段一样传递它。
答案 1 :(得分:0)
为标题创建第三个隐藏字段,例如:
<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....
}
}
答案 2 :(得分:0)
通过访问mid[]
变量,您获得pid[]
和submit
的值与检查POST
的方式相同:
$mid = $_POST['mid'];
$pid = $_POST['pid'];
由于它们是作为数组发布的,因此它们将是$_POST
变量中的数组。您还可以通过以下方式检查各个$ _POST变量的结构或整个$ _POST变量:
var_dump($_POST['mid']);
var_dump($_POST);
这是一个非常有用的函数,用于调试或计算出您不确定其内容的变量。