lolowar
Messages postés30Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention24 juin 2008
-
18 déc. 2007 à 15:25
lolowar
Messages postés30Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention24 juin 2008
-
18 déc. 2007 à 17:47
Bonjour,
Je viens chercher un peu d'aide pour un problème qui me semble facile, mais peut être à trop chercher je bloque depuis deux jours...
Voila, j'ai un formulaire avec une liste à choix multiples dont je récupére l'ID, là pas de problème.
En dessous j'ai un champs texte que je boucle pour le répéter 20 fois (je fais donc un array). Là toujours aucun problème.
Le problème est pour récupérer les données. Le champs de select se récupére correctement, et les entrée des champs texte de la boucle aussi, le hic c'est que meme si le champ est vide, il se met dans la base mysql.
J'ai pourtant mis un if qui devrait arreter la boucle si le champs est vide.
Si quelqu'un pouvait m'éclairer, je vous en remercis d'avance, voici le bout de code qui récupére les données:
$ListeAppelation = array() ;
$ListeAppelation = $_POST['nomappelation'] ;// nomappelation est donc le champs texte a récupérer
$RegionID = $_POST['selectregion'];
if (isset($ListeAppelation)){// c'est avec ce if là que j'essais de ne récupérer que les champs pleins, mais ça ne marche pas.
for ($i=0; $i<count($ListeAppelation); $i++) { // debut de boucle pour récupérer tous les champs
$insertionappelation = " INSERT INTO appelation (RegionID, Appelation)
VALUES
($RegionID,
'$ListeAppelation[$i]')";
mysql_query($insertionappelation) or die(mysql_error());
} // fin de boucle
}fin du if
}fin du isset de récupération de formulaire (je n'ai pas mis le bout de code, il marche)
cs_lowkey
Messages postés260Date d'inscriptionjeudi 31 mai 2007StatutMembreDernière intervention 5 novembre 20101 18 déc. 2007 à 17:26
Salut !
Je ne m'y connait pas beaucoup en tableaux, mais (je vais peut être dire une connerie), mais avec if (isset($ListeAppelation)), tu teste si le tableau existe.
for ($i=0; $i<count($ListeAppelation); $i++)
{ // debut de boucle pour récupérer tous les champs
if(!empty($ListeAppelation[$i])){
$insertionappelation = " INSERT INTO appelation (RegionID, Appelation)
VALUES
($RegionID,
'$ListeAppelation[$i]')";
mysql_query($insertionappelation) or die(mysql_error());
}
} // fin de boucle
lolowar
Messages postés30Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention24 juin 2008 18 déc. 2007 à 17:47
Merci beaucoup Lowkey!
Effectivement c'été ça.
Je me bornais avec le test sur le tableau, pensant qu'il tester les valeurs et non comme tu me l'as préciser le tableau.
Un grand grand merci. Je l'avais testé mais sans le [$i], du coup ça testé aussi le tableau.
Bonne soirée, et merci!