Question sur php

Fermé
etaf - 28 avril 2005 à 09:55
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 28 avril 2005 à 10:46
bonjour

peut on en php transformer une variable (ex $nom)en un tableau

.$nom.[]

Car en fait je voudrai me servir de ca pour ma fonction qui creer les cases a cocher.

(pour l'instant le code existant utilise une constante:prim[] et donc il n'y a pas de différenciation pour les différents champs).
A voir également:

7 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 10:17
Bien sur, j'en ai parler avec Luffy dernièrement dans un post, c'est ce qui est bien avec php, c'est que tu peux faire cela :

for(int i=0;i<7;i++)
  $tab[i] = "coucou";  // $tab est un tableau de 
                                         // chaine de carractère.


et plus loin :
 $tab = 5;   // $tab devien tun entier.


Donc, tu peux faire l'inveers'e, mais attention car le tableau dans l'exemple ci-dessu est alors perdu !

++
0
Oui mais moi ce que je veux faire c'est utiliser ce que contient $nom

Je m'explique:

Pour mon champ resultat $nom=resultat et pour mon champ alignement $nom prnedra la valeur alignement

Et si j'écrit dans ma fonction case a cocher
<input type=checkbox nom='.$nom.'[] value=.$val.>
Est ce que pour mon champs resultat
j'aurai resultat[]
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 10:27
Ou, le nom sera "resultat[]", mais ce sera juste un nom, pas un tableau (d'ailleur tu l'a bien mis dans la propriété nom).

Je vois pas ton pb ?
0
Ben mon probleme c que ca fonctionne pas quand je fais ca...

Parcque après je traite tout ca avec une fonction pour inclure les valeurs cochées dans ma table:
et si je fais ce code ca marche pas:

if ($action == 'ajouter' || ($action == 'visualiser' && $num_enr == '')){

if ($status == "ok"){

$requete = "INSERT INTO $objet set";

foreach($champs as $cle => $valeur ){

if(($cle==Nom_Primer && $objet==resultats_analyses)||($cle==Nom_Sequence && $objet==alignements)||($cle==Nom_Tissu && $objet==resultats_analyses)){
$nom = isset($_POST['nom']) ? $_POST['nom'] : '';

foreach($nom as $val)
{
$valeur.=" $val /";
} $VLAS .=", $cle='$valeur ' ";
}
else{
$VLAS .=", $cle ='$valeur' ";
}

$VLAS=substr( $VLAS, 1);
$requete .=$VLAS;


action_simple($requete);
$action = "visualiser";


(ce code fonctionne avec le prim[] mais son probleme est que si il y a plusieurs champs de case a cocher dans un meme formulaire alors ca met le resultat sans différentiation entre les champs
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 109
28 avril 2005 à 10:41
... j'ai pas tout compris, mais je pense qu'il faudrait mettre un index à ton tableau, sinon.. ce n'est pas un tableau. il te faut une variable que tu incrémentes et qui te sert d'index :
$nom[$index]=...
0
Mais pourtant quand tu veux récuperer plusieurs valeurs de checkbox tu met dans ton code:
<input........nom=tab[] ....>

sans index dans ton tableau (en tout cas il me semble)
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 avril 2005 à 10:46
Bon : Si tu veux transformer un variable en tableau faut changer de méthode :
si tu fais :
$nom."[] avec $nom qui vaut caca, tu ne va pas faire le tableau caca[] mais un chaine de caractère "caca[]".

Mais ca à la place de ce que tu as mis, si ca marche pas, c'est que l'erreur est ailleur.

<?php
echo "<input type=checkbox nom=\"".$nom."[]\" value=\"".$val."\">;
?>
0