Rechercher : dans
Par :

PHP - passage d'un tableau à deux dimensions

Dernière réponse le 27 jun 2007 à 17:28:44 Barracuda8, le 27 jun 2007 à 15:15:28 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaiterai passer un tableau à deux dimensions entre trois pages PHP, j'ai essayé de le passer par POST et par SESSION mais je n'y arrive pas. Mon tableau ressemble à ceci:

$tab_article = array("numero"=>1, "texte"=>$text);

J'arrive bien à le créer mais pas à le garder de manière convenable entre les pages.
Si quelqun à une idée...

Merci d'avance.

Configuration: Linux Debian
Mozilla 1.8.1.4

Meilleures réponses pour « PHP passage d'un tableau à deux dimensions » dans :
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
Langage C - Les tableaux VoirType de données complexes Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes...
Les tableaux en langage C++ VoirType de données complexes Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

Alain42, le 27 jun 2007 à 15:22:28

Essaye dans des champs cachés:

foreach ($tab_article as $cle=>$value){
<input type="hidden" name=" tab_article[]" value="<?php echo $tab_article[$cle]; ?>" >

}

et tu récupéres par l'array $_POST en testant le debut du nom.

Je n'ai pas fait l'essai

Répondre à Alain42

2

rbn, le 27 jun 2007 à 15:24:08

Bonjour, ça doit être faisable avec :
serialize/unserialize

string serialize ( mixed $value )
pour transformer le tableau en chaine

mixed unserialize ( string $str )
pour transformer la chaine en tableau

Répondre à rbn

3

Barracuda8, le 27 jun 2007 à 15:28:16

Merci bien à vous deux je vais essayer tout de suite!

Répondre à Barracuda8

4

Alain42, le 27 jun 2007 à 16:04:48
  • +2

Le pb avec serialise c'est que tu vas perdre les cles.

Je t'ai fait un petit script essaye, il fonctionne chez moi:

<html>
<body>
<form method="post" action="passage_tableau.php">
<?php
// tabeau origine
$tableau=array("a"=>"toto","b"=>"tata","c"=>"titi");
echo "Tableau a passer:<br>";
print_r($tableau);
foreach($tableau as $cle=>$valeur){
?>
<input type="hidden" name="<?php echo "tableau_".$cle ?>" value="<?php echo $valeur; ?>" >
<?php
}
?>
<br><br>
<input type="submit" name="Envoi" value=" Envoyer">
</form>
<?php
if(isset($_POST['Envoi'])){
foreach($_POST as $key=>$value){
if(substr($key,0,7)=="tableau"){
$indice=substr($key,8);
$tableau_recu[$indice]=$value;
}
}
echo "<br> tableau reçu:<br>";
print_r($tableau_recu);
}
?>
</body>
</html>

Répondre à Alain42

5

Barracuda8, le 27 jun 2007 à 16:27:20

Encore merci à toi,
c'est très sympa de ta part, je l'ai intégré et il correspond à mes attentes.
Cordialement,
Bonne journée

Répondre à Barracuda8

6

 Alain42, le 27 jun 2007 à 17:28:44

Ce fut avec plaisir, le PHP est ma drogue.

Pour adapter substr($key,0,7)=="tableau") à ton cas va voir la fonction subtr sur php.net

Répondre à Alain42