Changer l'ordre d'affichage d'un contenu sql

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Farenheit, 4 Juin 2012.

  1. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    bonjour

    j ai une base de données sql qui affiche des liens contenu dans la base, par ordre d'enregistrement (id).
    Le numero 1 d'abord, pis le numero 2 etc...

    Or, j aurai plutot voulu faire afficher par le "count" qui compabilise les visites.
    C'est a dire du + grand vers le + petit (decroissant)

    dans le code de la page j ai cette ligne ou pourrait se situer l'ordre d'affichage :
    Code:
        <?php while($row = mysql_fetch_array($result, MYSQL_BOTH)){
    
    est-ce bien la ?
    si oui que dois je remplacer svp ?
    et si non que faire ?

    merci a vous

    ;-)
     
  2. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    Re: Changer l'odre d'affichage d'un contenu sql

    Cette ligne met le résultat de ta requête dans un tableau, ça ne trie pas.

    Tu dois ajouter "order by count desc" à la fin de ta requête SQL, cherche "mysql order by" sur google tu vas trouver en 2 secondes
     
  3. Koxin-L.fr
    Koxin-L.fr WRInaute passionné
    Inscrit:
    15 Janvier 2012
    Messages:
    1 879
    J'aime reçus:
    6
    Re: Changer l'odre d'affichage d'un contenu sql

    Bonjour,

    Non, ce n'est pas là.
    Ca, c'est l'exécution de la requête.

    Tu dois modifier la requête. Généralement du type "Select xxx From ..."
    Là, tu y ajoutes l’ordonnance par nb visites, genre "... Order by nb_visite Desc..."

    Rod
     
  4. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    Re: Changer l'odre d'affichage d'un contenu sql

    juste apres cette ligne (au dessus) j ai rajouté :
    Code:
    $SELECT * FROM * ORDER BY count desc;
    
    mais ca cree une erreur, donc ca ne doit pas etre ca :lol:
     
  5. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    Re: Changer l'odre d'affichage d'un contenu sql

    (messages croises)
    ah oui effectivement en haut du fichier j ai :

    Code:
    $result = mysql_query("select * from url", $link);
    $num = mysql_num_rows($result);
    
    c'est la dedans que ca se passe ?
     
  6. Koxin-L.fr
    Koxin-L.fr WRInaute passionné
    Inscrit:
    15 Janvier 2012
    Messages:
    1 879
    J'aime reçus:
    6
    Re: Changer l'odre d'affichage d'un contenu sql

    Non, ça, ça ne veut rien dire :)

    Met un peu plus de code.
    Essaye de trouver ta requête qui semble s'appeler $result = ... Select...
     
  7. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    Re: Changer l'odre d'affichage d'un contenu sql

    Remplace
    Code:
    $result = mysql_query("select * from url", $link);
    Par
    Code:
    $result = mysql_query("select * from url where 1 order by count desc", $link);
    En supposant que ton champ "count" existe bien dans ta table "url" et qu'il comptabilise tes visites
     
  8. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    Re: Changer l'odre d'affichage d'un contenu sql

    merci pour votre aide, mais le source semble un peu confus, genre on affiche tout "comme c'est "

    voila l extrait :

    Code:
    <?php
    include("config.php");
    $msg = "";
    if(isset($_POST['Submit']))
    {
    	$total = $_POST['total'];
    	$td = 0;
    	$i = 0;
    	
    	for($i = 1; $i <= $total; $i++)
    	{
    		if(isset($_POST["d$i"]))
    		{
    			mysql_query("DELETE FROM url WHERE id=".mysql_real_escape_string($_POST["d$i"]),$link);
    			$td++;
    		}
    	}
    
    	$msg = "$td url(s) deleted!";
    }
    
    $result = mysql_query("select * from url", $link);
    $num = mysql_num_rows($result);
    $n = 0;
    ?>
    
    
    <p><?php echo $msg?></p>
    <form name="form1" method="post" action="">
      <br /><br />
      <table  border="0" width="100%" cellpadding="0" cellspacing="2" bordercolor="#000000">
        <tr bgcolor="#dedede"> 
    <td>&nbsp; Url 1</td>
    <td>&nbsp; Url 2</td>
    <td>Count</td>
    </tr>
        <?php while($row = mysql_fetch_array($result, MYSQL_BOTH)){
    $n++;
    ?>
    
    <tr> 
    <td><li> <a href="http://www.xxx.xxx/<?php echo htmlspecialchars($row['id']);?>" target="_blank">http://www.xxx.xxx/<?php echo htmlspecialchars($row['id']);?></a></td></li>
    <td> <a href="<?php echo htmlspecialchars($row['url']);?>" target="_blank"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php echo htmlspecialchars($row['url']);?></font></a></td>
    <td><p align="right">&nbsp;<b><?php echo htmlspecialchars($row['count']); ?></b></p></td>
        </tr>
        <?php
    
     }?>
     
  9. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    Re: Changer l'odre d'affichage d'un contenu sql

    Ce que je t'ai dis au-dessus devrais fonctionner sans problèmes. As-tu au moins essayé ? Et as-tu regardé sur Google ? C'est du PHP/MySQL de base, y'a aucune raison que ça ne fonctionne pas.
     
  10. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    oui Lambi j ai copié et collé ton code
    mais ca ne change rien du tout a l'ordre d' affichage
     
  11. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    Peux-tu mettre la structure de ta table MysQL appellée "URL" ?

    Je vais jeter un coup d'oeil à ton code mais c'est bizarre, ça doit venir du "count"
     
  12. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    ma table est ainsi :

    1 id mediumint(20) auto_increment
    2 url text
    3 count varchar(255)

    je sais pas si ca peut apporter quelque chose
     
  13. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    Code:
    Structure de la table `url`
    --
    
    CREATE TABLE IF NOT EXISTS `url` (
      `id` mediumint(20) NOT NULL auto_increment,
      `ip` varchar(20) NOT NULL,
      `url` text NOT NULL,
      `count` varchar(255) NOT NULL,
      `tag` varchar(50) NOT NULL,
      KEY `id` (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=100001 ;
    
    --
    -- Contenu de la table `url`
    --
    
    INSERT INTO `url` (`id`, `ip`, `url`, `count`, `tag`) VALUES
    (1, '78.223.64.45', 'http://fr.news.yahoo.com/au-mont-saint-michel-fréquentation-baisse-depuis-nouveaux-074036776.html', '3', ''),
    (2, '78.223.64.45', 'http://fr.news.yahoo.com/au-mont-saint-michel-fréquentation-baisse-depuis-nouveaux-074036776.html', '21', ''),
    (5, '78.223.64.45', 'http://www.meteo10.com/les-sables-d-olonne.php', '11', 'sables');
     
  14. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    Ton champ count est un varchar (pour le texte) plutôt qu'un INT (integer pour nombres) ce qui pose problème

    Essaie directement dans ton espace d'admin de ta base (surement PhpMyAdmin)

    Code:
    select * from url where 1 order by (count * 1) desc
     
  15. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    Ca a l'air de fonctionner !!

    Merci beaucoup a vous tous

    ;-)
     
  16. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    De rien !

    Par contre tu devrais mettre ce champ en INT pour ne plus avoir ce problème (en sauvegardant ta BDD avant de modifier quoi que soit...)
     
  17. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    oui effectivement, je commence a comprendre.
    Ok je note pour le INT.

    Une derniere demande :
    est il possible de limiter le nombre d'affichage a 30 par exemple sur la page ?
     
  18. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    Oui bien sûr

    Rajoute "order by count desc limit 0, 30" à la fin de la requête
     
  19. Farenheit
    Farenheit WRInaute discret
    Inscrit:
    26 Janvier 2007
    Messages:
    187
    J'aime reçus:
    0
    Fanstastique !!

    Merci beaucoup pour ton aide précieuse

    ;-)
     
  20. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    surtout qu'un count en varchar 255, ça fait un nombre max vachement énooooorme : 255 chiffres !
     
  21. Koxin-L.fr
    Koxin-L.fr WRInaute passionné
    Inscrit:
    15 Janvier 2012
    Messages:
    1 879
    J'aime reçus:
    6
    C'est parcequ'il débute. Il est super optimiste. :)
     
  22. lambi521
    lambi521 WRInaute passionné
    Inscrit:
    15 Juin 2010
    Messages:
    1 463
    J'aime reçus:
    0
    C'est une erreur très courante de choisir le mauvais type de champ, surtout que je ne pense pas que c'est lui qui ait mis en place la BDD. Et vu la qualité des réponses que tu lui a fournies tu devrais t'abstenir de rire de lui...
     
Chargement...
Similar Threads - Changer ordre affichage Forum Date
Changer l'ordre des catégories sans affecter le SEO Crawl et indexation Google, sitemaps 31 Août 2010
Changer l'ordre d'apparition des div avec xslt? Développement d'un site Web ou d'une appli mobile 10 Août 2010
Changer l'ordre dans le titre d'un forum phpbb Référencement Google 24 Août 2006
WordPress Changer l'emplacement par défaut des médias dans WordPress Développement d'un site Web ou d'une appli mobile 14 Juillet 2022
Quel est l'impact SEO de changer le titre des pages et la balise H1 chaque mois? Débuter en référencement 11 Avril 2022
Quantcast - Comment changer le titre "Le respect de votre vie privée est notre priorité" Développement d'un site Web ou d'une appli mobile 19 Octobre 2021
Changer la couleur du background d'un <tr> Développement d'un site Web ou d'une appli mobile 11 Février 2020
Changer le mdp sans connaitre l'ancien chez Digital Ocean Administration d'un site Web 6 Janvier 2020
Le monde vient de changer (Bert inside) Référencement Google 10 Décembre 2019
Article fixe avec bannière changer souvent Crawl et indexation Google, sitemaps 9 Octobre 2019
Changer de mot clé ? Référencement Google 5 Août 2019
Changer la police de la SERP Référencement Google 16 Juillet 2019
Changer mon url canonique oui / non ? Débuter en référencement 26 Mai 2019
changer les meta title trop souvent est il négatif? Débuter en référencement 29 Décembre 2018
Changer de nom de domaine Noms de domaine et référencement 28 Novembre 2018
changer nom de domaine/ theme Noms de domaine et référencement 21 Octobre 2018
Faut-il changer la date à chaque mise à jour ? Débuter en référencement 19 Juin 2018
Process pour échanger une liste d'emails entre client et prestataire Droit du web (juridique, fiscalité...) 2 Janvier 2018
Changer design du site et nom de domaine en même temps Demandes d'avis et de conseils sur vos sites 19 Décembre 2017
Changer l'indexation de https à http Débuter en référencement 8 Décembre 2017