Bonjour,

Je suis en train de faire des statistiques sur l'exploitation d'un portail captif et je me sers de requêtes SQL pour y parvenir. J'affiche tout ces résultats dans une page Web et je me sers occasionnellement d'AJAX pour l'affichage. C'est le cas juste ici :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include "connexion2.php";
 
$sql = "SELECT DISTINCT username FROM radacct";
$req = mysqli_query($connect, $sql) or die('Erreur SQL : '.mysql_error());
 
echo '<form name="choix"><select name="utilisateurs" onchange="infos()">';
echo '<option value="">Sélectionner un nom</option>';
while ($row = mysqli_fetch_row($req))
{
echo "<option value='".$row[0]."'>".$row[0]."</option>";
}
echo '</select></form><br />';
echo '<div id="infos"></div><br />';
?>

Jusqu'ici, ça fonctionne, j'ai bel et bien mes utilisateurs dans ma liste déroulante. Je veux lors de la sélection d'un utilisateur, afficher le nombre de connexions de celui-ci.

Fonction JS :

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
function infos()
{
i = document.choix.utilisateur.selectedIndex;
if (i == 0)
{
return;
}
utilisateur = document.choix.utilisateurs.options[i].value;
xmlhttp = new XMLHTTPRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("infos").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","test.php?username="+utilisateur,true);
xmlhttp.send();
}
test.php :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
include "connexion2.php";
$nomUtilisateur = $_GET['username'];
$sql = "SELECT COUNT(*) FROM radacct WHERE username = " + $nomUtilisateur + ";";
$req = mysqli_query($connect, $sql) or die('Erreur SQL : '.mysql_error());
$rows = mysql_fetch_array($req);
return $rows[0];
?>

Le problème est le suivant : je n'ai aucun affichage de résultat quel que soit l'utilisateur sélectionné. Merci de m'aider à la résolution de ce petit problème.