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 :

Jointures à assembler


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut Jointures à assembler
    Bonjour

    Je cherche a savoir si on peut joindre c'est deux requêtes ensemble , qui fonctionne bien separemment mais je voudrai savoir comment les joindre si cela est possible , car je n 'arrive pas du tout ,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $q_1= $connec->query ("select id_member, city, round((6371*acos(cos(radians('$lat'))*cos(radians(`latitude`))*cos(radians(`longitude`) -radians('$lon'))+sin(radians('$lat'))*sin(radians(`latitude`)))) , 2) as dist
    from donnee_connect
    where (6371*acos(cos(radians('$lat'))*cos(radians(`latitude`))*cos(radians(`longitude`) -radians('$lon'))+sin(radians('$lat'))*sin(radians(`latitude`)))) <= '$searchrange'
    order by dist, city 
    ");
    while( $ri = mysqli_fetch_array($q_1)){
    $dest_city = $ri["city"];
    $dest_membre = $ri["id_member"];
    $dist = $ri["dist"];
     
    echo $dest_city;
    echo $dist;
    }

    et

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $q = $connec->query("SELECT * FROM donnee_member INNER JOIN donnee_connect ON donnee_member.id =  donnee_connect.id_member  INNER JOIN description_member ON donnee_member.id = description_member.id_member_desc
     WHERE (age BETWEEN '$rangeage[0]' AND '$rangeage[1]') 
    AND (weight_desc BETWEEN '$weightrange[0]' AND '$weightrange[1]')
    AND (size_desc BETWEEN '$sizerange[0]' AND '$sizerange[1]')");
     
         while( $r = mysqli_fetch_array($q)){
         echo 'Résultat de la recherche: '.$r['nom'].' '.$r['prenom'].' '.$r['age'].' <br />';
         echo 'Résultat de la ville: '.$r['city'].'<br />';
         }

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Sur quel critère veux tu joindre ces requêtes ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut
    C est pour un moteur de recherche interne , avec une recherche pour les alentour de la ville sur une distance donnée et la deuxième pour afficher le profil en fonction de âge , taille etc
    Et je voudrai pouvoir faire tout cela en une requête au lieu de deux

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    il serait préférable de poster uniquement la requête SQL (sans le code php inutile ici) et de l'indenter un minimum... les requêtes n'en seront que plus lisible !

    Par ailleurs, il serait utile de poster le résultat attendu afin de préciser le besoin.

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut
    Oui désolé pour cela mais je suis nocive , en faite je voudrai faire que au lieu de 2 requêtes je me retrouve qu'avec une seul requête .Mais je n'arrive pas a construire correctement la requête

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut
    J'ai finalement réussi a faire tout cela en une requête merci a vous , cependant je suis désole j 'ai une autre question
    Comment comparer dans une requête plusieurs valeur de checkbox par rapport aux valeurs dans une base de donnée , svp

    Je m 'explique avec un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $colors = array(_dark_hair,"bleu","vert","orange","rouge");
    for($i=0;$i<sizeof($colors);$i++){
     
    echo '<input type="checkbox" name="couleur[]" value="'.$i.'">'.$colors[$i].'<br>';
    }
    pour recuperer et afficher j'utilise un foreach mais comment on fais pour adapter sur une requête pour vérifier par rapport a base de donnée étant donner qu'il peut y a avoir plusieurs réponses (toujours dans le cas d'un moteur de recherche) ?

  7. #7
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut
    J 'ai finalement trouver un solution je ne sais pas si c'est une bonne solution mais elle a le mérite de fonctionner
    Je post pour ceux qui aurai besoin par la suite
    il suffit d'utiliser implode(), et pour la recherche en bdd d utiliser IN

    exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($couleur))
      {
       $couleur_filter = implode("','", $couleur);
       $test = " AND colors IN('".$couleur_filter."')";
      }

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. pb jointure texture
    Par dweis dans le forum DirectX
    Réponses: 2
    Dernier message: 24/06/2003, 13h33
  3. Jointures en SQL
    Par Guizz dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/06/2003, 12h21
  4. Réponses: 14
    Dernier message: 17/03/2003, 18h31
  5. Jointures INNER et jointures classiques ???
    Par UbiK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/09/2002, 10h29

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