IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

order by ? ou pas order by ?


Sujet :

Langage PHP

  1. #21
    Invité
    Invité(e)
    Par défaut
    Erreur de copier-coller !
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     	HAVING nbmaq ORDER BY nbmaq DESC> 0"; //liste des inscrits sur le site
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     	HAVING nbmaq > 0
     	ORDER BY nbmaq DESC;"; //liste des inscrits sur le site
    nb : ce ; (ici : DESC;) marque la fin de la requete SQL (pas obligatoire mais mieux)

    Evite les notations [0], [1] ... (pour peu que tu changes l'ordre ou ajoutes des champs dans la requete, ca ne marche plus) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    				$art=$lignelogin[2];  // definition de la variable 
    				$login=$lignelogin[1];
    Met plutot les noms des champs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    				$art=$lignelogin['numredacteur'];  // definition de la variable 
    				$login=$lignelogin['login'];
    Quoi que ....
    Les "Undefined index: ..." sont étranges ...
    Peux-tu remplacer TOUT mon code par : (qu'on voit le résultat de la requete)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?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)) {
    echo '<pre>';
    print_r($login_row);
    echo '</pre>';
    	} // fin while
    ?>
    Dernière modification par Invité ; 14/08/2011 à 09h17.

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    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
    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
     
    <?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 > 0
     	ORDER BY nbmaq DESC;"; //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)) {
    echo '<pre>';
    print_r($login_row);
    echo '</pre>';
    	} // fin while
    ?> 
    </td>
      </tr>
      <br>
    </table>
    la modif du having à résolu le probleme, j'ai mis ton test en ligne aussi

  3. #23
    Invité
    Invité(e)
    Par défaut
    Ce qui est étrange, c'est que tu ne puisses pas récupérer tes champs comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$art = $login_row['numredacteur'];
    		$login = $login_row['login'];
    C'est pourtant la méthode "classique".

    Tu es obligé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$art = $login_row[1];
    		$login = $login_row[0];
    Bizarre, bizarre ...

  4. #24
    Invité
    Invité(e)
    Par défaut
    Peux-tu faire une page phpinfo.php, avec dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>
    Chez toi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    echo '<pre>';
    print_r($login_row);
    echo '</pre>';
    ?>
    donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Array
    (
        [0] => spokito
        [1] => 1
    )
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Array
    (
        [0] => spokito
        [login] => spokito
        [1] => 1
        [numredacteur] => 1
    )
    Ce qui explique pourquoi on a des "...Undefined Index ..." avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$art = $login_row['numredacteur'];
    		$login = $login_row['login'];

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    oui si je remplace les numero par les noms ça ne marche plus

  6. #26
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    c'est en ligne mais c'est un peu du chinois pour moi....voire même du martien

  7. #27
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    php 4.4.9 et non 5.2.5 ??? il m'aurait menti.....

    pour info /doc version php 4 du serveur:
    http://www.ophos.com/hebergement/faq.../phpinfo4.html

  8. #28
    Invité
    Invité(e)
    Par défaut
    J'ai trouvé !!
    tu utilises mysql_fetch_row() !! -> retourne un tableau indexé numériquement

    Remplace par mysql_fetch_array() -> retourne un tableau qui contient la ligne demandée dans le résultat
    Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.
    et ca marchera !

  9. #29
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    je remplace tout les fetch_row par fetch_array dans ton code ?
    et je remplace les numeros par les noms en meme temps ?

  10. #30
    Invité
    Invité(e)
    Par défaut
    Avec mysql_fetch_array (), tu pourras afficher tes données par leur nom de champ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$art = $login_row['numredacteur'];
    		$login = $login_row['login'];
    Pour voir ta version de php, tu affiches une page phpinfo.php (par exemple), avec dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    ah ok, je comprends !
    bon je crois que lucas à gagné...t'en pense quoi ?

  12. #32
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par spokito Voir le message
    bon je crois que lucas à gagné...t'en pense quoi ?
    Exact !
    Son code est bien meilleur ! 100% efficace et élégant.

    Le mien était une "usine à gaz" ... (pourtant, ca aurait dû afficher le nombre correct d'articles ... )

    Au moins, on aura appris quelque chose.
    Je ne savais pas si on pouvait faire ce genre de requête. Maintenant, oui.

  13. #33
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    en tout cas un grand merci à tout les 2

  14. #34
    Invité
    Invité(e)
    Par défaut
    Bon dimanche ...

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bon dimanche ...
    également

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [MySQL] ORDER BY fonctionne pas
    Par dominos dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 12/11/2013, 08h54
  2. order by field pas effectif
    Par socaw dans le forum SGBD
    Réponses: 1
    Dernier message: 07/10/2010, 15h27
  3. [ORDER BY] faire un order by pour 2 tables en relation
    Par Sayrus dans le forum Langage SQL
    Réponses: 8
    Dernier message: 15/06/2007, 15h52
  4. [ORDER BY] Passage du order by en paramètre du PS
    Par wperezrobles dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/06/2006, 12h18
  5. Z-Order (existe, existe pas) ?!?!
    Par Franck.H dans le forum SDL
    Réponses: 7
    Dernier message: 08/06/2006, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo