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

PHP & Base de données Discussion :

Affichage de résultat [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut Affichage de résultat
    Bonjour,

    Je me permets de soliciter votre aide pour afficher des données à partir d'un checkbox.

    Le checkbox de recherche est :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="checkbox" name="checkbox[]" value="manques" id="manques" /> <label for="manques">Manques</label><br />
    <input type="checkbox" name="checkbox[]" value="baveaux" id="baveaux" /> <label for="baveaux">Baveaux</label><br />


    Je récupère les données ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    if(isset($_POST['checkbox']))      $defaut1=$_POST['checkbox'];
    else      $defaut1="";
     
    $arrlength=count($defaut1);
     
    la requete est la suivante :
     
    if(!($defaut1 == NULL))
    {
    for($x=0;$x<$arrlength;$x++){
    $result = mysql_query("SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc and defaut='$defaut1[$x]' order by titre ", $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
    		  }
     
    }
    Le problème c'est qu'il m'affiche biensur seulement la dernière valeur.

    Avez-vous des idées ?

    Je débute vraiment en php.

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    c'est normal tes checkbox ont toutes la même valeur manques.
    tu devrais affecter une valeur différente pour chaque checkbox
    .
    . . Savoir, savoir faire, faire , faire savoir...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Je sais pas qu'est ce que tu veux dire par la meme valeur !

    Je vais pas m'ensortir si j'affecte un name différent pour chaque checkbox parce que la liste est grande et donc je sais pas comment faire une requete qui compare les valeurs (de la recherche) avec les données de la BD.

    Bref, ce que je veux faire c'est :

    si le mec couche manques et baveaux il yaura un tableau comme :

    0000 xxxx manques xxxxxx xxxxx
    0001 yyyy manques xxxxxx yyyy
    0002 xxxx baveaux xxxxxx zzzzz
    0004 xxxx manques xxxxxx xxxxx

    et non pas les données qui correspondent seulement à la derniere valeur de checkbox (ds notre exmple c baveaux).

    J'espère que c'est + claire mainetenant.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    regardes ce post :
    http://www.developpez.net/forums/d13...u/#post7314923

    pesonnellement quand il y'a des checkbox je préfère passer par cette méthode :

    la vleur de la checkbox est l'id de la ligne et qui servira à reperer les data posté
    .
    . . Savoir, savoir faire, faire , faire savoir...

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    aaah désolé

    ton problème vient du critère je penses essais ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    foreach ($_POST['checkbox'] as $checkbox){
    $values[]=$checkbox;
     
    }
    $arrlength=count($values);
    if ($arrlength=='1'){
    	$sql_critere= " AND defaut='$values[1]'";
    }elseif ($arrlength=='2'){
    	$sql_critere= " AND defaut in($values[1],$values[2])";
    }else{
    	$sql_critere= "";
    }
     
    $result = mysql_query("SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc  $sql_critere order by titre ", $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
    .
    . . Savoir, savoir faire, faire , faire savoir...

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Je n'ai pas bien compris ta méthode. J'ai pour chaque input un id différent, le problème je n'arrive pas à trouver un moyen pour comparer les id avec les données dans la colonne defaut. Genre il compare le 1er id_manques avec les données de la colonne defaut et quand il passe au 2eme id_baveaux il supprime les premieres valeurs et il m'affiche seulement les résultats de la 2eme comparaison.
    Entre nous je pense qu'il fait ça.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    désolé je n'ai pas vu ton poste.

    je vais l'essayer.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    malheursement ton code marche seulement quand les 2 checkbox sont selectionés. si je choisi un seul il m'affiche
    Undefined offset: 1
    Pb dans la requête : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') order by titre' at line 1

    merci quand meme, je vais essayer de creusé un peu +

  9. #9
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    on commence à compter à partir de 0 dsl, voilà ça devrais aller comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    foreach ($_POST['checkbox'] as $checkbox){
    $values[]=$checkbox;
     
    }
    $arrlength=count($values);
    if ($arrlength=='1'){
    	$sql_critere= " AND defaut='$values[0]'";
    }elseif ($arrlength=='2'){
    	$sql_critere= " AND defaut in($values[0],$values[1])";
    }else{
    	$sql_critere= "";
    }
     
    $result = mysql_query("SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc  $sql_critere order by titre ", $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
    .
    . . Savoir, savoir faire, faire , faire savoir...

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    oui j'ai deja essayer ça et ça a donné :

    Pb dans la requête : Unknown column 'manques' in 'where clause'
    'manques' correspnd à $values[0].

  11. #11
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    essaies d'afficher la query pour voir le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    foreach ($_POST['checkbox'] as $checkbox){
    $values[]=$checkbox;
     
    }
    $arrlength=count($values);
    if ($arrlength=='1'){
    	$sql_critere= " AND defaut='$values[0]'";
    }elseif ($arrlength=='2'){
    	$sql_critere= " AND defaut in($values[0],$values[1])";
    }else{
    	$sql_critere= "";
    }
     
    $result = mysql_query("SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc  $sql_critere order by titre ", $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
    echo "SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc  $sql_critere order by titre ";
    .
    . . Savoir, savoir faire, faire , faire savoir...

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    si je met ton code, on ira pas + loin.

    Il s'arrete dans
    Pb dans la requête : Unknown column 'manques' in 'where clause'
    je pense que le problème vient de """AND defaut in(manques,baveaux)"""

  13. #13
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    foreach ($_POST['checkbox'] as $checkbox){
    $values[]=$checkbox;
     
    }
    $arrlength=count($values);
    if ($arrlength=='1'){
    	$sql_critere= " AND defaut='$values[0]' ";
    }elseif ($arrlength=='2'){
    	$sql_critere= " AND (defaut='$values[0]' OR defaut='$values[1]') ";
    }else{
    	$sql_critere= "";
    }
     
    $result = mysql_query("SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc  $sql_critere order by titre ", $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
    du coup dans l'ancien code il fallait ajouter les apostrophes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql_critere= " AND defaut in('$values[0]','$values[1]')";
    .
    . . Savoir, savoir faire, faire , faire savoir...

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    ça marche merciiii à toi

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

Discussions similaires

  1. [MySQL] Affichage 1 résultat / 1 tableau
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 24
    Dernier message: 01/05/2006, 19h22
  2. [MySQL] affichage du résultat d'une requete dans une page
    Par blackbird1 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/03/2006, 14h07
  3. [MySQL] Affichage des résultats d'un requête
    Par wiwi dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/02/2006, 11h25
  4. Affichage des résultats d'un moteur de recherche
    Par poah dans le forum Langage
    Réponses: 1
    Dernier message: 24/11/2005, 14h31
  5. Affichage du résultat
    Par thomas_strass dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2005, 11h30

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