Php $get从url获取多个变量
我正在制作一个摄影网站。数据库中有一个图像表、事件表和类别表,它们通过外键链接。此时,我从数据库中拍摄照片时生成事件,并将它们转换为锚定链接Php $get从url获取多个变量,php,get,Php,Get,我正在制作一个摄影网站。数据库中有一个图像表、事件表和类别表,它们通过外键链接。此时,我从数据库中拍摄照片时生成事件,并将它们转换为锚定链接 <?php while ( $a_row = mysql_fetch_row( $result ) ){ foreach ( $a_row as $field ){ ?> <a href="images.php?event=<?php echo $field;?> "> <php? echo $field;
<?php
while ( $a_row = mysql_fetch_row( $result ) ){
foreach ( $a_row as $field ){
?>
<a href="images.php?event=<?php echo $field;?> "> <php? echo $field; ?> </a>
<?php
}
}
?>
我的问题是-如果我要实现类别,并且有一个类似以下内容的url:
/images.php?事件=被称为party和类别的事件=类别CalledFashionPhotography
如何将这两个变量从url中分离出来,以便在查询中使用
谢谢。这些将自动显示在这些变量中
$_GET['event']
$_GET['category']
PHP为您完成所有这些工作。每个url参数都成为
$\u GET
中的一个单独的键
因此,对于/images.php?event=eventCalledParty&category=categoryCalledFashionPhotography,您将获得:
$_GET['event'] => 'eventCalledParty'
$_GET['category'] => 'categoryCalledFashionPhotography'
你可以据此采取行动:
if ($_GET['category'] == 'categoryCalledFashionPhotography') {
//do stuff here
}
我对php有点生疏,但我认为在你的foreach中,你想要的是得到这个字段的名称以及它的值
foreach($_GET as $name->$value)
{
if($name == 'event') {
$event = mysql_real_escape_string($value);
}
else if($name == 'category')
{
$category = mysql_real_escape_string($category);
}
}
foreach($\u获取为$key=>$value)
{
$event[$key]=mysql\u real\u escape\u字符串($value);
}我还应该注意,在查询中使用数据之前,不应转义数据。否则,它对你没有多大用处。说得好。值得将其添加到答案中,而不是在注释中,这里循环的用途是什么?这应该是foreach($\u GET as$name=>$value)。register globals会将此代码弄得一团糟:)最好添加
$event=array()上面的代码>请注意,您当前的代码没有意义。不必使用foreach,我应该知道,我已经知道post是这样工作的:/谢谢你,你需要先检查一下$u GET['something']是否设置了!使用empty()或isset()。我主要是想把slexAtrukov的注意力集中在如何一步一步地使用$GET上。好的建议。
foreach($_GET as $name->$value)
{
if($name == 'event') {
$event = mysql_real_escape_string($value);
}
else if($name == 'category')
{
$category = mysql_real_escape_string($category);
}
}
$event = mysql_real_escape_string($_GET['event']);
$category = mysql_real_escape_string($_GET['category']);