2010-06-22 6 views
3

comment envoyer un tableau via url en PHP?comment envoyer des valeurs de tableau via l'URL en PHP?

J'ai un tableau d'id de produits que je veux utiliser ces id par l'intermédiaire de l'url parce que c'est le osCommerce a besoin de lui dans lequel je travaille, comment puis-je le faire?

Généralement osCommerce demande l'insertion d'un seul produit qui à son tour me renvoie un identifiant de produit que je passe dans l'url et l'obtiens dans le panier où on me montre ce produit ajouté, mais maintenant j'ai plusieurs produits ajoutés en premier page avec différents ID produits générés et je dois afficher ces produits de la même façon qu'ils sont affichés dans genaral, pour lequel j'ai besoin de tous ces ID générés ici en url

+0

Cela dépend vraiment de ce que vous devez faire avec. Plus d'informations sont nécessaires pour répondre correctement à votre question. –

Répondre

9

Votre recherche http_build_query().

Exemple de php.net:

$data = array('foo'=>'bar', 
       'baz'=>'boom', 
       'cow'=>'milk', 
       'php'=>'hypertext processor'); 

echo http_build_query($data); 
// foo=bar&baz=boom&cow=milk&php=hypertext+processor 

echo http_build_query($data, '', '&'); 
// foo=bar&baz=boom&cow=milk&php=hypertext+processor 
1

Vous pouvez soit serialize() ou l'envoyer comme ?a[]=1&a[]=val2&someOtherArg=val. Cela donnera un tableau $_GET comme:

array(
    'a' => array(
     0 => '1', 
     1 => 'val2', 
    ), 
    'someOtherArg' => 'val' 
) 

Do Notez, cependant, que vous devriez probablement garder toute votre requête ci-dessous 2k ~ caractères. (more)

7

? Arr [] = abc & arr [] = pqr & arr [] = xyz & arr [] = xxx

0

Si vous données inG POST, puis nommez vos champs avec tableau PHP syntaxe de style:

<input type="text" name="myArray[]" value="A"> 
<input type="text" name="myArray[]" value="B"> 
<input type="text" name="myArray[]" value="C"> 

Si vous voulez transmettre les données dans une requête GET, vous pouvez séparer les données et le diviser côté serveur à l'aide d'exploser:

page.php?myData=A,B,C,D 

...

$myArray = explode(',', $_POST['myData']); 
0

Si vous avez déjà les ID de produit dans un tableau, vous pouvez utiliser la fonction http_build_query(), qui encoder le tableau comme ainsi:

http://www.example.com/?pid[]=1&pid[]=2&pid[]=3 ...

Espérons que cela aide.

3

bien ce que je ferais est json_encode (php json) le tableau et l'assigner à une variable en PHP. vous pouvez alors urlencode la variable pour l'envoyer via l'url. A l'autre extrémité, vous pouvez json_decode. Ne cherchez pas JSON si vous n'êtes pas au courant. C'est très puissant et utile.

Questions connexes