Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2006, 18h22   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 10
Points : 0
Points : 0
Par défaut Problème sur les selects multiples

Bonjour,

pour la récupération des valeurs dans un champ à multiple sélection, j'ai vu que nous devons utiliser : foreach($variable as $elem) {echo $elem.'<br/>' ;}

Pouvez-vous m'aider à adapter cette fonction dans mon code svp ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
  $form = new Form ("post","page.php");
 
  $form->debutTable();
 
if ($mode == INSERTION)
    {
      $communeDefaut = "Basse-Pointe"; $musicosDefaut = "Accordéon";
      $styleDefaut =  "Africain";
 
    }
  else 
    {
  $communeDefaut = $_POST['commune']; $musicosDefaut =  $_POST['musicos'];
  $styleDefaut =  $_POST['style'];
    }
 
  $form->champListe1Select ("Ma commune", "commune", $communeDefaut, 3, $liste_communes); 
  $form->champListeSelectMultiple ("Je pratique", "musicos", $musicosDefaut, 5, $liste_musicos);  
  $form->champListeSelectMultiple ("Genre musical", "style", $styleDefaut, 5, $liste_styles);  
 
  $form->finTable();
  if ($mode == MAJ) $form->champValider ("Mettre à jour", "maj");
  else              $form->champValider ("Inscrire","insere");
 
  echo $form->formulaireHTML();
else
{
$communeDefaut = $_POST['commune'];
$musicosDefaut = ?
$styleDefaut = ?
}

Merci !
Nag_Champa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 10h24   #2
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

tu affiches toi-même la réponse : foreach($variable as $elem) {echo $elem.'<br/>' ;}.
Sur quel point veux-tu que l'on t'aides ?
On ne sait pas en plus, à quoi correspond ta classe Form donc ...
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 12h09   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 10
Points : 0
Points : 0
oui je vous apporte + d'infos sur mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
function FormMembres ($mode, $inter, $bd) 
{
       // Recherche de la liste des communes pour la liste déroulante
  $resultat  = $bd->execRequete ("SELECT nom FROM Commune");
  while ($commune = $bd->objetSuivant ($resultat))
  $liste_communes[$commune->nom] = $commune->nom;  
 
	// Recherche de la liste des musicos pour la liste déroulante
  $resultat  = $bd->execRequete ("SELECT nom FROM Musicos");
  while ($musicos = $bd->objetSuivant ($resultat))
  $liste_musicos[$musicos->nom] = $musicos->nom;  
 
       // Recherche de la liste des stylespour la liste déroulante
  $resultat  = $bd->execRequete ("SELECT nom FROM Style");
  while ($style = $bd->objetSuivant ($resultat))
  $liste_styles[$style->nom] = $style->nom;  
 
 
  // Caractères spéciaux HTML
  foreach ($inter as $nom => $valeur)
    $inter[$nom] = htmlSpecialChars($inter[$nom]);
 
  // Instanciation du formulaire
  $form = new Formulaire ("post","page.php");
 
  // Formulaire en mode table, vertical 
  $form->debutTable();
 
  if ($mode == INSERTION)
    {
      $communeDefaut = "Basse-Pointe"; $musicosDefaut = "Accordéon";
      $styleDefaut =  "Africain";
     }
  else 
    {
  $communeDefaut = $inter['commune']; $musicosDefaut = $inter['musicos'];
  $styleDefaut =  $inter['style'];
    }
 
  $form->champListe ("Ma commune", "commune", $communeDefaut, 3, $liste_communes); 
  $form->champListeMulti ("Je pratique", "musicos", $musicosDefaut, 5, $liste_musicos);  
  $form->champListeMulti ("Genre musical", "style", $styleDefaut, 5, $liste_styles);  
 
  $form->finTable();
  if ($mode == MAJ) $form->champValider ("Mettre à jour", "maj");
  else              $form->champValider ("Inscrire","insere");
 
  // Affichage du formulaire
  echo $form->formulaireHTML();
}

J'ai une erreur de syntaxe au niveau de :
else
{
$communeDefaut = $inter['commune']; $musicosDefaut = ici
$styleDefaut = ici
}
Comment faire pour que mes selections multiples soient prises en compte dans ma base de donnée
Je bloque sur ça...
Nag_Champa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 14h31   #4
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Alors déjà utilise plutôt htmlspecialchars putôt que htmlSpecialChars.
Ensuite essaie ceci peut-être :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
if ($mode == INSERTION)
{
  $communeDefaut = "Basse-Pointe"; $musicosDefaut = "Accordéon";
  $styleDefaut =  "Africain";
}
else 
{
   foreach ($inter as $nom => $valeur)
  {
    echo $nom.' => '.$valeur; //je fais un echo mais tu fais ce que tu veux avec.
  }
 
}
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 16h02   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 10
Points : 0
Points : 0
Merci pour le htmlspecialchars

par contre pour le foreach, cela ne fonctionne toujours pas..
peut-être que tu comprendras mieux ce que je souhaite faire en regardant directement le site test?
Nag_Champa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h30.


 
 
 
 
Partenaires

Hébergement Web