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 :

Requête SQL Ordonner une chaine de caractères


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Requête SQL Ordonner une chaine de caractères
    Bonjour , quelqu'un de disponible pour m'aider sur du sql , j'ai des professionnel dans une database avec un champ departement comme ceci : 18,36,41,45,58,03,23 et sur l'autre pro c'est comme ceci : 41,36,18,45,58,03,23 comment faire pour que par exemple quand quelqu'un cherche un pro dans le 41 ca affiche le 41 en premier puis les autres départements et ainsi de suite pour tout les pros ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sqlSelect = "SELECT * FROM membre WHERE dep LIKE '%$dep%' AND id IN (SELECT id_membre FROM liaison1 WHERE id_Cat = $cat);";
    Merci beaucoup.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 216
    Points
    20 216
    Par défaut
    Il y'a pour commencer un gros problème de conception.
    On ne stock pas un ensemble de possibilités à la suite comme ça dans un champs. Il faut une table intermédiaire.

    Pour répondre à ta question , il est sans doute plus judicieux de ne pas faire to ntri en SQL mais de le faire en PHP.
    Tu recois ta liste de departement , tu en fais un tableau , tu extrais le département de la recherche , puis tu tris les données restantes.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 502
    Points : 770
    Points
    770
    Par défaut
    Bonjour, il veut ordonner où il veut trier?
    Y'a-t-il pas de différence entre ordonner et trier?

    Cordialement.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    $before = [];
        $after = [];
     
          while($affPro = mysqli_fetch_object($exeSelect)) {
     
            $depList = explode(",",$affPro->dep);
            if($depList[0] == $dep) $before[] = $affPro;
            else {$after[]  = $affPro;}
     
     
     
          $result = array_merge($before, $after);
     
          foreach($result as $pro) {
     
        ?>  
        <div class="Pro wow bounceInRight" data-wow-duration="4s">
          <div class="pros">
            <p><?php echo $affPro->entreprise;?></p>
            <p>Adresse : <?php echo $affPro->Adresse;?> <?php echo $affPro->cp?> <?php echo $affPro->ville ?></p>
            <p><img src ="images/telephone.png" /> <?php echo $affPro->tel;?></p>
            <p><img src ="images/chrome.png" /> <a href="http://<?php echo $affPro->Site;?>"><?php echo $affPro->Site;?></a></p>
          </div>
            <div id="stop">
            <p><img id="logo" src="images/<?php echo $affPro->logo;?>" /></p>
            <button name="submit" type="submit" data="<?php echo $affPro->id;?>" id="<?php echo $affPro->entreprise;?>" class="popup-button" data-modal="popup">Demander un devis</button>
            </div>
            <p id="texture"><?php echo $affPro->description;?></p>
        </div>
        <div id="popup" class="modal blur-effect">
          <div class="popup-content">
            <h3 id="prof"></h3>
            <div>
              <p class="para">L'entreprise vous répondra dans les plus brefs délais</p>
              <form action="confirmDevis.php" method="post" id="devy">
              <input type="text" placeholder="Nom" name="nom" required />
              <input type="text" placeholder="Prénom" name="prenom" required />
              <input type="email" placeholder="Adresse email" name="email" required />
              <input type="text" placeholder="Téléphone" name="tel" maxlength="10" required />
              <input type="text" placeholder="Votre département" name="dep" maxlength="2" required />
              <input type="text" placeholder="Votre ville" name="ville" required />
              <textarea placeholder="Message" name="texte" required></textarea>
              <input type="hidden" id="prog" name="pro" value="" />
              <input type="hidden" name="path" value = "<?php echo $cat;?>" />
              <input type="submit" class="submit" value="Envoyer" />
              </form>
     
              <div class="close"></div>
            </div>
          </div>
        </div>
     
     
        <?php
     
            }
     
          }
          mysqli_free_result($exeSelect);
     
        ?>
    comme ceci ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    En faite je souhaite que les pros s’affiche dans l’ordre dans département renseigne dans le champ dep.

    Exemple : Marc recherche tout les pros du département 18 mais un pro peut être dans différent département avec une adresse différente pour chaque siège . Il faudrait donc que ça affiche en premier l’agence du département recherche puis ensuite les autres .

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu peux faire ta requête en ordonnant par département.
    Puis avec un seul parcours des données tu remplis deux chaînes de caractères (*) qui contiendront le code html.
    La première si le département = celui que tu veux, la seconde pour les autres.
    Quand toutes les données ont été parcourues tu fais un print de l’une puis de l’autre.

    (*) tu peux aussi utiliser la bufferisation (fonctions dont le nom commence par ob_).
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

Discussions similaires

  1. [AC-2010] mettre une condition sur une chaine de caractères dans une requête sql
    Par freeman3869 dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/06/2015, 11h45
  2. [2014] Récupérer la requête SQL exécutée en chaine de caractères ?
    Par ypelissier dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/05/2015, 17h08
  3. Réponses: 3
    Dernier message: 12/06/2006, 11h18
  4. [requète sql] Créer une vue ordonnée
    Par gangsoleil dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/01/2006, 18h34

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