Bonjour à tous,

J'ai un petit soucis depuis hier et je n'arrive pas à trouver la solution.

Tout d'abord, mon projet consiste à récupérer des données de Mysql, de les traiter en php et de les envoyer à un service amfphp à destination d'un flash.

Je recherche à faire une liste de mot pour un auto-complétion pour flash.

Je ne vais pas vous détaillez ma BDD mais des contraites m'impose de faire comme cela :
- 1 requete qui reccupère les 10 ID des mots en fonction du mot tapé.
- 1 requête qui permet de récupérer les libelles de ces ID.

Ci joint mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
private function traitement(){
             $tab_date = convertionDateEnVariable($this->date_rech); // Converti YYYYMMJJ en $jour, $mois, $annee
             $jour = $tab_date['jour'];
	$mois = $tab_date['mois'];
	$annee = $tab_date['annee'];
 
	$recup_fourchette = fourchette_timestamp($jour,$mois,$annee);
 
	$req = RECUP_AUTO_COMPLETION;
	$req = str_replace("{str_rech}", "'".$this->str."%'", $req);
	$maSelect = selection($req, $recup_fourchette);
 
 
	$cpt=0;
	while($recup_donnees = mysql_fetch_assoc($maSelect))
	{
		$req_libelle = "SELECT libelle AS LIBELLE FROM mot WHERE id = {id}";
		$req_libelle = str_replace("{id}",$recup_donnees['ID'],$req_libelle);
		$exec_recup_libelle = mysql_query($req_libelle);
		$recup_libel = mysql_fetch_assoc($exec_recup_libelle);
 
		$mot = array("id"=>$recup_donnees['ID'], "libelle"=>$recup_libel['LIBELLE'] , "type"=>$recup_donnees['TP']);
		$this->tbl_Mot[$cpt] = $mot;
		$cpt++;
		}
Voila ce code marche très bien mais le problème c'est que je ne reçois pas les mots par ordre alphabétique mais plutôt par ordre croissant des ID (ce qui est logique vu le dev que j'ai fait).

Je souhaite donc trié par ordre alphabétique et pour cela je suis obligé de passer par un tableau intermédiaire. Voici mon code (je repars que du while) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
while($recup_donnees = mysql_fetch_assoc($maSelect)){
	$req_libelle = "SELECT libelle AS LIBELLE FROM mot WHERE id = {id}";
	$req_libelle = str_replace("{id}",$recup_donnees['ID'],$req_libelle);
	$exec_recup_libelle = mysql_query($req_libelle);
	$recup_libel = mysql_fetch_assoc($exec_recup_libelle);
 
	$mot[$recup_libel['LIBELLE']] = array("id"=>$recup_donnees['ID'], "libelle"=>$recup_libel['LIBELLE'] , "type"=>$recup_donnees['TP']);
			$this->tbl_Mot_Atraiter = $mot;
}
 
             $cpteur=0;
	foreach($this->tbl_Mot_Atraiter as $clef=>$valeur){
		$tablo = array("id2"=>$this->tbl_Mot_Atraiter[$clef]['id'], "libelle2"=>$this->tbl_Mot_Atraiter[$clef]['libelle'] , "type2"=>$this->tbl_Mot_Atraiter[$clef]['type']);
		$this->tbl_Mot[$cpteur] = $valeur;
		$cpteur++;
	}
Mon but est donc d'avoir un Tablo[$cpt] = array("id"=>123, "libelle"=>"toto", "type"=>456);

Malheureusement ce code fonctionne très bien en php mais il génère une erreur sur le browser d'amfphp.

Quelqu'un sait peut-être pourquoi ce problème se pose ?

Merci d'avance de vos réponses