我有一份清单,分为日,舞台,时间表和带名。我正在使用此脚本显示数据库中的选项,并且我试图在“进程”页面上向用户显示结果(并最终通过电子邮件发送给他们)。如何将$ result_x转移到下一页? 以下是星期六,第1阶段的一个“块”的示例,选择的值是该行的“ID”。
更新 - 第一部分解决了。现在希望将结果发送到用户输入的电子邮件地址。
FORM SOLUTION-'Selection.php'
$sql_Sat1 = "SELECT * FROM bandSched WHERE day='saturday' AND stage='stage 1'";
mysql_query($sql_Sat1);
$result_Sat1 = mysql_query($sql_Sat1);
while($row = mysql_fetch_array($result_Sat1))
{
echo "<ul><li>";
echo'<input type="checkbox" name="id[]" value="'.$row['id'].' " id="bandSched_' . $row['id'] . '" />';
echo '<label for="bandSched_' . $row['id'] . '">' . $row['timeShow']." ".$row['bandName'] . '</label>';
echo "</li></ul>";
}
SOLUTION-'process.php'
if ( ! empty($_POST['id']))
{ foreach($_POST['id'] as $key => $id) { $_POST['id'][$key] = mysql_real_escape_string($_POST['id'][$key]); }
$in = implode(', ', $_POST['id']);
$sql_Sat2 = "SELECT * FROM bandSched WHERE id IN ($in) ORDER BY FIELD(id, $in)";
$result = mysql_query($sql_Sat2) or die('MySQL Error ' . mysql_errno() . ': ' . mysql_error());
}
if ( ! isset($result))
{
echo 'You did not select anything';
}
else
{
while ($row=mysql_fetch_assoc($result))
{
echo "<tr>";
echo "<td>". $row['timeShow'] ."</td><td>" . $row['bandName'] . "</td>";
echo "</tr>";
}
}
答案 0 :(得分:1)
除非您的&lt; input type =“复选框”/&gt;中的属性已选中=“已选中”,否则该值不会与表单数据一起发送。
试试这个:
echo '<input type="checkbox" value="' . $row['id'] .'"name="selected" checked="checked" />';
这是否解决了这个问题?
答案 1 :(得分:0)
可以使用会话,Cookie或发布包含数据的隐藏表单元素来完成页面之间的数据传输。
答案 2 :(得分:0)
会话为您提供数据,但您仍需要进行有效查询。会话所做的唯一事情是在服务器上存储数据。它们不保留任何程序执行,变量等。
您的错误消息告诉您mysql_fetch_array未提供MYSQL结果资源(并且您不是它提供了id值的整数)。整个会话都不会记住该查询。
此外,不推荐使用mysql_ *,使用PDO或mysqli。