【发布时间】:2013-05-02 00:58:34
【问题描述】:
我正在尝试使用 implode 在 while 循环中插入多行,但似乎无法使其工作。我想插入多个名为“重量”的值。像值 30,20,15,10,5 以及剩余的 emp_id 和 task_id。
page1.php
$sql = mysql_query("SELECT
task_tbl.task_id,
task_tbl.task_name,
task_tbl.task_sem,
task_tbl.task_yr,
task_tbl.post_id,
post_tbl.post_id,
post_tbl.post_name AS ppost_name
FROM
task_tbl
LEFT JOIN
post_tbl
ON
task_tbl.post_id = post_tbl.post_id
WHERE
task_sem = '$sem'
AND
task_yr = '$yr'
ORDER BY
task_id ASC");
echo '<form action = "upds_peval.php" name = "add" method = "post">';
while($row = mysql_fetch_assoc($sql)){
echo "<br/>";
echo "<b>Employee ID No.:</b>";
echo '<input size = "2" type = "text" name = "emp_id'.$id.'" value = "';
echo $_POST['emp_id'];
echo '"/>';
echo "<br/>";
echo "<b>Work/Activity ID No.:</b> ";
echo '<input size = "2" type = "text" name = "task_id'.$row['task_id'].'" value = "';
echo $row['task_id'];
echo '"/>';
echo "<br/>";
echo "<b>Work/Activity:</b> ";
echo $row['task_name'];
echo "<br/>";
echo "<b>Weight:</b> ";
echo '<input size = "1" type="text" name="weight" value = ""/>';
echo "%";
echo "<br/>";
}
echo '<input type="submit" name="submit" value="ADD"/>';
echo "</form>";
输出如下:
员工编号:1001 工作/活动编号:2002 工作/活动:监督计算机的维护和故障排除 重量:[__]%
员工编号:1001 工作/活动编号:2003 工作/活动:监督软件安装和维护 重量:[__]%
员工编号:1001 工作/活动编号:2004 工作/活动:维护、监控和排除虚拟终端故障 重量:[__]%
|提交|
page2.php
mysql_connect ("localhost", "root","") or die (mysql_error());
mysql_select_db ("emp_db0");
if(isset($_POST['submit'])){
$_POST['weight'];
$vals=implode(",",$_POST);
error_reporting(E_ALL ^ E_NOTICE);
mysql_query("INSERT INTO peval_tbl(weight,task_id,emp_id) VALUES('$vals')");
echo "<br/>";
echo "You have successfully added work/activities!";
echo "<br/>";
}
【问题讨论】:
-
输出应该是,但你得到了什么?没有?输出错误?
-
您是否将
$_POST['weight']的值分配给任何变量?您的$_POST在您的声明$vals = implode(",",$_POST)中包含什么值? -
你为什么使用内爆?为什么不只是 '".$_POST['weight']."','".$_POST['task_id']."','".$_POST['emp_id']."'
-
还有什么是 $_POST['weight'];在做什么?
-
page2.php 没有输出。我正在尝试调试。可能是错的。我还不知道。仍然猜测 wat 可以工作
标签: php loops while-loop implode