Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [php/mysql]

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777

    [php/mysql]

    Salve a tutti,

    Codice PHP:
            echo "<h1>I più commentati</h1>";
            echo 
    "<div class=\"corp\">";
            
    $piu_commentati mysql_query("SELECT *, DATE_FORMAT(datetime,'[b]%d.%m.%Y[/b] - [b]%H:%i:%s[/b]') as datatime FROM articoli ORDER BY commenti DESC LIMIT 5");
            
    $flag_colore=0;


                    while(
    $piucommentati=mysql_fetch_array($piu_commentati)){
                        
    $titolo=$piucommentati['titolo'];
                        
    $content=$piucommentati['content'];
                        
    $sezione1=$piucommentati['sezione1'];
                        
    $sezione2=$piucommentati['sezione2'];
                        
    $url=$piucommentati['url'];
                        
    $materia=$piucommentati['materia'];
                        
    $dt=$piucommentati['datatime'];
                        
    $commenti$piucommentati['commenti'];
                        
    $si$piucommentati['si'];
                        
    $no$piucommentati['no'];

                        
    $contentstrip_tags($content);
                        
    $content=substr($content0499)."...";
            
                
                    if(
    $flag_colore==0){
                            echo 
    "<div class=\"cont1\">";
                            
    $flag_colore=1;
                        }
                        else{
                            echo 
    "<div  class=\"cont2\">";
                            
    $flag_colore=0;
                        }
                        
                        
    $show_comment = ($commenti==1) ? "commento" "commenti";
                        echo 
    "<a href=\"$url\">"ucfirst($titolo) ."</a> 
    "
    .ucfirst($content)."
    $dt | <a href=\"http://www.atuttascienza.altervista.org/ricerca.php?search=" $materia "\">"ucfirst($materia) . "</a> | Mi piace: [b]$si[/b] - Non mi piace: [b]$no[/b] | [b]<u>$commenti $show_comment</u>[/b]";
                        echo 
    "</div>";

    con questo codice prelevo gli articoli più commentati e li metto in ordine dal più commentato al meno commentato...quindi avrò i 5 articoli più commentati

    ho fatto la query per mostrare i più recenti in base alla data o all'id e devo ripetere però tutto il pezzo del while
    Codice PHP:
    $titolo=$piucommentati['titolo'];
                        
    $content=$piucommentati['content'];
                        
    $sezione1=$piucommentati['sezione1'];
                        
    $sezione2=$piucommentati['sezione2'];
                        
    $url=$piucommentati['url'];
                        
    $materia=$piucommentati['materia'];
                        
    $dt=$piucommentati['datatime'];
                        
    $commenti$piucommentati['commenti'];
                        
    $si$piucommentati['si'];
                        
    $no$piucommentati['no']; 
    non c'è un modo per non mettere di nuovo queste informazioni?

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    se sono due query diverse devi fare due while diversi oppure non ho capito io

  3. #3
    Se vuoi eseguire lo stesso codice utilizzando però query com condizioni differenti (ovviamente sulla stessa tabella) puoi scrivere una function che si occuperà di eseguire e visualizzare i risultati di una query passata come parametro. Ciò ti eviterà di duplicare il codice ogni volta.
    A questo punto ti basta passare di volta in volta la query voluta alla funzione per visualizzare le tipologie di commenti che preferisci:

    Codice PHP:
    $queryPiuCommentati "SELECT *, DATE_FORMAT(datetime,'[b]%d.%m.%Y[/b] - [b]%H:%i:%s[/b]') as datatime FROM articoli ORDER BY commenti DESC LIMIT 5";

    showComment($queryPiuCommentati); 
    Codice PHP:
    function showComment($query) {
        echo 
    "<h1>I più commentati</h1>";
        echo 
    "<div class=\"corp\">";
        
    $piu_commentati mysql_query($query);
        
    $flag_colore 0;
        
        while (
    $piucommentati mysql_fetch_array($piu_commentati)) {
            
    $titolo $piucommentati['titolo'];
            
    $content $piucommentati['content'];
            
    $sezione1 $piucommentati['sezione1'];
            
    $sezione2 $piucommentati['sezione2'];
            
    $url $piucommentati['url'];
            
    $materia $piucommentati['materia'];
            
    $dt $piucommentati['datatime'];
            
    $commenti $piucommentati['commenti'];
            
    $si $piucommentati['si'];
            
    $no $piucommentati['no'];
        
            
    $content strip_tags($content);
            
    $content substr($content0499)."...";
        
        
            if (
    $flag_colore == 0) {
                echo 
    "<div class=\"cont1\">";
                
    $flag_colore 1;
            }    else {
                echo 
    "<div  class=\"cont2\">";
                
    $flag_colore 0;
            }
            
            
    $show_comment = ($commenti == 1) ? "commento" "commenti";
            echo 
    "<a href=\"$url\">".ucfirst($titolo)."</a> 
    "
    .ucfirst($content)."
    $dt | <a href=\"http://www.atuttascienza.altervista.org/ricerca.php?search=" $materia "\">"ucfirst($materia) . "</a> | Mi piace: [b]$si[/b] - Non mi piace: [b]$no[/b] | [b]<u>$commenti $show_comment</u>[/b]";
            echo 
    "</div>";
        }

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    grazie satifal

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    Originariamente inviato da homerbit
    se sono due query diverse devi fare due while diversi oppure non ho capito io
    il contenuto del while è identico...è la condizione della query che varia

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    chiedo scusa perchè avevo dimenticato di scrivere il titolo della discussione

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.