Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    selezionare campo con valore uguale in ordine di quantità

    Ciao
    In oggetto ho forse espresso male.
    Allora, io avrei bisogno di prelevarmi da una tabella composta da 4 campi ( id, subject, titletext, maintext) tutti le voci univoche della tabella maintext ed ordinarle per quantità.
    Mi spiego , se "pincopallino" è inserito 15 volte, "tizio" è insertio 12 volte, prima
    deve essere stampato il record di pincopallino, poi quello di Tizio e così via.
    Ne ho bisogno in un giornale on line artigianale per visualizzare le news + commentante.
    Maintext è una stringa testo..perchè in altre situazioni mi serve così.
    In maintext si inserisce un numero per evidenziare la notizia.

    Questa è lo script php/my sql che ho usato che ho usato:

    <div class="box-inner3">
    <span class="marchese2">News pi&ugrave; commentate dai lettori</span>
    <?php

    //////////////
    /*limitiamo i record a 4 */
    if (!isset($start) OR $start<0)
    $start=0;
    $step = 4;

    /*contiamo */

    $sql = "SELECT count( 'id, subject, titletext, maintext' ) AS numero, subject, titletext, maintext
    FROM newsnews
    WHERE catid = '33'
    GROUP BY maintext
    ORDER BY numero DESC LIMIT $start,$step";
    $query = mysql_query ($sql) or die ("Non riesco ad eseguire la query");




    while ($valori = mysql_fetch_array ($query)){
    $subject = $valori ["subject"];
    $titletext = $valori ["titletext"];
    $maintext = $valori ["maintext"];
    $id = $valori ["id"];





    echo "

    ";
    /*limitiamo il numero dei caratteri con la funzione presente nel tag head del testo */
    $stringa = $titletext;/* assegniamo la stringa alla variabile $stringa*/
    $titletext = tagliaStringa($stringa); /*passiamo per copia il valore di stringa alla funzione tagliaStringa();*/

    /*query per creare la parente con numero commenti*/
    $countcomment="SELECT count(id) as totale FROM `newsnews` WHERE `maintext` LIKE CONVERT(_utf8 '".$maintext."' USING latin1)";
    $res_count=mysql_query ($countcomment) or die ("Non riesco ad eseguire la query");
    $valori2 = mysql_fetch_row($res_count);



    echo "<span class=\"marchese3\">$subject</span>";
    echo "<span class=\"marchese3\">$titletext</span>";
    echo "<a href=\"focus_dx/view.php?id=$maintext\" class=\"linketto2\">$valori2[0] commenti alla news...Segue </a>";
    echo "</p>";

    }

    ?>
    </div>

    Il risultato è evidente on line:

    http://www.menabonews.it/index-novel.php è il box a destra "News più commentatedaii lettori"

    Il problema? Il primo record visualizza l'ultima notizia per id, a seguire invece no !
    Non vengono visualizzati diversi inserimenti pubblicati nel campo maintext successivamente a quello che è appare.

    Coda devo risolvere? Grazie
    http://www.menabonews.it

    Notizie, politica, opinioni, libri. Dalla Riviera, da Genova e dall'Italia

  2. #2
    ma se devi visualizzare le news più commentate non è più semplice procedere così:

    Metti un campo nella tabella delle news 'numero di commenti'.

    Ogni volta che una data news viene commentata, questo campo viene incrementato di 1.

    Così per ordinarle per numero di commenti sarà facilissimo

  3. #3

    il problema..

    Non ti starò a menzionare di come funziona tutto il sito.
    E' gestiso da giornalisti..abbiamo fatto in modo che i commenti arrivino per mail ed l'id news venga passato al campo "maintext" in una stringa di testo.
    Ma su altre categorie "maintext" serve per gli articoli...
    Quindi tempo che al momento la cosa la si debba risolvere li.


    http://www.menabonews.it

    Notizie, politica, opinioni, libri. Dalla Riviera, da Genova e dall'Italia

  4. #4

    Re: il problema..

    Originariamente inviato da ascaso
    Non ti starò a menzionare di come funziona tutto il sito.
    E' gestiso da giornalisti..abbiamo fatto in modo che i commenti arrivino per mail ed l'id news venga passato al campo "maintext" in una stringa di testo.
    Ma su altre categorie "maintext" serve per gli articoli...
    Quindi tempo che al momento la cosa la si debba risolvere li.


    non scendo in troppi particolari anche perche' in realta' non ho inteso benissimo il problema.
    GROUP BY prende il primo record che soddisfa la condizione e questo a prescindere qualsiasi cosa.

    Poi questo count:

    count( 'id, subject, titletext, maintext' )

    mi sfugge completamente.... quello tra apici e' una stringa. Caso mai sara' count(*)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.