IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Traitement d'un tableau


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut [Tableaux] Traitement d'un tableau
    Salut tout le monde,
    Me revoila avec un nouveau problème, je vous explique.
    J'ai un formulaire qui permet de faire un recherche de sites dans ma base. Il affiche un tableau avec un chexbox pour chaque ligne. L'utilisateur choisit ensuite les sites qu'il veut voir.
    Je récupère alors, dans un tableau $nomSite, les sites qui ont été sélectionnés. Mais je récupère aussi des champs vides dans ce tableau.
    Le problème est que pour ma requête mysql qui suit j'ai des erreurs (ce qui est logique)
    Est-ce que vous sauriez comment récupérer l'indice des éléments présents dans mon tableau et supprimer les champs vides ?

    Ou si vous voyez une autre solution n'hésitez pas

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    montre ta requête mysql s'il te plait, je suis sûr que ça nous inspirera

  3. #3
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    pourquoi faire un tableau, tu recupere chaque adresse sur une ligne avec son checkbox correspondant, et ne seront envoyé que les checkbox validé auxquels tu donnes le nom du site

  4. #4
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Pour supprimer les champs vides dans un tableau c'est simple, tu crée un deuxième tableau vide, tu boucles sur ton premier tableau et tu testes si la valeur en cours est vide et si non tu l'ajoute au deuxième tableau.

    A la fin ton deuxième tableau contient ce que tu désires.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Je voudrais faire cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0;$i<$nb_site;$i++) {
    		$suppr_avant = "delete from Site where Site.site=$NomSite[$i]";
    		$result = envoi_requete($suppr);
    	}
    J'ai le bon nombre de site mais mon tableau NomSite contient aussi des champs vides donc j'ai des problèmes a l'affichage. C'est possible de virer ces champs vides tout en gardant l'ordre des éléments dans le tableau ?

  6. #6
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0;($i<$nb_site && $NomSite[$i] != "");$i++) {
    		$suppr_avant = "delete from Site where Site.site=$NomSite[$i]";
    		$result = envoi_requete($suppr);
    	}
    Un truc comme ça ça t'irait ?

  7. #7
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Je viens de répondre

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Ca ca devrait marcher, non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for($j=0;$j<$nb_site_total;$j++) {
    	$k=0;
    	if($nom_site[$i] != "") {
    		$NomSite[$k] = $nom_site[$i];
    		$k++;
    	}
    }
    Ou je me plante totalement Parce que ca marche pas chez moi

  9. #9
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Attention tu mélanges les $i et les $j.
    De plus quand tu fais des tests pour la chaîne vide utilise la fonction trim.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    oh oui mince
    Je l'utilise comment la fonction trim ? Ca c'est bon ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(trim($nom_site_apres[$j]) != "")

  11. #11
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Yes

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    C'est bon ca marche maintenant. Je viens de trouver mon erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $k=0;
    for($j=0;$j<$nb_site_total;$j++) {
    	if(trim($nom_site[$j]) != "") {
    		$NomSite[$k] = $nom_site[$j];
    		$k++;
    	}
    }
    J'avais mis $k dans la boucle for du coup il était réinitialiser à 0 à chaque fois

  13. #13
    Membre averti Avatar de sourivore
    Homme Profil pro
    Lead Tech Front-End
    Inscrit en
    Juin 2005
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Tech Front-End

    Informations forums :
    Inscription : Juin 2005
    Messages : 451
    Points : 334
    Points
    334
    Par défaut
    Effectivement c'est pas très malin ^^

  14. #14
    Membre habitué Avatar de scorpking
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 232
    Points : 181
    Points
    181
    Par défaut
    moi je trouve que c'est une erreur fréquente en cas d'étourderie
    ça m'est dejà arrivé 2 fois en C

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/10/2007, 16h04
  2. [Tableaux] Traitement d'un tableau
    Par flocokal dans le forum Langage
    Réponses: 1
    Dernier message: 13/04/2006, 13h20
  3. [Tableaux] Count dans un tableau
    Par krfa1 dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2005, 20h15
  4. [Tableaux] recuperation valeurs dun tableau ou d'un array
    Par pascale86 dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2005, 16h14
  5. Réponses: 6
    Dernier message: 01/02/2005, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo