par
Cyrano » 12 mai 2008, 09:30
sara, tu n'es pas logique : ce code ne peut pas fonctionner pour deux raisons principales :
-1- Tu ne te connectes nulle part à MySQL
-2- Tu utilises une variable $result qui sort de nulle part également.
-3- Tu ne lis pas les conseils que te donne
caroube sur l'écriture de ta requête à propos des valeurs numériques.
Regarde bien ceci, ton code revu et corrigé, teste-le mais surtout lis les commentaires ajoutés et regarde les modifications.
<?php
/* Connexion */
$cnx = mysql_connect("localhost", "Ton-nom-d-utilisateur", "ton-mot-de-passe")
or die("La connexion a échoué.<br />\nErreur : ". mysql_error());
/* Valeurs recherchées */
$mag_min = $_POST["mag_min"];
$mag_max = $_POST["mag_max"];
$lat_min = $_POST["lat_min"];
$lat_max = $_POST["lat_max"];
$lon_min = $_POST["lon_min"];
$lon_max = $_POST["lon_max"];
/* Construction de la requête à partir des variables définies ci-dessus */
$sql = "SELECT * ".
"FROM seisme ".
"WHERE (mag BETWEEN ". $mag_min ." AND ". $mag_max .") ".
" AND (lat BETWEEN ". $lat_min ." AND ". $lat_max .") ".
" AND (lon BETWEEN ". $lon_min ." AND ". $lon_max .")";
$exec = mysql_query($sql, $cnx)
or die ("Requête incorrecte<br />\n". $sql ."<br />\nErreur : ". mysql_error());
/* On vérifie qu'il y a au moins un résultat */
if (mysql_num_rows($exec) > 0)
{
// Si il y a des résultats
?>
<table>
<?php
while(false != ($rs = mysql_fetch_array($exec)))
{
?>
<tr>
<td><?php echo $rs["mag"]; ?></td>
<td><?php echo $rs["lat"]; ?></td>
<td><?php echo $rs["lon"]; ?></td>
</tr>
<?php
} // Fin instruction while
?>
</table>
<?php
}
else
{
// Pas de résultat trouvé
echo "Pas de résultat";
}
mysql_free_result($query); // Libère la mémoire
mysql_close(); // Ferme la connexion
?>
</body>
</html>
[b]sara[/b], tu n'es pas logique : ce code ne peut pas fonctionner pour deux raisons principales :
-1- Tu ne te connectes nulle part à MySQL
-2- Tu utilises une variable $result qui sort de nulle part également.
-3- Tu ne lis pas les conseils que te donne [b]caroube[/b] sur l'écriture de ta requête à propos des valeurs numériques.
Regarde bien ceci, ton code revu et corrigé, teste-le mais surtout lis les commentaires ajoutés et regarde les modifications.
[php]<?php
/* Connexion */
$cnx = mysql_connect("localhost", "Ton-nom-d-utilisateur", "ton-mot-de-passe")
or die("La connexion a échoué.<br />\nErreur : ". mysql_error());
/* Valeurs recherchées */
$mag_min = $_POST["mag_min"];
$mag_max = $_POST["mag_max"];
$lat_min = $_POST["lat_min"];
$lat_max = $_POST["lat_max"];
$lon_min = $_POST["lon_min"];
$lon_max = $_POST["lon_max"];
/* Construction de la requête à partir des variables définies ci-dessus */
$sql = "SELECT * ".
"FROM seisme ".
"WHERE (mag BETWEEN ". $mag_min ." AND ". $mag_max .") ".
" AND (lat BETWEEN ". $lat_min ." AND ". $lat_max .") ".
" AND (lon BETWEEN ". $lon_min ." AND ". $lon_max .")";
$exec = mysql_query($sql, $cnx)
or die ("Requête incorrecte<br />\n". $sql ."<br />\nErreur : ". mysql_error());
/* On vérifie qu'il y a au moins un résultat */
if (mysql_num_rows($exec) > 0)
{
// Si il y a des résultats
?>
<table>
<?php
while(false != ($rs = mysql_fetch_array($exec)))
{
?>
<tr>
<td><?php echo $rs["mag"]; ?></td>
<td><?php echo $rs["lat"]; ?></td>
<td><?php echo $rs["lon"]; ?></td>
</tr>
<?php
} // Fin instruction while
?>
</table>
<?php
}
else
{
// Pas de résultat trouvé
echo "Pas de résultat";
}
mysql_free_result($query); // Libère la mémoire
mysql_close(); // Ferme la connexion
?>
</body>
</html>[/php]