Page 1 sur 1

interface php-flash

Posté : 10 mai 2006, 15:18
par bonobos
bonjour je debute en flash et php j aurai voulu savoir comment mettre en forme les données de ce script php pour les retourneés a flash et comment crée une fonction d'envoi des données .De plus ou placer dans un formulaire flash les fonction loadvariables() et loadvariablesnum ()
merci d'avance
<form s method="POST" name='recherche' > 
Saisissez l'adresse 
<input type="text" border="1" name="recherche" size="20" value="<?=((isset($_POST['recherche']))?$_POST['recherche']:"");?>">
 <input type="submit" value="rechercher" > 
</form> 
<?
 if (((isset($_POST['recherche']))?($_POST['recherche']!=""):"")) { $recup=$_POST['recherche']; 
$r_cpt_result = mysql_query("select COUNT(*) FROM ressource where adresse like '%".$recup."%'");
 $t_cpt_result = mysql_fetch_array($r_cpt_result);
 echo "nombre de résultat=".$t_cpt_result['COUNT(*)'];
 if ($t_cpt_result['COUNT(*)']>0) {
 $res=mysql_query("select * FROM ressource where adresse like '%".$recup."%'"); 
WHILE ($t = mysql_fetch_array($res)) {
 echo '<table>';
 echo "<tr> 
<td> ADRESSE IP : ",$t["adresse"],"<br>";
 echo "NOM: ",$t["nom"],"<br>";
 echo "PRENOM: "; 
$r_lt_name= mysql_query("select * FROM `lt` where ind = ".$t["prenom"]);
 WHILE ($t_lt_name = mysql_fetch_array($r_lt_name)) { 
echo $t_lt_name['prenom'];
} 
echo "<br>"; 
echo "</td> </tr> </table>";
 }//fin du while
 } // fin du if ($t_cpt_result['COUNT(*)']>0) } 
?>

Posté : 10 mai 2006, 15:29
par zeus
Alors, en vrac :
  • pense à indenter ton code, ça t'aurait permis de voir qu'il manquait une accolade
  • le if ne correspond à rien puisque tu imbriques 2 manière de tester
  • est-ce que tu es sur qu'il faut récupérer le prenom dans une autre table ?
Voiçi une 1ere correction du code
<form s method="POST" name='recherche' > 
	Saisissez l'adresse 
	<input type="text" border="1" name="recherche" size="20" value="<?=((isset($_POST['recherche']))?$_POST['recherche']:"");?> ">
	<input type="submit" value="rechercher" > 
</form> 
<?
if (isset($_POST['recherche']) &&($_POST['recherche']!="")) { 
	$recup = $_POST['recherche'];
	$r_cpt_result = mysql_query("select COUNT(*) FROM ressource where adresse like '%".$recup."%'");
	$t_cpt_result = mysql_fetch_array($r_cpt_result);
	echo "nombre de résultat=".$t_cpt_result['COUNT(*)'];
	if ($t_cpt_result['COUNT(*)']>0) {
		$res=mysql_query("select * FROM ressource where adresse like '%".$recup."%'");
		WHILE ($t = mysql_fetch_array($res)) {
			echo '<table>';
			echo "<tr> <td> ADRESSE IP : ",$t["adresse"],"<br>";
			echo "NOM: ",$t["nom"],"<br>";
			echo "PRENOM: ";

			$r_lt_name= mysql_query("select * FROM `lt` where ind = ".$t["prenom"]);
			WHILE ($t_lt_name = mysql_fetch_array($r_lt_name)) {
				echo $t_lt_name['prenom'];
			}
			echo "<br>";
			echo "</td> </tr> </table>";
		}//fin du while
	} // fin du if ($t_cpt_result['COUNT(*)']>0) }
}
?>

Posté : 10 mai 2006, 16:04
par bonobos
en ce qui conserne le premier if il me permet de ne pas afficher tous les resultat de ma base quand la personne ne met rien dans le input et le prénom se trouve bien dans une autre table .
merci pour ton aide

Posté : 10 mai 2006, 16:11
par zeus
Pour ton if, tu faisais une sorte de
if ( if(isset($_POST['recherche'])) { $_POST['recherche']!="" } else {"" })
ce qui est faux ;)

Et qu'est-ce qui ne marche pas maintenant ?

Posté : 10 mai 2006, 16:25
par bonobos
alors comment faut il que je fasse pour ne pas afficher tous les resultat quand le input est vide autrement tu aurai quelques indications pour envoyer le script vers flash
le script ne fonctionne pas encore

Posté : 10 mai 2006, 16:31
par Ryle
Tu pourrais par exemple regarder le script que t'a donné zeus :) :
...
if (isset($_POST['recherche']) &&($_POST['recherche']!="")) { 
  ...
Il ne rentre dans le if que si $_POST['recherche'] est défini ET si $_POST['recherche'] est différent de "" (chaine vide) ...

Quand tu dis qu'il ne fonctionne pas encore, qu'est ce qui ne fonctionne pas ? as-tu des messages d'erreurs ? as-tu essayé le code de zeus ? est-ce le fonctionnement qui ne convient pas ? :)

Posté : 10 mai 2006, 16:33
par zeus
alors comment faut il que je fasse pour ne pas afficher tous les resultat quand le input est vide autrement
Regarde le 1er code que je t'ai donné, j'ai corrigé ;)
tu aurai quelques indications pour envoyer le script vers flash
Sans être un pro de Flash, il me semble que tu appelles une page php avec flash et cette page doit contenir une liste d'argument. Mais avant ça, il me semble qu'il faut que ton script fonctionne
le script ne fonctionne pas encore
C'est à dire ? message d'erreur, affichage ?

Posté : 10 mai 2006, 16:43
par bonobos
ce que voulais dire est que script php fonctionne bien mais pour envoyer a flash ca ne fonctionne pas

Posté : 10 mai 2006, 16:51
par xs_stef
Salut,
il faut renvoyer tes variables à Flash sous la forme

echo("&nom=valeur&nom1=valeur1&.....");

Tu trouveras des infos sur l'objet LoadVars et sa méthode load() dans Flash là :
http://livedocs.macromedia.com/flash/8_ ... 02329.html

Sinon là :
http://www.flashxpress.net/content/view/143/77/

où tu verras le process de chargement de données envoyées d'un php vers flash

Posté : 10 mai 2006, 19:29
par PsykoCors
Je te fais un exemple simple ( a toi d'adapter ensuite) :

Code : Tout sélectionner

// ActionScript var mon_texte = new LoadVars() mon_texte.sendAndLoad("mon_doc.php", mon_texte, "GET"); mon_texte.onLoad = function(reussite) { if (reussite) { mon_champ_dynamique = mon_texte.mon_champ_dynamique; } else { mon_champ_dynamique = "Erreur"; }
La tu demandes à Flash d'aller chercher dans infos dans php, c'est infos seront écrite dans ton champ texte (var : mon_champ_dynamique pour cet exemple). A noter que tu peux aussi faire un sendAndLoad si tu as des données à envoyer vers PHP.
<? //PHP
echo "mon_texte=";
echo "voila ce qui va s'afficher"; ?>
Elle la tu lui dis de renvoyer à flash grâce a "mon_texte" la valeur "voila ce qui va s'afficher".

En espérant que ca t'aide