Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2011, 17h02   #1
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
Par défaut order by ? ou pas order by ?

bonjour à tous,
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
    <?
	$sqllogin="SELECT login, numredacteur FROM redacteur WHERE 1";
	$resultatlogin=mysql_query($sqllogin);
 
		while($lignelogin=mysql_fetch_row($resultatlogin)) {
				$art=$lignelogin[1]; 
				$login=$lignelogin[0]; 
 
	$sql="SELECT  count(numarticle) FROM article WHERE numredacteur='$art'";
	$resultat=mysql_query($sql);
	while($ligne=mysql_fetch_row($resultat)) 
	{
	$nbmaq=$ligne[0]; 
	if ($nbmaq>0) echo "<a href=\"./index.php?page=pagearticle&nmembre=$login\">$login</a>&nbsp;".$nbmaq."<br>";
	}
	}
	?>
comment puis-je afficher les résultats en fonction de la variable $nbmaq ? l'ORDER BY prend en compte seulement les champs du SELECT ?

merci pour votre réponse
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h19   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
un code sans commentaires, une question sans queue ni tête ...
Difficile de répondre ...

-> La clause ORDER BY
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h26   #3
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
un code sans commentaires, une question sans queue ni tête ...
Difficile de répondre ...

-> La clause ORDER BY
effectivement, j'aurais pu être plus précis ! le but est d'afficher les "top-posteurs" . j'ai rajouté des commentaires sur le code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        <?
	$sqllogin="SELECT login, numredacteur FROM redacteur WHERE 1"; // selection du membre
	$resultatlogin=mysql_query($sqllogin);
 
		while($lignelogin=mysql_fetch_row($resultatlogin)) {
				$art=$lignelogin[1]; 
				$login=$lignelogin[0]; 
 
	$sql="SELECT  count(numarticle) FROM article WHERE numredacteur='$art'"; // comptage des article du membre
	$resultat=mysql_query($sql);
	while($ligne=mysql_fetch_row($resultat)) 
	{
	$nbmaq=$ligne[0]; 
	if ($nbmaq>0)  // filtrage des membre sans articles
	echo "<a href=\"./index.php?page=pagearticle&nmembre=$login\">$login</a>&nbsp;".$nbmaq."<br>"; // affichage de la liste des membres et de leur articles respectifs
	}
	}
	?>
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h28   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
1/ remplace <? par <?php

2/ c'est quoi la question ? que veux-tu faire ?

3/ "... WHERE 1"; // selection du membre" ??? c'est quoi, ca ???

4/ les commentaires ne correspondent pas au code ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h32   #5
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
1/ merci

2/ je souhaite afficher une liste en commençant par le nbmaq le plus grand mais nbmaq n'est pas un champ du select mais une variable

3/ je m'exprime mal....c'est la liste des inscrits sur le site
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h36   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Comme je suis brave, je vais te ré-écrire le code au "propre" ...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
	// requete : tous les redacteurs
	$login_sql = "SELECT login, numredacteur FROM redacteur;";
	$login_resu = mysql_query($login_sql);
	// pour chaque redacteur
	while($login_row = mysql_fetch_row($login_resu)) {
		$art = $login_row['numredacteur']; 
		$login = $login_row['login']; 
		// nombre d'articles de ce membre
		$nbrart_sql = "SELECT count(numarticle) AS nbmaq FROM article WHERE numredacteur = '".$art."';"; 
		$nbrart_resu = mysql_query($nbrart_sql);
		$nbrart_row = mysql_fetch_row($nbrart_resu); 
		$nbmaq = $nbrart_row['nbmaq'];
		// afichage du lien si le redacteur a des articles
		if ($nbmaq>0) {
?>		<a href="./index.php?page=pagearticle&nmembre=<?php echo $login; ?>"><?php echo $login; ?></a>
		&nbsp;<?php echo $nbmaq; ?> article<?php echo ($nbmaq>1)? 's':''; ?><br />
<?php
		} // fin if
	} // fin while
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h39   #7
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
tu est plus que brave là...
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 17h55   #8
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Le code est plus "propre", mais ne répond pas à la question
Citation:
Envoyé par spokito Voir le message
afficher une liste en commençant par le nbmaq le plus grand
Ce n'est pas si simple ! ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 18h12   #9
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
Citation:
Envoyé par jreaux62 Voir le message
Le code est plus "propre", mais ne répond pas à la question

Ce n'est pas si simple ! ...
ben moi je tellement nul que je croyais que c'était super facile
ton code n'affiche aucun resultat, doit y avoir un bug mais je vais rectifier, je comprends comment il faut que je l'organise
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 18h29   #10
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
A tester ...
- pour pouvoir afficher par ordre croissant des nbmaq :
- on crée un array $array_classt, qu'on ré-organisera ensuite.
- element de l'array : login => nbmaq (login doit etre UNIQUE pour chaque membre)
- on réoganise par ordre DEcroissant avec arsort()
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
	// requete : tous les redacteurs
	$login_sql = "SELECT login, numredacteur FROM redacteur;";
	$login_resu = mysql_query($login_sql);
	// pour chaque redacteur
	while($login_row = mysql_fetch_row($login_resu)) {
		$art = $login_row['numredacteur']; 
		$login = $login_row['login']; 
		// nombre d'articles de ce membre
		$nbrart_sql = "SELECT count(numarticle) AS nbmaq FROM article WHERE numredacteur = '".$art."';"; 
		$nbrart_resu = mysql_query($nbrart_sql);
		$nbrart_row = mysql_fetch_row($nbrart_resu); 
		$nbmaq = $nbrart_row['nbmaq'];
		// ------------------------
		// pour pouvoir afficher par ordre croissant des nbmaq :
		// on crée un array, qu'on ré-organisera ensuite.
		// element de l'array : login => nbmaq (login doit etre UNIQUE pour chaque membre)
		if ($nbmaq>0) {
			$array_classt[$login] = $nbmaq;
		} // fin if
	} // fin while
	// ------------------------
	if($array_classt) { // si l'array existe (on a des resultats)
		// ré-organisation de l'array en fonction du nbmaq DEcroissant :
		arsort($array_classt);
		// affichage par ordre DEcroissant du nombre d'articles
		foreach($array_classt as $key => $val) {
?>
		<span style="float:left; width:100px;">(<?php echo $val; ?> article<?php echo ($val>1)? 's':''; ?>)&nbsp;</span>
		<a href="./index.php?page=pagearticle&nmembre=<?php echo $key; ?>"><?php echo $key; ?></a>
		<br />
<?php
		} // fin foreach
	} // fin if
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 18h36   #11
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
merci, c'est super sympa .
je te met le code d'erreur mais ne te sent pas obligé car ça m'a l'air un peu "prise de tete" ce truc là. je vais couper pour ce soir. je te souhaite une excellente soirée et te remercie beaucoup pour le temps passé

Warning: arsort() expects parameter 1 to be array, null given in C:\xampplite\htdocs\test\posteurs.php on line 46

Warning: Invalid argument supplied for foreach() in C:\xampplite\htdocs\test\posteurs.php on line 48
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 19h14   #12
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
L'erreur survient si l'array n'existe pas.

ps : J'ai corrigé mon code ci-dessus.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 21h39   #13
Membre habitué
 
Homme Lucas GAUTHERON
Lycéen
Inscription : décembre 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Lucas GAUTHERON

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : décembre 2008
Messages : 106
Points : 145
Points : 145
C'est surement possible de faire ça en une seule requête :

Code :
1
2
3
4
5
6
SELECT redacteur.numredacteur, COUNT(numarticle) nbmaq
 FROM redacteur
 INNER JOIN article
    ON article.numredacteur = redacteur.numredacteur
 GROUP BY redacteur.numredacteur
 HAVING nbmaq > 0
A corriger / adapter évidemment.
lucas74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h01   #14
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
bonjour à tous,
je vous avoue que je ne m'attendais pas quelque chose de si pointu mais dans le but de faire avancer la science on va essayer de trouver la solution. ça pourra servir à d'autres.

Citation:
Envoyé par lucas74 Voir le message
C'est surement possible de faire ça en une seule requête :

Code :
1
2
3
4
5
6
SELECT redacteur.numredacteur, COUNT(numarticle) nbmaq
 FROM redacteur
 INNER JOIN article
    ON article.numredacteur = redacteur.numredacteur
 GROUP BY redacteur.numredacteur
 HAVING nbmaq > 0
A corriger / adapter évidemment.
merci lucas,
ton code est bien plus simple que le mien et arrive au même résultat mais il ne classe pas les resultats pas nbmaq.

j' ai fait une page avec les 3 codes en ligne. celui de jreaux62 est surement la voix à suivre mais pour l'instant il coince. je précise que l'hebergeur tourne avec php 5 . 2 . 5
http://www.desavionsetdesmaquettes.c...?page=posteurs
j'ai mis error_reporting(E_ALL); pour visualiser les bugs
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h20   #15
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour, le "travailleur du dimanche" !

As-tu testé ma solution ? (j'ai modifié le code ! voir ci-dessus)
Vérifie que la 1ere requete renvoie bien des résultats

Pour la requete de lucas74, essaye :
Code :
1
2
3
4
5
6
7
SELECT redacteur.numredacteur, COUNT(numarticle) nbmaq
 FROM redacteur
 INNER JOIN article
    ON article.numredacteur = redacteur.numredacteur
 GROUP BY redacteur.numredacteur
 HAVING nbmaq > 0
ORDER BY nbmaq DESC
Même si ma solution fonctionne, la sienne est plus "propre" et directe.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h31   #16
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
salut ben alors ...on va pas à la pêche le dimanche ?

je en train de faire quelques essais mais avec ton code il n'affiche même pas les variable quand je lui demande. je suis en train de faire des tests.
je te racaonte + tard
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h33   #17
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
tiens c'est en ligne avec le order by dans le code de lucas...je vais me faire café ++
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h40   #18
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
dans ton code, les variables $art et $login sont vides. j'ai mis un "echo" pour les tester dès leur génération et y'a rien dedans
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h51   #19
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Peux-tu montrer TES codes ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 08h58   #20
Membre à l'essai
 
Homme francis la grassa
Webmaster
Inscription : avril 2007
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme francis la grassa
Âge : 49
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : avril 2007
Messages : 56
Points : 20
Points : 20
avec grand plaisir, c'est la page en ligne
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
<?php
var_dump($_FILES);
var_dump($_POST);
error_reporting(E_ALL);
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td valign="top" class="style3b">mon code<br /><br />
    <?php
	$sqllogin="SELECT login, numredacteur FROM redacteur"; //liste des inscrits sur le site
	$resultatlogin=mysql_query($sqllogin);
 
		while($lignelogin=mysql_fetch_row($resultatlogin)) {
				$art=$lignelogin[1];  // definition de la variable 
				$login=$lignelogin[0]; 
 
	$sql="SELECT  count(numarticle) FROM article WHERE numredacteur='$art'"; // comptage des article du membre
	$resultat=mysql_query($sql);
	while($ligne=mysql_fetch_row($resultat)) 
	{
	$nbmaq=$ligne[0]; 
	if ($nbmaq>0)  // filtrage des membre sans articles
	echo "<a href=\"./index.php?page=pagearticle&nmembre=$login\">$login</a>&nbsp;".$nbmaq."<br>"; // affichage de la liste des membres et de leur articles respectifs
	}
	}
	?>
 
   </td>
    <td valign="top" class="style3b">code lucas74<br /><br />
 
     <?php
	$sqllogin=" SELECT redacteur.numredacteur, login, COUNT(numarticle) nbmaq
 	FROM redacteur
 	INNER JOIN article
    ON article.numredacteur = redacteur.numredacteur
 	GROUP BY redacteur.numredacteur
 	HAVING nbmaq ORDER BY nbmaq DESC> 0"; //liste des inscrits sur le site
	$resultatlogin=mysql_query($sqllogin);
 
		while($lignelogin=mysql_fetch_row($resultatlogin)) {
				$art=$lignelogin[2];  // definition de la variable 
				$login=$lignelogin[1]; 
 
 
	echo "<a href=\"./index.php?page=pagearticle&nmembre=$login\">$login</a>&nbsp;".$art."<br>"; // affichage de la liste des membres et de leur articles respectifs
	}
 
	?>
    </td>
    <td valign="top" class="style3b">code jreaux62<br /><br /><?php
	// requete : tous les redacteurs
	$login_sql = "SELECT login, numredacteur FROM redacteur;";
	$login_resu = mysql_query($login_sql);
	// pour chaque redacteur
	while($login_row = mysql_fetch_row($login_resu)) {
		$art = $login_row['numredacteur'];
		$login = $login_row['login']; 
		// nombre d'articles de ce membre
		$nbrart_sql = "SELECT count(numarticle) AS nbmaq FROM article WHERE numredacteur = '".$art."';"; 
		$nbrart_resu = mysql_query($nbrart_sql);
		$nbrart_row = mysql_fetch_row($nbrart_resu); 
		$nbmaq = $nbrart_row['nbmaq'];
		// ------------------------
		// pour pouvoir afficher par ordre croissant des nbmaq :
		// on crée un array, qu'on ré-organisera ensuite.
		// element de l'array : login => nbmaq (login doit etre UNIQUE pour chaque membre)
		if ($nbmaq>0) {
			$array_classt[$login] = $nbmaq; 
		} // fin if
	} // fin while
	// ------------------------
	if($array_classt) { // si l'array existe (on a des resultats)
		// ré-organisation de l'array en fonction du nbmaq DEcroissant :
		arsort($array_classt);
		// affichage par ordre DEcroissant du nombre d'articles
		foreach($array_classt as $key => $val) {
?>
		<a href="./index.php?page=pagearticle&nmembre=<?php echo $key; ?>"><?php echo $key; ?></a>
		&nbsp;(<?php echo $art; ?> article<?php echo ($art>1)? 's':''; ?>)<br />
<?php
		} // fin foreach 
	} // fin if
?> </td>
  </tr>
  <br>
</table>
je dois m'absenter une petite demi-heure
++
spokito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h48.


 
 
 
 
Partenaires

Hébergement Web