Question sur php
etaf
-
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4102 Date d'inscription Statut Contributeur Dernière intervention -
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).
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).
7 réponses
-
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 !
++ -
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[] -
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 ? -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
... 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]=...
-
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) -
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."\">;
?>