Affichage avec la boucle while

gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015 - Modifié par NHenry le 14/12/2015 à 18:41
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 15 déc. 2015 à 13:06
Bonjour,
j'essai d'afficher plusieurs éléments avec la boucle while mais c'est le premier élément seul qui s'affiche voila ma requête sql:
$res=db_query("select firstname, lastname from cashr_users where username=sponsor");
      while ($row = db_fetch_array($res)) {
      
      echo'<p> '.$row["firstname"].'  '.$row["lastname"].'</p>';


le code de la table
CREATE TABLE IF NOT EXISTS `cashr_users` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL DEFAULT '',
`password` varchar(15) NOT NULL DEFAULT '',
`firstname` varchar(30) NOT NULL DEFAULT '',
`lastname` varchar(30) NOT NULL DEFAULT '',
`email` varchar(60) NOT NULL DEFAULT '',
`sponsor` varchar(15) NOT NULL DEFAULT 'admin',
`egopay` varchar(255) NOT NULL,
`okpay` varchar(255) NOT NULL,
`paypal` varchar(60) NOT NULL DEFAULT 'none',
`payza` varchar(100) NOT NULL DEFAULT 'none',
`egold` varchar(50) NOT NULL DEFAULT 'none',
`solidtrustpay` varchar(75) NOT NULL DEFAULT 'none',
`perfectmoney` varchar(100) NOT NULL DEFAULT 'none',
`pmaccname` varchar(100) NOT NULL,
`skrill` varchar(100) NOT NULL DEFAULT 'none',
`weight` int(6) NOT NULL DEFAULT '1',
`lastlogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`joindate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`last_ip` varchar(15) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='This table contains the users' AUTO_INCREMENT=38 ;

7 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
14 déc. 2015 à 18:33
Bonjour,


mais c'est le premier élément seul qui s'affiche

Tu veux dire... une seule ligne issue de ta BDD ??

En même temps... lorsque tu testes ta requête directement dans ta BDD ... seul une seule ligne n'en sort...!!!!!


0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
Modifié par NHenry le 14/12/2015 à 18:43
Bonsoir,

Je dirais en complément 2 chises sur ton dump de ta table (que j'ai supprimé) :
- Tu as les mdp en clair !!!! Utilise MD5, SHA, la fonction PASSWORD ou un truc du genre pour masquer le mdp en lui même.
- Poster en clair sur un forum publique les pseudo, mdp et adresses mails d'utilisateurs est simplement inconscient.

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
14 déc. 2015 à 18:50
moi je faire afficher plusieurs ligne avec ma requête, il y a une correction à faire a ce niveau sur ma requete
$res=db_query("select firstname, lastname from cashr_users where username=sponsor order by sponsor");
						while ($row = db_fetch_array($res)) {
						
						echo'<p> '.$row["firstname"].'  '.$row["lastname"].'</p>';  
0
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
14 déc. 2015 à 18:52
merci henry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
Modifié par jordane45 le 14/12/2015 à 19:39

moi je faire afficher plusieurs ligne avec ma requête


Plusieurs lignes de QUOI ?????
Ta requête actuelle
select firstname, lastname from cashr_users where username=sponsor order by sponsor

vu les données qui sont présentes dans ta table
ne retourne qu' UN SEUL RESULTAT !
car, dans ta table actuelle, seul Abel Fabrice a son USERNAME = SPONSOR



Si tu n'es pas plus précis dans ta question ....

IMPOSSIBLE DE TE REPONDRE

--
Cordialement, 
Jordane                                                                 
0
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
14 déc. 2015 à 19:56
je veux faire afficher le nom et les prénoms dont username est dans la colonne sponsor et dans la colonne username de la table puis je avoir la requête sql SVP
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
14 déc. 2015 à 20:06
Avec une sous requête c'est possible, je pense :
SELECT ... FROM table WHERE sponsor IN (SELECT username FROM table)
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
14 déc. 2015 à 20:58

je veux faire afficher le nom et les prénoms dont username est dans la colonne sponsor et dans la colonne username

Donc...;

Soit... ta phrase précédente signifie :
=> Avoir les personnes qui ont leur pseudo IDENTIQUE au sponsor.
Et dans ce cas.. ta première requête est bonne.

soit Nheny est tombé juste et donc la requête qu'il te donne, affiche Tous les noms dont la colonne SPONSOR contient UN DES username présent dans ta table

SELECT U.lastname
         ,U.firstname
FROM cashr_users U
WHERE sponsor  IN(
     SELECT U2.username
     FROM cashr_users U2
    ) 
ORDER BY U.sponsor



Quoi qu'il en soit... tu aurais correctement expliqué dès le début tes besoins .... la première réponse aurait pu être la bonne directement !
Merci, à l'avenir de CORRECTEMENT expliquer tes besoins.....
0
gbammelet Messages postés 45 Date d'inscription mardi 28 janvier 2014 Statut Membre Dernière intervention 15 décembre 2015
15 déc. 2015 à 10:57
merci pour cette requête

$res=db_query("select firstname, lastname from cashr_users where sponsor IN(select username from cashr_users)");


Actuellement, je veux sélectionner le nom et le prénom des username qui sont sponsor de d'autre username de la table cashr_users
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
15 déc. 2015 à 13:06
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
Rejoignez-nous