Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Order By

  1. #1

    Order By

    codice:
    $query4 = "SELECT * FROM Forum_Messaggi WHERE Utente = '$user' GROUP BY Discussione";
    $result4 = mysql_query($query4, $db);
    while ($row4 = mysql_fetch_array($result4)) {
    $Discussione = $row4["Discussione"];
    $query = "SELECT * FROM Forum_Discussioni WHERE ID = '$Discussione' ORDER BY Ultimo DESC";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result)) {
    $ID_Discussione = $row["ID"];
    $Vecchio_Sottoargomento = $row["Vecchio_Sottoargomento"];
    $Sottoargomento = $row["Sottoargomento"];
    if ($Vecchio_Sottoargomento!="0" AND $Sottoargomento!=$Vecchio_Sottoargomento) {
    $Spostato = "Spostato: ";
    } else {
    $Spostato = "";
    }
    $Sondaggio = $row["Sondaggio"];
    if ($Sondaggio=="1") {
    $Sond = "Sondaggio: ";
    } else {
    $Sond = "";
    }
    $Importante = $row["Importante"];
    if ($Importante=="1") {
    $Imp = "Importante: ";
    } else {
    $Imp = "";
    }
    $Titolo = $row["Titolo"];
    $Utente = $row["Utente"];
    $Click = $row["Click"];
    $query2 = "SELECT * FROM Forum_Messaggi WHERE Discussione = $ID_Discussione AND Risposta = '1'";
    $result2 = mysql_query($query2, $db);
    $risposte = mysql_num_rows($result2);
    $query3 = "SELECT * FROM Forum_Messaggi WHERE Discussione = '$ID_Discussione' ORDER BY ID DESC";
    $result3 = mysql_query($query3, $db);
    $row3 = mysql_fetch_array($result3);
    $mess = mysql_num_rows($result3);
    $Ultimo = $row3["ID"];
    $Ultimo_Utente = $row3["Utente"];
    $data_dal_db = $row3["Data"];
    $anno_db = getYear($data_dal_db);
    $mese_db = getMonth($data_dal_db);
    $giorno_db = getDay($data_dal_db);
    $ora_db = getHour($data_dal_db);
    $minuti_db = getMinutes($data_dal_db);
    $secondi_db = getSeconds($data_dal_db);
    $inserito = $giorno_db."-".$mese_db."-".$anno_db." alle ".$ora_db.":".$minuti_db.":".$secondi_db;
    echo "<div class=\"Discussione1\">
    $Imp$Spostato$Sond<a href=\"messaggi.php?Disc=$ID_Discussione\"><u>$Titolo</u></a>
    <div class=\"Pag\">";
    if ($mess > 20) {
    for ($i = 0; $i < 10; $i++) { 
    $b = (int)($mess/21)+1;
    }
    for ($c = 1 ; $c <=$b ; $c++) {
    if ($c <= 10) {
    $pag ="<a href=\"messaggi.php?pg=$c&Disc=$ID_Discussione\"><u>$c</u></a>";
    echo "$pag
    ";
    } else {
    break;
    for ($d = 1 ; $d <=10 ; $d++) {
    $pag ="<a href=\"messaggi.php?pg=$d&Disc=$ID_Discussione\"><u>$d</u></a>";
    echo "$pag
    ";
    }
    }
    }
    }
    if ($c > 10) {
    echo " ... <a href=\"messaggi.php?pg=$b&Disc=$ID_Discussione\"><u>$b</u></a>";
    }
    echo "</div>
    </div>
    <div class=\"Discussione2\">
    Iniziata da
    
    <a href=\"../utenti/utente.php?Utente=$Utente\"><u>$Utente</u></a>
    </div>
    <div class=\"Discussione3\">
    Risposte
    
    $risposte
    </div>
    <div class=\"Discussione4\">
    "; 
    for ($i = 0; $i < 10; $i++) { 
    $b = (int)($mess/21)+1;
    $Ultimo2 = "<a href=\"messaggi.php?pg=$b&Disc=$ID_Discussione#$Ultimo\"><u>Ultimo messaggio</u></a>
    ";
    }
    if ($Ultimo_Utente!="") {
    $Utente2 = "<a href=\"../utenti/utente.php?Utente=$Ultimo_Utente\"><u>$Ultimo_Utente</u></a>";
    } else {
    $Utente2 = "";
    }
    echo "$Ultimo2
    di $Utente2 
    
    $inserito
    </div>
    <div class=\"Discussione5\">
    Visite
    
    $Click
    </div>
    <div class=\"Line\" ".$stile."></div>
    ";
    }
    }
    Per quale motivo non dovrebbe funzionare il primo ORDER?

  2. #2
    Penso sarebbe bastata qualche riga di script....

    anyway... il primo ORDER BY che si vede non avrebbe ragione di esistere se ID = '$Discussione' fosse univoco.

    mi pare che come query annidate e cicli where e for sia uno script parecchio tormentato.


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

  3. #3
    Ma di ID = '$Discussione' ce ne più di uno, ovviamente univoci.

  4. #4
    Originariamente inviato da poeta1978
    Ma di ID = '$Discussione' ce ne più di uno, ovviamente univoci.
    appunto, allora hai un solo record come result-set.

    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.