#1 Wed 17 June 2009 08:28
- srom-1
- Juste Inscrit !
- Date d'inscription: 27 May 2009
- Messages: 6
requĂȘte spatiale mySQL/php
Bonjour ;
Je suis entrain de réaliser une base de données sous MySQL.
AprÚs avoir inséré des données localisées, je voudrai effectuer une requete spatiale en SQL me permettant de sélectionner les objets qui intersectent un rectangle.
Dans PhpMyAdmin, je parviens tout Ă fait Ă effectuer ma requĂȘte et les rĂ©sultats sont correctes.
Mais quand j'exĂ©cute cette mĂȘme requĂȘte Ă partir de mon interface en php, j'ai le message d'erreur suivant :
"Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ... on line 49"
Je ne comprends pas d'oĂč vient le problĂšme et j'ai beaucoup de mal Ă trouver des solutions sur le net.
Ma requĂȘte SQL fonctionne trĂšs bien dans phpMyAdmin et le reste du code PHP fonctionne trĂšs bien avec des requĂȘtes plus basiques et m'affiche les rĂ©sultats dans un tableau HTML.
J'espÚre avoir clairement exprimé mon problÚme, si certains d'entre vous ont des idées ou des suggestions de recherches cela pourrait beaucoup m'aider.
Merci d'avance et bonne journée à tous.
Hors ligne
#2 Wed 17 June 2009 08:32
- srom-1
- Juste Inscrit !
- Date d'inscription: 27 May 2009
- Messages: 6
Re: requĂȘte spatiale mySQL/php
Avec un bout de code ça va mieux, c'est dur le matin !
// Requete SQL avec la quelle on recupere les couches contenues dans l'emprise désirée
$query = "SET @bbox = 'POLYGON((0 0, 21 0, 21 21, 0 21, 0 0))';SELECT name, AsText(location), description FROM Points WHERE Intersects( location, GeomFromText(@bbox) );";
$result = mysql_query($query);
?>
<!-- Déclaration du tableau pour afficher les résultats -->
<table border="1" bgcolor="white" align=center>
<?php
// Recuperation des resultats
while($row = mysql_fetch_row($result))
{
$name = $row[0];
$location = $row[1];
$description = $row[2];
echo "<tr>\n
<td>$Name</td>\n
<td>$location</td>\n
<td>$description</td>\n
</tr>\n";
}
?>
</table>
Dernière modification par srom-1 (Wed 17 June 2009 08:33)
Hors ligne

