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 :

[SQL] Requête multicritères et implode [Fait]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Par défaut [SQL] Requête multicritères et implode
    j'ai crée un formulaire avec plusieurs critères qu'on peut utiliser en même tps.
    cependant j'ai un problème quand dans mon formulaire je ne coche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT TYPE=checkbox NAME=bienparkinginterieur VALUE=oui>
    il me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Undefined index: bienparkinginterieur in c
    dans ma page qui traite j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $bienparkinginterieur=$_POST['bienparkinginterieur'];
    $bienparkingexterieur=$_POST['bienparkingexterieur'];
    autre question, j'ai comme m'a indiqué une personne sur le forum fais pour ajouter les criteres utiliser implode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query ='SELECT * from bien where '.implode(' AND ', $parametres);;
    $resultat = mysql_query ($query) or die('Erreur SQL ! '.$query.''.mysql_error());
    le problème que j'ai c est que je sais pas comment passer les paramètres entre les pages de ma pagination car ils peuvent un , deux comme 15..
    pour passer entre mes pages je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tmp= "<a href=\"?num=".$var1."&mini=".$choix."&maxi=".$choix2."\">". $Npag2 ."</A>" . $tmp;
       $Npag2--;
    avec ici mini et maxi deux paramètres mais si je dois définir juste les paramètres qui sont dans ma requête , est il possible de faire un implode avec les liens ?
    merci beaucoup

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Essaie de ne pas vcréer 50.000 sujets, stp... Si la question est la même ou très similaire, tu peux poursuive le même sujet.


    Ton code HTML est incorrect, il faut l'écrire de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="bienparkinginterieur" value="oui" />
    Les noms de balises et d'attibuts sont en minuscules.
    Les valeurs des attributs sont encadrées d'apostrophes ou de guillemets.
    Toutes les balises HTML doivent être fermées : pour les balises qui ne vont pas en couple (comme <b></b> et <option></option>), il faut mettre un slash ) la fin : <br />, <hr />, <input /> etc.

    L'erreur d'undefined index : http://php.developpez.com/faq/?page=...fined_constant

    Pour utiliser implode(), il faut que tu mettes toutes les variables concernées dans un tableau. Étudie bien l'exemple que je t'ai donné hier.

    de chercher un minimum avant de poser des questions.

  3. #3
    Membre confirmé Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Par défaut
    excuses moi d'avoir poster plusieurs messages qui ont c'est vrai très proche des autres posts.
    j'ai donc bien regarder tes remarques et tes liens concernant d'abord mon problème avec les checkbox.
    il faut donc que je lui spécifie une valeur quand il est vide dans la page de traitement sinon j'aurai tjs ce message.
    je pensais faire soit:
    donner par exemple
    $biencave="";
    et ceci pour toute mes valeurs en checkbox avant de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $biencave=$_POST['cave];
    mais ca me met toujours l'erreur.
    je pense donc que cette méthode doit pas etre bonne.
    j ai donc fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($bienbox)){
    $bienbox=$_post['bienbox'];}
    ca ne marchait pas
    enfin en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(! isset($bienbox)){
    $bienbox="";
    }
    else
    {
    $bienbox= $_POST['bienbox'];
    }
    ca a l air de marcher je n'ai plus le message d'erreur.
    c est bien ca ??
    merciiiiiiii

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Ouaip. Paufine un peu pour la sécurité et ce sera bon.

  5. #5
    Membre confirmé Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Par défaut
    ya un truc que je comprend pas pour les balises select:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <select name="biencuisine">
    	      <option value="">--</option>
    	      <option value="1">indépendante</option>
    	      <option value="2">intégrée</option>
    	      </select>
    j'ai mis l'option value=""qui correspond au fait qu on prend pas ce paramètre en compte, mais quand je laisse tout mes champs sans les modifier, il me renvoye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur de syntaxe près de '' à la ligne 1
    Je me dis que je peux retirer la valeur "" mais après ca rendra la requête obligatoire sur le champ 1 ou 2 non ???

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Ce code HTML est correct, n'y touche pas. L'erreur dont tu parles concerne PHP.
    Apprends à faire la différence entre une erreur de logique (un bug) et une erreur de syntaxe (le script n'est pas du tout exécuté).

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    Citation Envoyé par djedje37et28
    enfin en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(! isset($bienbox)){
    $bienbox="";
    }
    else
    {
    $bienbox= $_POST['bienbox'];
    }
    ca a l air de marcher je n'ai plus le message d'erreur.
    c est bien ca ??
    merciiiiiiii
    Citation Envoyé par Yogui
    Ouaip. Paufine un peu pour la sécurité et ce sera bon.
    Pas d'accord votre honneur !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST['bienbox'])) {
    $bienbox = $_POST['bienbox'];
    } else {
    $bienbox = "";
    }
    Mais je crois que tu ne comprends pas vraiment ce que tu fait, ce n'est pas bon, regarde la doc de la fonction isset djedje37et28

    regarde aussi ici : http://fr.php.net/manual/fr/language...s.external.php

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Fladnag : s'il a activé les autoglobales, c'est correct. Bien sûr, tu as raison et il ne faudrait pas. Mea culpa. J'ai tendance à fatiguer, ces jours-ci...

  9. #9
    Membre confirmé Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Par défaut
    J'ai trouvé mon erreur , j'avais mis deux ; après ma requête
    la ca marche bien faut juste que maintenant j'attaque la fonction implode dans ma pagination et un peu de javascript pour bloquer certaines valeurs impossible.
    je te remercie bcp de ta patience.

Discussions similaires

  1. [SQL] Requête Multicritère Vba
    Par holoaccess dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/04/2007, 11h00
  2. [SQL] Recherche multicritères genération de la requête
    Par primus dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/02/2006, 16h34
  3. [SQL] Requête complexe avec appel multiple à la même table
    Par Julien Dufour dans le forum Langage SQL
    Réponses: 9
    Dernier message: 14/04/2005, 14h12
  4. [PL/SQL]requête imbriquée
    Par Nadine dans le forum Oracle
    Réponses: 6
    Dernier message: 01/02/2005, 16h21
  5. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10

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