Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Forum

  1. #1

    Forum

    Sale amici ho un forum sul mio sito dove appaiono le discussioni che sono aperte. Naviagando su questo forum ho notato che ogni volta che do una risposta, il messaggio viene visualizzato al primo posto. Come posso fare?

    Posto il codice del forum:

    <%@ LANGUAGE = JScript %>

    <%
    // Quanti record per pagina?
    var quanti = 5;

    Response.Expires = 0;

    var mese = new Array(
    "Gennaio","Febbraio","Marzo","Aprile",
    "Maggio","Giugno","Luglio","Agosto",
    "Settembre","Ottobre","Novembre","Dicembre"
    );

    function outputData(d) {
    giorno = d.getDate() + " " +
    mese[d.getMonth()] + " " +
    d.getFullYear();
    ora = new String(d.getHours());
    minuti = new String(d.getMinutes());
    if (minuti.length==1) minuti = "0" + minuti;
    return giorno + " " + ora + ":" + minuti;
    }

    var pagina = parseInt(Request.QueryString("p"));
    if (isNaN(pagina) || pagina<1) pagina = 1;
    %>
    <%
    var sql = "";
    sql += "SELECT ";
    sql += "Intestazioni.Intestazione_ID, ";
    sql += "Intestazioni.Data, ";
    sql += "Intestazioni.Oggetto, ";
    sql += "Intestazioni.Risposte, ";
    sql += "Utenti.Nickname ";
    sql += "FROM Intestazioni, Utenti WHERE ";
    sql += "Intestazioni.Autore = Utenti.Utente_ID ";
    sql += "ORDER BY Data DESC";

    var ADOConnection = new ActiveXObject("ADODB.Connection");
    var ADORecordset = new ActiveXObject("ADODB.Recordset");

    ADOConnection.Open(sdc);
    ADORecordset.Open(sql,ADOConnection,3,1);

    if (!ADORecordset.EOF) {
    ADORecordset.PageSize = quanti;
    ADORecordset.AbsolutePage = pagina;
    i = 0;
    %>
    <table width="100%" cellpadding="0" cellspacing="0">
    <tr>
    <td width="84%"> [img]images/argomento.gif[/img]

    [img]images/spacer.gif[/img]</td>
    <td width="16%">
    <div align="right">[img]images/autore.gif[/img]

    [img]images/spacer.gif[/img] </div>
    </td>
    </tr>
    <tr>
    <% while (i<quanti && !ADORecordset.EOF) { %>
    <td width="84%" height="23">
    <table width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="827" height="20">"><%=Server.HTMLEncode(ADORecordset("Oggetto") )%></td>
    </tr>
    </table>
    </td>
    <td width="16%" height="23">
    <table width="91%" cellspacing="0" cellpadding="0">
    <tr>
    <td height="20">
    <div align="right"><font size="1" face="Tahoma, Arial, Helvetica, sans-serif"><%=Server.HTMLEncode(ADORecordset("Nickname "))%></font></div>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <% ADORecordset.MoveNext();
    i++;
    } %>
    </table>
    <%
    tot = ADORecordset.PageCount;
    start = pagina - 1;
    stop = pagina + 1;

    if (start<1) stop += (-start) + 5;
    if (stop>tot) start -= (stop - tot);
    if (start<1) start = 5;
    if (stop>tot) stop = tot;

    script = Request.ServerVariables("SCRIPT_NAME");

    Response.Write("<div align=\"center\">");

    for (i=start;i<=stop;i++)
    if (i!=pagina) {
    Response.Write("[<a href=\"" + script + "?p=" + i + "\">");
    Response.Write(i);
    Response.Write("</a>]");
    } else if (start!=stop) {
    Response.Write("[" + i + "]");
    }

    Response.Write("</div>");
    }

    ADORecordset.Close();
    ADOConnection.Close();
    %>


    Ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di floyd46
    Registrato dal
    Feb 2002
    residenza
    Apulia
    Messaggi
    2,641

    Re: Forum

    Credo che il concetto sia di visualizzare l' ultimo messaggio inserito;
    quando crei il RS, dovresti impostare, per esempio, IDmessaggio discendente.

    O sbaglio?

    "Le persone che realizzano layout con tabelle annidate, spacer gif o che ignorano l'accessibilità non possono più definirsi professionisti." Andy Clarke
    --------------------------------

    www.extrowebsite.com

  3. #3
    vorrei che accada ciò che che accade su questo forum, infatti se do una risposta ad un messaggio, x esempio di ieri, questo viene visualizzato in testa al forum.

  4. #4
    Dipende da come è impostato il forum. Ad ogni modo devi memorizzare, per ogni dicussione principale, la data e l'ora dell'ultima risposta in modo da visualizzare in base a questo campo i post

  5. #5
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797
    devi avere in una tabella tutti i messaggi,domande e risposte e poi quando fai la query ordini in base al max data decresecente e raggruppi per domanda

  6. #6
    non ho capito cosa devo fare.
    Grazie 1000 per l'aiuto

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.