Bonjour,
J'ai besoin d'une piste pour réussir à faire fonctionner une fonction "d'autocompletion"!
Une recherche "simple" (texte d'un input) fonctionne mais je souhaite la complémenter par une vérification (une simple variable php) et là... bah me voilà !
En simplifiant la page d'appel à son strict minimum on obtiendrait quelque chose du genre :
le fichier autocomplete :
L'objectif étant de vérifier les droits de l'utilisateur (la variable php "$lvl=4" correspond en temps normal à une variable de session), savoir si il peut visualiser le nom et le prénom des résultats trouvés par l'autocomplete ou simplement le pseudo !
Pour l'instant je n'arrive pas à transférer/intégrer la variable $lvl dans autocomplete.php
Je continue de chercher mais si un expert javascript/jquery venait à passer par là il me ferait, je pense, gagner beaucoup de temps!
Merci d'avance !
Modifié par Elkcloner (22 Nov 2016 - 16:40)
J'ai besoin d'une piste pour réussir à faire fonctionner une fonction "d'autocompletion"!
Une recherche "simple" (texte d'un input) fonctionne mais je souhaite la complémenter par une vérification (une simple variable php) et là... bah me voilà !
En simplifiant la page d'appel à son strict minimum on obtiendrait quelque chose du genre :
<html>
<body>
<?php $lvl=4; ?>
<form method="post" action="page.php" name="formulaire">
<label for="destinataire">Destinataire : </label>
<input type="text" id="destinataire" name="destinataire" />
</form>
</body>
<script>
//Autocomplete
$(function() {
$( "#destinataire" ).autocomplete({
source: 'autocomplete.php'
});
});
</script>
</html>
le fichier autocomplete :
<?php
//Configuration basse de données
$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = 'pwd';
$dbName = 'dbname';
//Connexion à la base de données
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
//Récupération de la saisie
$searchTerm = utf8_decode($_GET['term']);
//Recherche de la saisie dans la bdd
$query = $db->query("SELECT id, prenom, nom, pseudo, confidentialite.lvlnom
FROM membres
LEFT JOIN confidentialite ON membres.id = confidentialite.usr
WHERE pseudo LIKE '%".$searchTerm."%' OR nom LIKE '%".$searchTerm."%' OR prenom LIKE '%".$searchTerm."%'
ORDER BY pseudo ASC LIMIT 0, 5");
while ($row = $query->fetch_assoc())
{
$lvlnom=isset($row['lvlnom'])?(int) stripslashes(htmlspecialchars($row['lvlnom'])):5;
//C'est pour le test ci-dessous que je souhaite récupérer la variable $lvl
if ($lvlnom <= $lvl)
{
$data[] = utf8_encode($row['prenom'])." ".utf8_encode($row['nom'])." (".utf8_encode($row['pseudo']).")";
}
else
{
$data[] = utf8_encode($row['pseudo']);
}
}
//Encodage en JSON et affichage
echo json_encode($data);
?>
L'objectif étant de vérifier les droits de l'utilisateur (la variable php "$lvl=4" correspond en temps normal à une variable de session), savoir si il peut visualiser le nom et le prénom des résultats trouvés par l'autocomplete ou simplement le pseudo !
Pour l'instant je n'arrive pas à transférer/intégrer la variable $lvl dans autocomplete.php
Je continue de chercher mais si un expert javascript/jquery venait à passer par là il me ferait, je pense, gagner beaucoup de temps!
Merci d'avance !
Modifié par Elkcloner (22 Nov 2016 - 16:40)