par
stopher » 18 mai 2009, 08:54
Il y a effectivement un petit oubli de ma part au niveau des tableaux associatif , pour insérer les caractères entrés par l'utilisateur ..
j'ai simulé un résultat que tu dois obtenir à la suite de mysql_fetch_assoc()
et normalement , celà fonctionne :
<?php
//caractéres entrés par l'utilisateur
$car = "ad";
$Tabres[] = "mot1";
$Tabres[] = "mot2";
$Tabres[] = "mot3";
$Tabres[] = "mot4";
//insertion des premiers caractères
array_unshift($Tabres,$car);
echo '<ul>';
foreach($Tabres AS &$res){
echo '<li>'.$res.'</li>';
}
echo '</ul>';
?>
Résultat :
* ad
* mot1
* mot2
* mot3
* mot4
Je viens de me rendre compte d'un énorme oubli , ( ce doit être l'effet "vendredi" ) , mysql_fetch_assoc() ne retourne qu'une ligne , et non tous les resultats
Il faut donc tous les récupérer ... ces resultats
ce qui donnerai plutot un truc du style
<?php
require("../config_inc.php");
$selec = $_POST["rechajax"];
$nb = strlen($selec);
if ($nb < 2) {
"";
}else {
$query_mots = "
SELECT
mots
FROM
aide_indexation
WHERE (
espaceid='xx'
OR
espaceid = 'yy'
)
AND
mots like '".mysql_real_escape_string($selec)."%'
ORDER BY
mots";
$result_mots = mysql_query($query_mots)or die(mysql_error());
if (mysql_num_rows($result_mots) > 0) {
//récupére les resultats dans un tableau
$TabRes = array();
while ($row = mysql_fetch_assoc($result_mots)) {
$Tabres[] = $row["mots"];
}
}
//ajout des premiers caractéres entrés par l'utilisateur
array_unshift($TabRes,$selec);
//création de la liste pour l'autocomp.
foreach($TabRes AS &$res){
echo '<ul>
<li>'.strtolower($res).'</li>
</ul>';
}
?>
Faut vraiment que je prenne des vacances ...

Il y a effectivement un petit oubli de ma part au niveau des tableaux associatif , pour insérer les caractères entrés par l'utilisateur ..
j'ai simulé un résultat que tu dois obtenir à la suite de mysql_fetch_assoc()
et normalement , celà fonctionne :
[php]
<?php
//caractéres entrés par l'utilisateur
$car = "ad";
$Tabres[] = "mot1";
$Tabres[] = "mot2";
$Tabres[] = "mot3";
$Tabres[] = "mot4";
//insertion des premiers caractères
array_unshift($Tabres,$car);
echo '<ul>';
foreach($Tabres AS &$res){
echo '<li>'.$res.'</li>';
}
echo '</ul>';
?>
[/php]
Résultat :
* ad
* mot1
* mot2
* mot3
* mot4
Je viens de me rendre compte d'un énorme oubli , ( ce doit être l'effet "vendredi" ) , mysql_fetch_assoc() ne retourne qu'une ligne , et non tous les resultats :oops:
Il faut donc tous les récupérer ... ces resultats
ce qui donnerai plutot un truc du style
[php]
<?php
require("../config_inc.php");
$selec = $_POST["rechajax"];
$nb = strlen($selec);
if ($nb < 2) {
"";
}else {
$query_mots = "
SELECT
mots
FROM
aide_indexation
WHERE (
espaceid='xx'
OR
espaceid = 'yy'
)
AND
mots like '".mysql_real_escape_string($selec)."%'
ORDER BY
mots";
$result_mots = mysql_query($query_mots)or die(mysql_error());
if (mysql_num_rows($result_mots) > 0) {
//récupére les resultats dans un tableau
$TabRes = array();
while ($row = mysql_fetch_assoc($result_mots)) {
$Tabres[] = $row["mots"];
}
}
//ajout des premiers caractéres entrés par l'utilisateur
array_unshift($TabRes,$selec);
//création de la liste pour l'autocomp.
foreach($TabRes AS &$res){
echo '<ul>
<li>'.strtolower($res).'</li>
</ul>';
}
?>
[/php]
Faut vraiment que je prenne des vacances ... :wink: