slexAtrukov
slexAtrukov

Reputation: 231

$get multiple variables from url

I am making a photography website. In the DB there is an images table, events table and category table which as linked via foreign keys. At the moment i generate events from when a photo was taken from the database and turn them into anchor links.

<?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
 }
}
?>

When the link is clicked a script gets the variable from get in the url: /images.php?**event**=eventCalledParty

foreach($_GET as $value)
{
$event = $value;
}
$event = mysql_real_escape_string($event);

My question is - If i was to implement categories and have a url that looks like:

/images.php?event=eventCalledParty&category=categoryCalledFashionPhotography

How would i seperate these two variables from the url to use in my queries.

Thank You.

Upvotes: 4

Views: 47884

Answers (5)

Dale Hurley
Dale Hurley

Reputation: 151

foreach($_GET as $key => $value) { $event[$key] = mysql_real_escape_string($value); }

Upvotes: 1

Your Common Sense
Your Common Sense

Reputation: 158005

$event = mysql_real_escape_string($_GET['event']);
$category = mysql_real_escape_string($_GET['category']);

Upvotes: 5

davydotcom
davydotcom

Reputation: 2210

Im a bit rusty on php but I think in your foreach what you want is to get the name of teh field as well as its value.

foreach($_GET as $name->$value)
{
  if($name == 'event') {
    $event = mysql_real_escape_string($value);
  }
  else if($name == 'category')
  {
    $category = mysql_real_escape_string($category);
  }
}

Upvotes: 1

Fanis Hatzidakis
Fanis Hatzidakis

Reputation: 5340

Each url parameter becomes a separate key in $_GET.

So, for /images.php?event=eventCalledParty&category=categoryCalledFashionPhotography you will get:

$_GET['event'] => 'eventCalledParty' 
$_GET['category'] => 'categoryCalledFashionPhotography' 

and you can act accordingly:

if ($_GET['category'] == 'categoryCalledFashionPhotography') {
    //do stuff here
}

Upvotes: 1

Brad
Brad

Reputation: 163612

These will automatically show up in these variables...

$_GET['event']
$_GET['category']

PHP does all of this work for you.

Upvotes: 6

Related Questions