Bonjour,

je ne comprends pas pourquoi m'a boucle s'execute 2 fois :-S :
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
27
28
29
30
<?php require_once('connexion.php'); ?>
<?php
header('Content-Type: text/xml;charset=utf-8');
echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?><options>"));
if (isset($_GET['debut'])) {
    $debut = utf8_decode($_GET['debut']);
} else {
    $debut = "";
}
$debut = strtolower($debut); //mise en minuscules
mysql_select_db("dbprotect", $dbprotect);
$ref_piece = mysql_query("SELECT ref_piece FROM `posts_commande` WHERE ref_piece LIKE '".$_GET["debut"]."%'");
$liste = mysql_fetch_array($ref_piece); //assignation des valeurs trouvée dans un tableau
 
function generateOptions($debut,$liste) {
    $MAX_RETURN = 10; //loguer maxi de la liste
    $i = 0;
    foreach ($liste as $element) {
        if ($i<$MAX_RETURN && substr($element, 0, strlen($debut))==$debut) {
        echo $element;
            echo(utf8_encode("<option>".$element."</option>"));
            $i++;
        }
    }
}
 
generateOptions($debut,$liste);
 
echo("</options>");
?>
Le résultat avec comme adresse :
http://127.0.0.1/autocompletion-sour...ns.php?debut=3

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
  <?xml  version="1.0" encoding="UTF-8" ?> 
  <a href="http://www.developpez.net/forums/#" target="_blank">-</a> <options>
    3456 
    <option>3456</option> 
 
   3456 
    <option>3456</option> 
 
   </options>

Alors que dans ma base il n'y a qu'un seul enregistrement qui correspond!
Code SQL : 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
-- 
-- Structure de la table `posts_commande`
-- 
 
CREATE TABLE `posts_commande` (
  `id_commande` int(11) NOT NULL default '0',
  `ref_piece` varchar(32) NOT NULL default '',
  `quantite` int(5) NOT NULL default '0',
  `designation` varchar(64) NOT NULL default '',
  `ref_appareil` varchar(32) NOT NULL default '',
  `num_fabric` varchar(32) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
-- 
-- Contenu de la table `posts_commande`
-- 
 
INSERT INTO `posts_commande` VALUES (200, '3456', 1, 'porte', '1234', '2002');
INSERT INTO `posts_commande` VALUES (201, '1234', 1, 'Joint', '89011', '2001');

Pouvez-vous me dire mon erreur svp?
Merci

A bientôt