Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22

    Consiglio su ordinamento in colonne

    Salve ragazzi, vi chiedo un consiglio su come ordinare in colonne un output di una query a un db.
    Il codice della mia pagina "risultati" è questo:


    <%@ LANGUAGE = JScript %> <%
    var testo = String(Request.Form("Nome"));
    if (testo=="" || testo=="undefined") Response.Redirect("ricerca_carte.htm");

    var Nome = testo.split(" ");

    var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq=";
    stringaDiConnessione += Server.MapPath("/mdb-database/database2.mdb");
    var conn = new ActiveXObject("ADODB.Connection");
    conn.Open(stringaDiConnessione);

    var sql = "SELECT * FROM Nomi WHERE";
    for (i=0;i<Nome.length;i++) {
    if (i>0) sql += " AND";
    sql += " Nome LIKE '%" + Nome[i] + "%'";
    }

    var ris = conn.Execute(sql);

    if (ris.EOF) Response.Write("SPIACENTE, CARTA NON PRESENTE");
    else while (!ris.EOF) {
    Response.Write("Nome della carta:");
    Response.Write(ris("Nome"));
    Response.Write("</a>
    ");
    Response.Write("Espansione:");
    Response.Write(ris("Espansione"));
    Response.Write("</a>
    ");
    Response.Write("Colore:");
    Response.Write(ris("Colore"));
    Response.Write("</a>
    ");
    Response.Write("Rarità:");
    Response.Write(ris("Rarità"));
    Response.Write("</a>
    ");
    Response.Write("Prezzo:");
    Response.Write(ris("Prezzo"));
    Response.Write("</a>
    ");
    Response.Write("Disponibili:");
    Response.Write(ris("Qt"));
    Response.Write("</a>
    ");
    Response.Write("Foto:");
    Response.Write("clicca qui");
    Response.Write("</p>");
    ris.MoveNext();
    }

    conn.Close();
    %>

    Così come è scritto mi mette i risultati dai vari campi uno sotto l'altro.
    Io vorrei invece incollonnarli tutti in maniera ordinata in una tabella tipo:
    |Nome |Espansione|Prezzo|.....|
    ---------------------------------
    |nome1 |Esp1 |2€ |.....|
    |nome2 |Esp2 |4€ |.....|
    |etc |etc |etc |.....|
    | | | |.....|

    Qualcuno può dirmi che modifiche apportare al codice?
    Grazie mille a tutti!

  2. #2
    inserisci i vari tag di tabella (TABLE, TR, TD) e sei a posto

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22
    Applicando a questo codice come dovrei inserirli? Potresti darmi indicazioni un po' + detagliate?
    Grazie mille!

  4. #4
    prima del ciclo apri la tabella
    e crei una riga con i nomi dei campi
    tipo<tr><td>Nome</td>td>Espansione</td>td>Colore</td></tr>
    poi nel ciclo

    response.write("<tr>")
    Response.Write("<td>"& ris("Nome") &"</td>")
    Response.Write("<td>"& ris("Espansione") &"</td>")
    Response.Write("<td>"& ris("Colore") &"</td>")
    response.write("</tr>")

    e dopo il ciclo
    chiudi </table>

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22
    Cioè così?:
    <%@ LANGUAGE = JScript %> <%
    var testo = String(Request.Form("Nome"));
    if (testo=="" || testo=="undefined") Response.Redirect("ricerca_carte.htm");

    var Nome = testo.split(" ");

    var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq=";
    stringaDiConnessione += Server.MapPath("/mdb-database/database2.mdb");
    var conn = new ActiveXObject("ADODB.Connection");
    conn.Open(stringaDiConnessione);

    <tr><td>Nome</td><td>Espansione</td><td>Colore</td></tr>Rarità</td><td>Prezzo</td><td>Disponibili</td></tr>Foto</td></tr>;
    var sql = "SELECT * FROM Nomi WHERE";
    for (i=0;i<Nome.length;i++) {
    if (i>0) sql += " AND";
    sql += " Nome LIKE '%" + Nome[i] + "%'";
    }

    var ris = conn.Execute(sql);

    if (ris.EOF) Response.Write("SPIACENTE, CARTA NON PRESENTE");
    else while (!ris.EOF) {
    response.write("<tr>");
    Response.Write("<td>"& ris("Nome") &"</td>");
    Response.Write("<td>"& ris("Espansione") &"</td>");
    Response.Write("<td>"& ris("Colore") &"</td>");
    Response.Write("<td>"& ris("Rarità") &"</td>");
    Response.Write("<td>"& ris("Prezzo") &"</td>");
    Response.Write("<td>"& ris("Disponibili") &"</td>");
    Response.Write("<td>" "a target='_blank' href='" + ris("Foto") + "'>clicca qui</a>" "</td>");
    response.write("</tr>");
    ris.MoveNext();
    }
    </table>
    conn.Close();
    %>


    Così non funge e mi da errore....dove sbaglio?

  6. #6
    "Così non funge e mi da errore...." propongo di abolire questa espressione...

    - che errore dà
    - a quale riga
    - ogni altra informazione utile sarà apprezzata

    sciaobelli

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22
    pardon ecco l'errore:


    Microsoft JScript compilation error '800a03ea'

    Syntax error

    /risultati.asp, line 21

    <tr><td>Nome</td><td>Espansione</td><td>Colore</td></tr>Rarità</td><td>Prezzo</td><td>Disponibili</td></tr>Foto</td></tr>;

  8. #8
    devi chiudere e aprire i tag asp... sono tag html non istruzioni asp

    codice:
    <%@ LANGUAGE = JScript %> <% 
    var testo = String(Request.Form("Nome")); 
    if (testo=="" || testo=="undefined") Response.Redirect("ricerca_carte.htm"); 
    
    var Nome = testo.split(" "); 
    
    var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq="; 
    stringaDiConnessione += Server.MapPath("/mdb-database/database2.mdb"); 
    var conn = new ActiveXObject("ADODB.Connection"); 
    conn.Open(stringaDiConnessione); 
    %> 
    <tr><td>Nome</td><td>Espansione</td><td>Colore</td></tr>Rarità</td><td>Prezzo</td><td>Disponibili</td></tr>Foto</td></tr>
    <% 
    var sql = "SELECT * FROM Nomi WHERE"; 
    for (i=0;i<Nome.length;i++) { 
    if (i>0) sql += " AND"; 
    sql += " Nome LIKE '%" + Nome[i] + "%'"; 
    } 
    
    var ris = conn.Execute(sql); 
    
    if (ris.EOF) Response.Write("SPIACENTE, CARTA NON PRESENTE"); 
    else while (!ris.EOF) { 
    response.write("<tr>"); 
    Response.Write("<td>"& ris("Nome") &"</td>"); 
    Response.Write("<td>"& ris("Espansione") &"</td>"); 
    Response.Write("<td>"& ris("Colore") &"</td>"); 
    Response.Write("<td>"& ris("Rarità") &"</td>"); 
    Response.Write("<td>"& ris("Prezzo") &"</td>"); 
    Response.Write("<td>"& ris("Disponibili") &"</td>"); 
    Response.Write("<td>" "a target='_blank' href='" + ris("Foto") + "'>clicca qui</a>" "</td>"); 
    response.write("</tr>"); 
    ris.MoveNext(); 
    } 
    </table> 
    conn.Close(); 
    %>

  9. #9
    cmq io lo farei così... si capisce di sicuro meglio ed é più semplice da modificare e da scrivere

    codice:
    <%@ LANGUAGE = JScript %> <% 
    var testo = String(Request.Form("Nome")); 
    if (testo=="" || testo=="undefined") Response.Redirect("ricerca_carte.htm"); 
    
    var Nome = testo.split(" "); 
    var stringaDiConnessione = "driver={Microsoft Access Driver (*.mdb)};dbq="; 
    stringaDiConnessione += Server.MapPath("/mdb-database/database2.mdb"); 
    var conn = new ActiveXObject("ADODB.Connection"); 
    conn.Open(stringaDiConnessione); 
    %>
    <table><tr><td>Nome</td><td>Espansione</td><td>Colore</td></tr>Rarità</td><td>Prezzo</td><td>Disponibili</td></tr>Foto</td></tr>
    <%
    var sql = "SELECT * FROM Nomi WHERE"; 
    for (i=0;i<Nome.length;i++) { 
    if (i>0) sql += " AND"; 
    sql += " Nome LIKE '%" + Nome[i] + "%'"; 
    } 
    
    var ris = conn.Execute(sql); 
    
    if (ris.EOF)
    %>
    SPIACENTE, CARTA NON PRESENTE
    <%
    else while (!ris.EOF) {
    %>
    <tr>
    <td><%=ris("Nome")%></td> 
    <td><%=ris("Espansione")%></td> 
    <td><%=ris("Colore")%></td> 
    <td><%=ris("Rarità")%></td> 
    <td><%=ris("Prezzo")%></td> 
    <td><%=ris("Disponibili")%></td>
    <td>">clicca qui</td> 
    </tr>
    <%
    ris.MoveNext(); 
    }
    %>
    </table> 
    <%
    conn.Close(); 
    %>

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    22
    ho modificato il codice così:
    if (ris.EOF) Response.Write("SPIACENTE, CARTA NON PRESENTE");
    else while (!ris.EOF) {
    response.write("<tr>");
    Response.Write("<td>"& ris("Nome") &"</td>");
    Response.Write("<td>"& ris("Espansione") &"</td>");
    Response.Write("<td>"& ris("Colore") &"</td>");
    Response.Write("<td>"& ris("Rarità") &"</td>");
    Response.Write("<td>"& ris("Prezzo") &"</td>");
    Response.Write("<td>"& ris("Disponibili") &"</td>");
    Response.Write("<td>" "a target='_blank' href='" + ris("Foto") + "'>clicca qui</a>" "</td>");
    response.write("</tr>");
    ris.MoveNext();
    }
    </table>
    conn.Close();
    %>


    Ma ora mi da questo errore:
    Microsoft JScript compilation error '800a03ee'

    Expected ')'

    /risultati.asp, line 40

    Response.Write("<td>" "a target='_blank' href='" + ris("Foto") + "'>clicca qui</a>" "</td>");
    ----------------------^

    Facendo come nel secondo esempio che mi hai mandato invece esce una tabella totalmente sballata

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.