8791 sujets

Développement web côté serveur, CMS

Bonjour,

j'ai ici un script php qui place les mots clé contenu dans un array dans un fichier xml, pour ensuite faire une auto-suggestion pour un formulaire, mais là n'est pas la question.
Sur un champ de ma bdd que j'apelle motcle, je voudrais pouvoir y rentrer les mots clé , séparés par une virgule,
et récuperer ces mots clé dans l'array.
Il faut sans doute modifier un peu ce code, j'ai déja essayé mais sans résultats.

Si vous avez des propositions à me faire, une fonction ....

Merci.


<?php
header('Content-Type: text/xml;charset=utf-8');
echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?><options>"));
mysql_connect("localhost","root","");
mysql_select_db("test");

$reponse = mysql_query("SELECT motcle FROM recherche");


if (isset($_GET['debut'])) {
$debut = utf8_decode($_GET['debut']);
} else {
$debut = "";
}
$debut = strtolower($debut);

//voici l'array en question contenant les mots clés que je voudrais récupérer sur ma base de donnée !
$liste = array("abeille"..."zèbre","zéro");

function generateOptions($debut,$liste) {
$MAX_RETURN = 10;
$i = 0;
foreach ($liste as $element) {
if ($i<$MAX_RETURN && substr($element, 0, strlen($debut))==$debut) {
echo(utf8_encode("<option>".$element."</option>"));
$i++;
}
}
} 

Modifié par frdiard (16 Apr 2009 - 13:11)
Salut,

hmm... pas sûr d'avoir tout compris mais à tout hasard :
<?php
mysql_connect("localhost","root","");
mysql_select_db("test");
$reponse = mysql_query("SELECT group_concat(motcle) FROM recherche ORDER BY motcle");
$liste = explode(',', mysql_result($reponse, 0));
print_r($liste);
?>
Merci de ta réponse .

Oui c'est bien ça ton code marche mais le problème c'est qu'il sort que une entrée et je voudrais faire une boucle pour qu'il affiche toutes les entrées. Je ne sais pas comment m'y prendre.

Merci de votre aide.
frdiard a écrit :
Oui c'est bien ça ton code marche mais le problème c'est qu'il sort que une entrée et je voudrais faire une boucle pour qu'il affiche toutes les entrées.
Euh... non : il sort toutes les entrées avec le group_concat sous la forme entree_1, entree_2, entree_3, ..., entree_n
Oui c'est exact ! désolé ^^ une petite erreur.

Par tout hasard, j'aimerais les mettre dans l'ordre alphabétique, je suis en train de chercher de mon coté mais si tu as une proposition, se sera pas de refus

encore merci !

EDIT :

Je m'autorépond

natcasesort($liste);  

Modifié par frdiard (14 Apr 2009 - 22:33)
frdiard a écrit :
Par tout hasard, j'aimerais les mettre dans l'ordre alphabétique, je suis en train de chercher de mon coté mais si tu as une proposition, se sera pas de refus
Ben c'est déjà le cas avec le ORDER BY.
Moi il ne sont pas par ordre alphabétique avec ORDER BY ou du moins ils le sont mais entrée par entrée.
Ah oui ! La syntaxe c'est :
$reponse = mysql_query("SELECT group_concat(motcle ORDER BY motcle) FROM recherche");