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 les données d'une requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2022
    Messages : 1
    Par défaut Affichage les données d'une requête
    Bonjour à tous,

    Je vais essayer de faire simple.

    Mon objectif : Faire apparaitre les différents hotels d'une ville.
    Ma problématique :
    J'ai une boucle while qui me permet d'afficher des valeurs (ici des hôtel) mais si je rentre ma ville dans la boucle elle apparait plusieurs fois or je ne veux pas.
    J'ai essayé différente solution y compris mettre le fetch en dehors du while mais je perd la première ligne de mes hôtels.

    J'espère avoir fais assez simple comme explication je vous mets mon code en dessous :

    partie de la requête :

    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
    <?php
     
     require ('../db.php');
     
     $conn->query("SET NAMES UTF8");
     
     if (isset($_GET["s"]) AND $_GET["s"] == "Rechercher")
     
     {
      $_GET["destination"] = htmlspecialchars($_GET["destination"]); //pour sécuriser le formulaire contre les intrusions html
      $destination = $_GET["destination"];
      $destination = trim($destination); //pour supprimer les espaces dans la requête de l'internaute
      $destination = strip_tags($destination); //pour supprimer les balises html dans la requête
     
      if (isset($destination))
      {
       $destination = strtolower($destination);
       $select_destination = $conn->prepare("SELECT v.ville_id, v.ville, v.region, v.img, v.description, h.etablissement FROM ville v INNER JOIN hebergement h ON v.ville_id = h.ville_id WHERE ville LIKE ? ORDER BY ville ASC");
       $select_destination->execute(array("".$destination."")); 
     
      }
      else
      {
       $message = "Vous devez entrer votre requete dans la barre de recherche";
      }
     }
     
     
     ?>
    ma boucle while :
    Code html : 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
     <?php while($a = $select_destination->fetch()) { ?>
     
     
                        <!-- Tab 4 -->
                        <div class="tab-pane fade show active" id="4a">
                        <!-- Current Active Tab WITH "show active" classes in DIV tag -->
                            <div class="tm-recommended-place-wrap">
                                <div class="tm-recommended-place">
                                    <img src="../img/tm-img-06.jpg" alt="Image" class="img-fluid tm-recommended-img">
                                    <div class="tm-recommended-description-box">
                                        <h3 class="tm-recommended-title"><?php echo $a['etablissement'] ;?></h3>
                                        <p class="tm-text-highlight">Singapore</p>
                                        <p class="tm-text-gray">Sed egestas, odio nec bibendum mattis, quam odio hendrerit risus, eu varius eros lacus sit amet lectus. Donec blandit luctus dictum...</p>   
                                    </div>
                                    <a href="#" class="tm-recommended-price-box">
                                        <p class="tm-recommended-price">$440</p>
                                        <p class="tm-recommended-price-link">Continue Reading</p>
                                    </a>                        
                                </div>                             
                            </div>                        
     
                        </div> <!-- tab-pane -->
     
                    </div>
                    <?php } 
                    $select_destination -> closeCursor();?>

    PS :Je souhaite afficher la ville en haut de page donc en dehors du while et je récupère le nom de ma ville depuis une barre de recherche.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonsoir, vous pouvez passer par un foreach au lieu du While

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $destination = strtolower($destination);
       $select_destination = $conn->prepare("SELECT v.ville_id, v.ville, v.region, v.img, v.description, h.etablissement FROM ville v INNER JOIN hebergement h ON v.ville_id = h.ville_id WHERE ville LIKE ? ORDER BY ville ASC");
       $select_destination->execute(array("".$destination."")); 
       $destinations = $select_destination->fetchAll();
    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
     
     
    <h1><?php echo $destinations[0]['ville'] ?></h1>
    <?php foreach ($destinations as $destination): ?>
        <div class="tab-pane fade show active" id="4a">
            <!-- Current Active Tab WITH "show active" classes in DIV tag -->
            <div class="tm-recommended-place-wrap">
                <div class="tm-recommended-place">
                    <img src="../img/tm-img-06.jpg" alt="Image" class="img-fluid tm-recommended-img">
                    <div class="tm-recommended-description-box">
                        <h3 class="tm-recommended-title"><?php echo $destination['etablissement']; ?></h3>
                        <p class="tm-text-highlight">Singapore</p>
                        <p class="tm-text-gray">Sed egestas, odio nec bibendum mattis, quam odio
                            hendrerit risus, eu varius eros lacus sit amet lectus. Donec blandit luctus
                            dictum...</p>
                    </div>
                    <a href="#" class="tm-recommended-price-box">
                        <p class="tm-recommended-price">$440</p>
                        <p class="tm-recommended-price-link">Continue Reading</p>
                    </a>
                </div>
            </div>
     
        </div> <!-- tab-pane -->
     
        </div>
    <?php endforeach; ?>

Discussions similaires

  1. [MySQL] Problème d'affichage de données
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/08/2008, 23h06
  2. [MySQL] Problème d'affichage des données!
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/09/2006, 15h43
  3. Problème d'affichage de données avec crystal report
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 07/12/2005, 15h45
  4. problème d'affichage de données
    Par geof_leouf dans le forum Access
    Réponses: 6
    Dernier message: 11/10/2005, 09h23
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07

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