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] affichage en cas de requete ne rapportant pas d'enregistrement


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut [SQL] affichage en cas de requete ne rapportant pas d'enregistrement
    bonjour,

    voilà j'ai une requete multicritères qui marche très bien, ce que je voudrais c'est que ca m'affiche un message avec un alert en javascript ou meme du texte php mais qui indique que la recherche n'a retourné aucun enregistrement.

    je ne sais pas comment et ou il faut mettre ce 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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
     
    $sql = "SELECT * FROM biens WHERE statut='A VENDRE' AND type='" . $_POST['select_type'] . "' AND SITUATION='" . $_POST['champcommune'] . "' AND prix BETWEEN $expl[0] AND $expl[1] "; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    ?>
     
        <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
    <?php
        }
        ?>
    	</table>
    merci pour votre aide

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561

  3. #3
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Tu fait juste un test sur tes enregistrements :
    apres $req = mysql_query....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    if(mysql_num_rows($req)>0) ///pas de resultat
    {
    Echo "PAS DE RESULTATS";
    }else{
    .....la suite
    }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    bon voilà j'ai modifié comme tu m'as dit

    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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
     
    $sql = "SELECT * FROM biens WHERE statut='A VENDRE' AND type='" . $_POST['select_type'] . "' AND SITUATION='" . $_POST['champcommune'] . "' AND prix BETWEEN $expl[0] AND $expl[1] "; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    if (!mysql_fetch_array($req)) 
    {
     echo 'ya rien !!!';
     }
    else
    {
    ?>
     
        <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
     <?php
    	}
        }
        ?>
    	</table>
    voilà alors quand il n'y pas d'enregistrement correspondant ca m'affiche bien ya rien mais lorsque normalement y a des enregistrements qui existent il m'affiche plus rien du tout

    pouvez vous verrifier mon code

    merci

  5. #5
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    c'est normal tu ferme le php (?>) juste apres le else et en plus tu ne ferme pas le else...
    [edit] :
    - il y a un } de trop en bas
    - met le </table> juste au dessus de la réouverture du <?php en bas

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    voici le code modifié mais n'affiche pas pas de résultats

    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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
     
    $sql = "SELECT * FROM biens WHERE statut='A VENDRE' AND type='" . $_POST['select_type'] . "' AND SITUATION='" . $_POST['champcommune'] . "' AND prix BETWEEN $expl[0] AND $expl[1] "; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    if(mysql_num_rows($req)>0) ///pas de resultat
    {
    echo "PAS DE RESULTATS";
    }
    else
    {
    ?>
    <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
    <?php
    }
     
    }
    ?>
     
     
    	</table>

  7. #7
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Oué le souci avec ma solution c'est que ca déplace le pointeur des résultats d'un cran donc si tu n'as qu'une ligne elle passe à la trappe

    Essaie avec la solution de snake ca sera plus propre je pense

  8. #8
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    C'était l'inverse qu'il fallait faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(mysql_num_rows($req)==0)
    {
     pas de réponses
    } else {
     
    ya des réponses
     
    }

  9. #9
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    a le boulet !
    bien vu !
    donc c'est
    Code :

    if(mysql_num_rows($req)==0) ///pas de resultat
    {
    Echo "PAS DE RESULTATS";
    }else{
    .....la suite
    }

    tu n'as pas fait ce que je t'ai proposé en BAS :
    voici le 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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
     
    $sql = "SELECT * FROM biens WHERE statut='A VENDRE' AND type='" . $_POST['select_type'] . "' AND SITUATION='" . $_POST['champcommune'] . "' AND prix BETWEEN $expl[0] AND $expl[1] "; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    if (!mysql_fetch_array($req)) 
    {
     echo 'ya rien !!!';
     }
    else
    {
    ?>
     
        <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
    </table>
     
     <?php
    }
    }
        ?>

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    bon j'ai fait comme tu l'as dit msi maintenant qu'il y ait des enregistrements ou pas il me met pas de résultats

    je donne le 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
     
    <?php
    include( "config_server.php" );
    $expl=explode(" ",$_POST['select_prix']);
     
    $sql = "SELECT * FROM biens WHERE statut='A VENDRE' AND type='" . $_POST['select_type'] . "' AND SITUATION='" . $_POST['champcommune'] . "' AND prix BETWEEN $expl[0] AND $expl[1] "; 
     
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    if(mysql_num_rows($req)==0) ///pas de resultat
    {
    echo "PAS DE RESULTATS";
    }
    else
    {
    ?>
    <table width="473"  class="tableau-affichage">
        <?php
        while ($data = mysql_fetch_array($req)) {
    	?>
    	<tr>
        <td><!-- td1 -->
    	<table width="466" bgcolor="#E3F9D2" style="border:1px solid #8E8A8A; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; ">
     
        <tr>
        <td>Situation : <?php echo $data['situation']; ?></td>
        <td align="center">Prix : <?php echo $data['prix']; ?> euros</td>
        </tr>
        </table>
        </td><!-- fin td1 -->
        </tr>
        <tr>
        <td><!-- td2 -->
    	<table width="466" bgcolor="#FFFFCC" style="border:1px solid #8E8A8A;">
        <tr>
         <td><a href="details_biens.php?id=<?php echo $data['id'] ?>"><?php echo '<img src="'.$data['photo1'].'" width="132" height="100" style="border:1px solid #000000; " />' ?></a></td>
        <td><?php echo $data['composition']; ?></td>
        </tr>
        </table>
     
    	</td><!-- fin td2 -->
        </tr>
    </table>
    	<?php
    }
     
    }
    ?>
    voilà si j'ai fair une erreur peux tu me coriger

    merci

  11. #11
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Atten on va arreter avec les codes parceque ca devient illisible, supprimes le anciens stp

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    je comprens pas je dois supprimer les anciens et ou

  13. #13
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Dans tes messages, tu cliques sur "EDITER" puis tu enlève les codes php... puis "Enregistrer les changements"

    [edit] : Essayes aussi
    if(mysql_num_rows($req)<0) ///pas de resultat
    mais ca devrais marcher la !

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

Discussions similaires

  1. [MySQL] Affichage résultat d'une requete sql dans un tableau
    Par sara21 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/05/2008, 04h01
  2. [SQL] affichage d'une requete SQL avec un echo (donnée unique)
    Par khamett dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/10/2007, 21h03
  3. [SQL] Affichage d'une requete SQL
    Par djinko dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 22/10/2006, 13h58
  4. Affichage De Resulats De Requetes Sql
    Par anonix dans le forum JDBC
    Réponses: 9
    Dernier message: 14/10/2006, 19h04
  5. [Tableaux] affichage tableau php apres requete sql count
    Par heteroclite dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 21h53

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