Aide requete SQL
Résolu
antic80
Messages postés
4877
Statut
Contributeur
-
sofsharon -
sofsharon -
bonjour
Voila j'aimerai afficher les 10 derniers noms entrés dans une table
j'ai ecris ca mais ca ne me retourne qu'un nom
j'ai du oublié quelque chose
Voila j'aimerai afficher les 10 derniers noms entrés dans une table
j'ai ecris ca mais ca ne me retourne qu'un nom
<?
include("connexion.php");
$sql10="SELECT * FROM phpbb_users ORDER BY 'user_id' desc limit 10 ";
$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
$row = mysql_fetch_array($req10);
while($row = mysql_fetch_array($req10))
{
$user=$row['username'];
}
?>
j'ai du oublié quelque chose
A voir également:
- Aide requete SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
16 réponses
La requête paraît bonne, c'est plutôt du côté de la boucle que ça coince:
A chaque passage dans cette boucle, $user prendra la dernière valeur récupérée. Donc, en sortant la boucle, $user aura la dernière valeur récupérée et c'est tout.
Stocke tes valeurs dans un tableau:
Ensuite tu parcoures ton tableau pour faire ce que tu veux avec chaque valeur:
while($row = mysql_fetch_array($req10))
{
$user=$row['username'];
}
A chaque passage dans cette boucle, $user prendra la dernière valeur récupérée. Donc, en sortant la boucle, $user aura la dernière valeur récupérée et c'est tout.
Stocke tes valeurs dans un tableau:
while($row = mysql_fetch_array($req10))
{
$users[]=$row['username'];
}
Ensuite tu parcoures ton tableau pour faire ce que tu veux avec chaque valeur:
foreach ($users as $user)
{
/* A cache occurence dans cette boucle, $user sera la variable
qui représente une des cases du tableau $users */
}
bon j'ai modifié et ca donne ca donc
ds ma base j'ai ca
champs id et username
-1 anonymous
2 admin
mais ca ne me renvoie que anonymous
<?
include("connexion.php");
$sql10="SELECT * FROM phpbb_users ORDER BY 'user_id' desc limit 10 ";
$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
$row = mysql_fetch_array($req10);
while($row = mysql_fetch_array($req10))
{
$users[]=$row['username'];
}
foreach ($users as $user)
{
echo $user;
}
?>
ds ma base j'ai ca
champs id et username
-1 anonymous
2 admin
mais ca ne me renvoie que anonymous
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
En s'inspirant de :
https://www.php.net/mysql_query
Cela donnerait ça :
Mais c'est à tester
En s'inspirant de :
https://www.php.net/mysql_query
Cela donnerait ça :
<?
include("connexion.php");
$sql10="SELECT * FROM phpbb_users ORDER BY 'user_id' desc limit 10 ";
$req10 = mysql_query($sql10) or die('Erreur SQL !<br>'.$sql10.'<br>'.mysql_error());
$i =0;
while($row =mysql_fetch_assoc($req10))
{
$users[$i]=$row['username'];
$i++;
}
foreach ($users as $user)
{
echo $user;
}
?>
Mais c'est à tester
Chais pas... Le code de ceddec me parait parfait.
Tu es certain que ta table possède deux lignes (anonymous et admin?)
Tu es certain que ta table possède deux lignes (anonymous et admin?)
Bonjour,
Non ce n'est pas à cause de l'identifiant puiqu'il ne sert pas. J'ai testé le code que j'ai mis et il fonctionne. Je me suis fait une base de donnée avec les même champs et il n'y a aucun problème.
Une remarque, lorsque tu affiches il faut ajouter un retour à la ligne sinon tous les noms se mettront à la suite. le foreach devient :
Non ce n'est pas à cause de l'identifiant puiqu'il ne sert pas. J'ai testé le code que j'ai mis et il fonctionne. Je me suis fait une base de donnée avec les même champs et il n'y a aucun problème.
Une remarque, lorsque tu affiches il faut ajouter un retour à la ligne sinon tous les noms se mettront à la suite. le foreach devient :
foreach ($users as $user)
{
echo $user."<br>";
}
Essaie d'afficher tout ce que contient le résultat.
C'est à dire au moment où tu remplis $users, tu affiches en même temps :
Si il n'y a pas deux éléments c'est que le problème vient d'ailleurs mais la je n'ai aucune idée
C'est à dire au moment où tu remplis $users, tu affiches en même temps :
while($row =mysql_fetch_assoc($req10))
{
$users[$i]=$row['username'];
echo $row['username']."<br>";
$i++;
}
Si il n'y a pas deux éléments c'est que le problème vient d'ailleurs mais la je n'ai aucune idée
La seule explication est donc que c'est dans la base de donnée. Il ne doit y avoir que anonymous.
Essaies d'executer la requete directement sur la base de donnée (avec phpMyAdmin par exemple si tu l'utilise) pour voir le résultat. Si le résultat est anonymous c'est que tu n'as pas insérer admin
Essaies d'executer la requete directement sur la base de donnée (avec phpMyAdmin par exemple si tu l'utilise) pour voir le résultat. Si le résultat est anonymous c'est que tu n'as pas insérer admin
Bonjour,
Je voudrais concatener un champ numerique fixe, un N°depart, un dernierN° et une date;
Est-ce possible
Merci
Je voudrais concatener un champ numerique fixe, un N°depart, un dernierN° et une date;
Est-ce possible
Merci