Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2006, 15h59   #1
Membre régulier
 
Inscription : février 2003
Messages : 272
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 272
Points : 85
Points : 85
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 :
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
ph_anrys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h06   #2
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
Regarde ici http://www.developpez.net/forums/m1152942-/
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h07   #3
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
Tu fait juste un test sur tes enregistrements :
apres $req = mysql_query....

Code :
1
2
3
4
5
6
7
8
 
 
if(mysql_num_rows($req)>0) ///pas de resultat
{
Echo "PAS DE RESULTATS";
}else{
.....la suite
}
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h14   #4
Membre régulier
 
Inscription : février 2003
Messages : 272
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 272
Points : 85
Points : 85
bon voilà j'ai modifié comme tu m'as dit

Code :
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
ph_anrys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h19   #5
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
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
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h24   #6
Membre régulier
 
Inscription : février 2003
Messages : 272
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 272
Points : 85
Points : 85
voici le code modifié mais n'affiche pas pas de résultats

Code :
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>
ph_anrys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h25   #7
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
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
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h27   #8
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
C'était l'inverse qu'il fallait faire

Code :
1
2
3
4
5
6
7
8
if(mysql_num_rows($req)==0)
{
 pas de réponses
} else {
 
ya des réponses
 
}
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h29   #9
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
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 :
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
}
}
    ?>
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h32   #10
Membre régulier
 
Inscription : février 2003
Messages : 272
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 272
Points : 85
Points : 85
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 :
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
ph_anrys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h34   #11
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
Atten on va arreter avec les codes parceque ca devient illisible, supprimes le anciens stp
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2006, 16h36   #12
Membre régulier
 
Inscription : février 2003
Messages : 272
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 272
Points : 85
Points : 85
je comprens pas je dois supprimer les anciens et ou
ph_anrys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 10h19   #13
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
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 !
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h44.


 
 
 
 
Partenaires

Hébergement Web