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 et affichage d'un tableau non voulu [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut SQL et affichage d'un tableau non voulu
    Bonjour a tous et a toutes .

    J'ai crée un tableau permettant d'afficher les résultats de ma requêtes dans un tableau.

    Mais, le problème , c'est que "parfois" un tableau non remplie s'affiche a l'écran lorsque la requête ne renvoie rien.

    Seulement, j'aimerais que celui-ci ne s'affiche que lorsqu'il y 'a des résultat .

    Voila mon 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
    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
    <?php
        // Connexion à la base de données
        include("connexionBdd.php");
        if (isset($_POST['marque'] ))
        {
            // Construction de la requête
    	$req = 'SELECT * 
    	FROM vehicule v, typevehicule t
    	WHERE v.codeType = t.codeType
    	AND t.codeType = ' . $_POST['type']; // condition sur le type
     
            $marque = array_values($_POST['marque']);
     
            // Ajout de la condition sur les marques
    	if (count($marque) > 0) 
    	{
    	    $req = $req . ' AND v.marque IN(';
    	    for ($i = 0; $i < count($marque); $i++) {
    	        if ($i == (count($marque) - 1))
    		    $req = $req . '"' . $marque[$i] . '")';
    		else
    		    $req = $req . '"' . $marque[$i] . '",';
                }
    	}
     
    	// Ajout de la condition du prix max
    	$req = $req . ' AND prixvente < ' . $_POST['prix'];
     
    	// Récupération des résultats
    	if ($resultats = mysql_query($req));
    	{
    	    // Affichage
    	    echo "<table class='gen-table' align='center'>
    	        <tr>
    		    <th>Photo</th>
    		    <th>Modèle</th>
    		    <th>Marque</th>
    		    <th>Prix de vente</th>
    		    <th>Description</th>
    		    <th>Année</th>
                    </tr>";
     
                    while ($resultat = mysql_fetch_array($resultats)) 
    		    echo "<tr align='center'>
                            <td><a href='$photo'><img src='$photo' style='width : 100px'/></a></td>
    			<td width='70px'>" . strtoupper($resultat['modele']) . "</td>
    			<td width='70px'>" . $resultat['marque'] . "</td>
    			<td width='90px'>" . $resultat['prixvente'] . "€". "</td>
    			<td width='250px'>" . $resultat['description'] . "</td>
    			<td width='50px'>" . $resultat['Annee'] . "</td>
                    </tr>";
    					}
    		echo "</table>";
                }
    	}
    	else echo " Aucun résultat trouver ";?>
    Si vous avez des idées, je vous remercie d'avance.

  2. #2
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Points : 855
    Points
    855
    Par défaut
    Essayez avec ceci "mysql_num_rows", cette fonction retourne le nombre de ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $nomRows = mysql_num_rows($resultats);
    if ($numRows > 0)
    {
      // en cas de résultat (donc afficher le tableau)
     
      while(...)...
    }

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Bonsoir Etanne. Je te remercie pour ta réponse.

    Après essai de ton bout de code , j'ai une erreur de ce type :

    Notice: Undefined variable: numRows in ....www\resultatrecherche.php on line 54
    Voici le bout de code concerner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Ajout de la condition du prix max
    $req = $req . ' AND prixvente < ' . $_POST['prix'];
     
    // Récupération des résultats
    $resultats = mysql_query($req);
     
    // Vérifie le nombre de ligne et affiche
    $nomRows = mysql_num_rows($resultats);
    if($numRows >  0){
        // Affichage
        echo "<table class='gen-table' align='center'>
            <tr>
                <th>Photo</th>

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nomRows = mysql_num_rows($resultats); //Remplace nomRows par numRows
    					if($numRows >  0){

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Arf... le O !

    Merci beaucoup pour votre aides !

    Petite question encore :

    J'aimerais informer l'utilisateur si il n'y pas de résultat. J'ai alors fait :

    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
    if($numRows >  0){
        // Affichage
        echo "<table class='gen-table' align='center'>
            <tr>
    	    <th>Photo</th>
    	    <th>Modèle</th>
    	    <th>Marque</th>
    	    <th>Prix de vente</th>
    	    <th>Description</th>
    	    <th>Année</th>
    	    <th>Kilometrage</th>
    	    <th>Energie</th>
    	    <th>Couleur</th>
    	    <th>Première main</th>
    	</tr>";
     
        while ($resultat = mysql_fetch_array($resultats)) 
        {
            if ($resultat['PremiereMain'] == 1)
    	    $premiereMain = "Oui";
    	else
    	    $premiereMain = "Non";
     
            $premiereMain=strtoupper($premiereMain);
    	$photo = "images/vehicule/" . $resultat['photo'] . ".jpg";
     
    	echo "<tr align='center'>
    	    <td><a href='$photo'><img src='$photo' style='width : 100px'/></a></td>
                <td width='70px'>" . strtoupper($resultat['modele']) . "</td>
    	    <td width='70px'>" . $resultat['marque'] . "</td>
    	    <td width='90px'>" . $resultat['prixvente'] . "€". "</td>
    	    <td width='250px'>" . $resultat['description'] . "</td>
    	    <td width='50px'>" . $resultat['Annee'] . "</td>
    	    <td width='70px'>" . $resultat['Kilometrage'] ."Km". "</td>
    	    <td width='70px' style='text-transform:capitalize'>" . $resultat['Energie'] . "</td>
    	    <td width='90px' style='text-transform:capitalize'>" . $resultat['Couleur'] . "</td>
    	    <td width='100px'>" . $premiereMain . "</td>
    	</tr>";
        }
     
        echo "</table>";
    }else{
        echo"<div id='contact-notification-box-error'class='notification-box notification-box-error ' style='display: none;'>
          <p>Nous avons rencontrer une erreur lors de l'envoie de votre message. Veuillez re-essayer.</p>
          <a class='notification-close notification-close-error'>x</a> </div> ";}
    Mais rien ne s'affiche .

    Je vous remercie d'avance.

  6. #6
    Membre averti Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Points : 314
    Points
    314
    Par défaut
    C'est normal que rien ne s'affiche parce-que tu lui demande...

    A la ligne 44, change

    par


  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Ha oui...

    Je vous remercie beaucoup a tous de votre aide

    Je met le sujet en tant que résolue.

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

Discussions similaires

  1. [MySQL] Simplifier une requête sql et affichage dans un tableau
    Par Debutant10 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 01/05/2012, 14h36
  2. [SQL] Problème d'affichage de données (tableau html)
    Par Flynt dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/02/2008, 11h04
  3. [CR XI] changement de police non voulu dans l'affichage
    Par fab123 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 12/02/2008, 10h09
  4. Affichages non voulu dans l'afficage des JSP
    Par Mathieu.J dans le forum JDeveloper
    Réponses: 1
    Dernier message: 18/06/2007, 14h43
  5. [Requête]Affichage d'un tableau à partir de 2 tables SQL
    Par sp4ever dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/10/2005, 11h32

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