Javascript 从上一页获取数据以传输到第二页PHP/MySQL
因此,我从MySQL数据库中查询一些数据,动态填写一个下拉框,其中包含一个日期,然后是该日期的唯一ID。唯一ID是主键,如果数据库中存在相同的日期,则会递增 我在访问第二页上的唯一ID时遇到问题,该唯一ID将根据所选日期查询其余数据的数据。这有点让人困惑,所以我试着把它分解一下 表: =================================================== |唯一ID |用户ID |武器|日期|位置|范围|分数| 这是一个射击网页,跟踪用户的分数 我让下拉框根据用户ID访问数据,然后用 日期-唯一ID 在下一页中,我可以很好地获取日期,但我不确定如何获取唯一ID,以便根据这两个数据条目选择其余数据 这是我这部分的代码:Javascript 从上一页获取数据以传输到第二页PHP/MySQL,javascript,php,jquery,mysql,sql,Javascript,Php,Jquery,Mysql,Sql,因此,我从MySQL数据库中查询一些数据,动态填写一个下拉框,其中包含一个日期,然后是该日期的唯一ID。唯一ID是主键,如果数据库中存在相同的日期,则会递增 我在访问第二页上的唯一ID时遇到问题,该唯一ID将根据所选日期查询其余数据的数据。这有点让人困惑,所以我试着把它分解一下 表: =================================================== |唯一ID |用户ID |武器|日期|位置|范围|分数| 这是一个射击网页,跟踪用户的分数 我让下拉框根据用户
<!--- Form. Selecting match and all the data under it. !--->
<form action = "retrieved.php" method = "post" style="margin-bottom:0px">
<select name="date"><option value="">-- Select A Date --</option>
<?php
// While there is a row of data, print out the date to the drop down box.
while($row = mysqli_fetch_array($result))
{
echo("</option><option value=". $row['date'] . ">". $row['date'] . "
| Unique ID: " . $row['uniqueID'] . "
</option>");
}
?>
</select>
<input type="submit" name="submit" value="Retrieve Data" />
</form>
E.G.
DropdownBox Options:
2014-08-16 | Unique ID: 5
2014-09-17 | Unique ID: 8
2014-09-17 | Unique ID: 10
2014-09-17 | Unique ID: 25
提前谢谢
编辑:最后,我希望能够访问与所选日期和唯一ID对应的所有数据武器、射程、分数等。您需要在选项的值字段中设置唯一ID:
while($row = mysqli_fetch_array($result))
{
echo(
"</option><option value='". $row['date'] . ",".$row['uniqueId']."'>". </option>"
);
}
这将产生如下数组:
['date', 'uniqueID']
您的查询将如下所示:
$query = "SELECT * FROM matches WHERE id = '".$id."' AND date = '".$date."' AND uniqueID = '".$uniqueID'"; but I can't get the uniqueID variable to work. I tried using $_SESSION and $_POST but nothing is saving to the next page.
$query = "SELECT * FROM matches WHERE uniqueId = ".$valueArray[0] ." AND date =".$valueArray[1]."
注
您在此处的查询极易受影响
你应该使用或其他一些
管理查询并降低注入恶意sql的风险 在第二页,您将获得$u POST数组中的值。例如:$\u为第一页的日期字段发布['date'.@SaurabhSinha是的,但OP也想要唯一ID@RobSchmuecker:OP是什么?你可以做两件事中的一件,让它基于HTML/PHP,而不必使用javascript,你可以让select的值包含两个值,用一个唯一的分隔符分隔,例如@,然后在PHP中拆分。或者,您可以通过jQuery添加数据属性,并通过AJAX提交表单@SaurabhSinha意思是“原始海报”,在创建选项值时使用逗号和>有什么区别?当我使用你的方式时,会创建适当数量的下拉值,但它们都是空的。@Shinku443我认为使用>或逗号作为delimeter不会有太大区别。不过,使用诸如>之类的运算符进行定界通常是一种不好的做法。因为,它可能会引起混乱,特别是当你连接html字符串时。嗯……我试过用你的方式,但根本不起作用,就像下拉框中没有填充任何东西一样。只是白色的。唯一的区别是逗号,而不是“>”@Shinku443,抱歉混淆了。注意,在我的示例中,我用逗号分隔值。在您的示例中,实际上根本没有定义值。因此,你的结果将是,我的结果将是,如果它没有呈现,那么你应该检查浏览器中的元素,很可能你的连接有错误。啊,我知道了!这是因为您使用它的方式只提供了价值,但要让它显示出来,它必须是:2014我根据您的代码让它工作,非常感谢!:
$query = "SELECT * FROM matches WHERE uniqueId = ".$valueArray[0] ." AND date =".$valueArray[1]."