Je construis un Moteur de recherche pour mon site Flash lié à une BD MySQL via PHP.
Pour faire simple et pour le test, j'entre le nom d'un membre de la DB et je désire obtenir son adresse.
Le .swf contient :
- un "Input Text Field" (Instance Name = sName, variable = snom).
- un "Dynamic Text Field" parmi d'autres qui seront utilisés après le test (Instance Name = fStreet, variable = rue) où le résultat s'affiche.
- un bouton de recherche dont l'action est décrite ci-dessous.
L'accès et "l'écho" de ma BD ont été testés via un Script PHP et tout est OK.
Mais à partir du .swf la recherche ne fonctionne pas!
Où est mon erreur?
Merci d'avance de tout coeur pour vos commentaires et corrections. ))
ActionScript du bouton :
on (release) {
var mySearch = new LoadVars();
mySearch.snom = sName.text;
//'snom' est le nom de la variable du texte entré par l'usager dans le champ de recherche dont le nom est 'sName'
var myResult = new LoadVars();
myResult.onLoad = function(success) {
if (success) {
fStreet.text = myResult.rue;
//'rue' est la variable du texte retourné par le serveur et qui doit s'afficher dans le champ dynamique dont le nom est 'fStreet'
}
};
mySearch.sendAndLoad("search.php", myResult, 'POST');
}
Le script PHP :
<?php
$host = "localhost";
$user = "xxxx";
$pass = "xxxxxxxxx";
$db = "xxx";
$table = "xxxx";
mysql_connect('$host','$user','$pas
s') or die("cannot connect " .mysql_error());
mysql_select_db('$db') or die("cannot select db ".mysql_error());
$nom = $_POST['snom'];
$result = mysql_query("SELECT 'street' FROM $table WHERE 'lastName' like '$nom'") or die ("select error " . mysql_error());
if ($row = mysql_fetch_array($result));
print
"&rue={$row['street']}";
else
print "status=name not found";
?>
webmaster
Admin
Inscrit le: 22 Déc 2002
Messages: 147
Posté le: Mer 21 Avr 2004, 11:49 pm
Salut,
Du coté de Flash, je ne m'y connais pas trop pour tout vous dire alors je saurai pas vérifier si votre code est bon...
En revanche, du coté de votre script PHP:
>Je ne pense pas que vos apostrophes ' sont nécessaires dans la requête.
Essayez plutôt ça:
Code:
<?php
$host = "localhost";
$user = "xxxx";
$pass = "xxxxxxxxx";
$db = "xxx";
$table = "xxxx";
mysql_connect('$host','$user','$pas
s') or die("cannot connect " .mysql_error());
mysql_select_db('$db') or die("cannot select db ".mysql_error());
$nom = $_POST['snom'];
$result = mysql_query("SELECT street FROM $table WHERE lastName LIKE '%$nom%'") or die ("select error " . mysql_error());
$num = mysql_num_rows($result);
$row = mysql_fetch_array($result);
Vous pouvez poster de nouveaux sujets dans ce forum Vous pouvez répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1