Le PHP c'est qd meme CHAUD!

Fermé
ben - 9 mai 2003 à 10:37
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 - 9 mai 2003 à 17:34
salut tout le monde,

je fait un dans une boucle
for (i=...)
{
for (j=...)
{ INPUT type="hidden" name="mon_tab[$i][]" value=$mon_tab[$i][$j]
}
}
MAIS j'arrive pas a recup ce que je veux et je sais meme pas ce qu'il y a dans mon tableau !!!

Auriez vous une petite idee ???

Merci a tous
A voir également:

3 réponses

Utilisateur anonyme
9 mai 2003 à 10:39
Salut,
Normal... Tu dois avoir des message d'erreur de partout, non ?
Essaye ca:
for (i=...)
{
for (j=...)
{
echo "INPUT type=\"hidden\" name=\"mon_tab[$i][]\" value=$mon_tab[$i][$j] ";
}
}

A+ !

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)
0
excuse moi
j'avais pas ecris la bonne syntaxe C'etait pour aller plus vite

en fait pour ca c'est bon,
j'ai fait un gettype ($mon_tab[0][0]); pour TESTER il me dit que c'est un string

Mais qd je fais echo $mon_tab[0][0]; il ecrit Array[0] ?????
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
9 mai 2003 à 11:57
Hi Ben,

Tu veux connaître le contenu d'un tableau en PHP ?

Et bien dans ton code tu places :

<?php

....

var_dump($mon_tab);

...
?>

Si tu ne trouves pas cela très lisible, car var_dump() n'affiche pas au format HTML et bien affiches le source de ta page et tu pourras lire plus facilement.

var_dump fonctionne avec n'importe quelle variable . Pratique ! ;-)


Autre truc : lorsque tu souhaites générer du code HTML en y intégrant plusieurs variables PHP, je trouve que la fonction echo() n'est pas bien adaptée.

Je préfère et de loin utiliser la fonction prinft() ou sprintf()
Ces 2 fonctions te permettent de formatter une liste d'arguments. Elles renvoient toujours une chaîne de caractères.

Ainsi pour tes 2 boucles imbriquées cela donne :

for ($i=...)
{
for ($j=...)
{

printf(" INPUT type=\"hidden\" name=\"mon_tab[%s][]\" value=\"%s\"",
$i, $mon_tab[$i][$j]);
}
}



En fait tu écris d'abord ton texte HTML en remplacant chaque partie variable par un spécificateur de format : un format commence toujours par le caractère pour cent ( % ) et doit respecter une syntaxe stricte. En effet tu te doutes bien qu'il faut arriver à distinguer le format du reste du texte.

Par ex %s indique qu'une chaîne est attendue.
Il exite d'autres formats : je te renvoie à la syntaxe de la fonction sprintf() pour savoir comment les utiliser.

Ensuite tu indiques un argument pour chacun des formats que tu as défini. Les arguments sont séparés par une virgule.

Ici le premier format %s sera remplacé par $i, le second par $mon_tab[$i][$j] : facile non ?

printf() affiche directement la chaîne formattée, comme echo().

sprintf() retourne la chaîne formattée : ainsi tu peux la récupérer dans une variable PHP

Ex :

$txt=sprintf(" INPUT type=\"hidden\" name=\"mon_tab[%s][]\" value=\"%s\"",
$i, $mon_tab[$i][$j]);


@+
PHP

[[  The Truth is Out There   ]]
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
9 mai 2003 à 17:23
Salut PhP,

En ce qui concerne de ECHO vs PRINTF, je préfère réserver printf pour des opérations plus complexe qu'un simple affichage de variable (ce à quoi echo ou print répondent parfaitement).

printf permet un formatage beaucoup plus pointu mais est aussi plus gourmand en ressource).
0
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 585
9 mai 2003 à 17:34
Post parasite juste pour te saluer...

Bonjour Bobinours ! ;-)

@12C4 ... In medio stat virtus ...
Ipl
0