views:

46

answers:

2

Hello!

I'd like to make an array which tells my site's pages where to show in PHP.
In $sor["site_id"] i've got two or four chars-lenght strings. example: 23, 42, 13, 1
In my other array (called to $pages_show) i want to give all the site_ids to an other id.

$parancs="SELECT * FROM pages ORDER BY id";
$eredmeny=mysql_query($parancs) or die("Hibás SQL:".$parancs);
while($sor=mysql_fetch_array($eredmeny)) 
{
$pages[]=array(
"id"=>$sor["id"],
"name"=>$sor["name"],
"title"=>$sor["title"],
"description"=>$sor["description"],
"keywords"=>$sor["keywords"]
);
// this makes my pages array with the information about that page.

$shower = explode(", ",$sor["site_id"]);
// this is explode my site_id
$pages_show[]=array(
"id"=>$sor["id"],
"where"=>$shower
//to 'where' i want to put all the explode's elements one-by-one, to get the result like down
);

This script gives me the following result:

Array (3)
0 => Array (2)
  id => "29"
  where => Array (2)
    0 => "17"
    1 => "16"
1 => Array (2)
  id => "30"
  where => Array (1)
    0 => "17"
2 => Array (2)
  id => "31"
  where => Array (1)
    0 => "17"

But in this case I'd like to be this:

Array (4)
0 => Array (2)
  id => "29"
  where => "17"
1 => Array (2)
  id => "29"
  where => "16"
2 => Array (2)
  id => "30"
  where => "17"
3 => Array (2)
  id => "31"
  where => "17"

Thanks for your help.

+2  A: 

You have to loop over the $shower array:

$shower = explode(", ",$sor["site_id"]);
// this is explode my site_id

foreach($shower as $show) {
    $pages_show[]=array("id"=>$sor["id"],"where"=>$show);
}
Felix Kling
A: 

if the $shower is array, then $shower[$i++] nem?

turbod