Ne pas insérer un champ vide [Résolu]

Signaler
Messages postés
30
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
Messages postés
30
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
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)

?>
Merci

Lolo

2 réponses

Messages postés
260
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
5 novembre 2010
1
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

Sous réserve...

<hr />
lowke<sub>y

WWJD for havin' a nice code ?</sub>
Messages postés
30
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
24 juin 2008

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!

Lolo