Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di klinik
    Registrato dal
    Mar 2003
    Messaggi
    140

    Controllare se c'è dato e mostrare riga....

    Salve, ecco il mio problema, sto creando uno sistema per una vetrina virtuale, esiste anche una sezione usato, necessito di uno script che facesse un controllo sul database se ci sono annunci di articoli usati e mostrasse la relativa categoria.

    prima c'è il menu degli articoli nuovi:

    Avvitatori
    Motoseghe
    Falciatrici ecc

    e tutto funziona (controlo, estrazione ecc), e sotto viene una categoria Usato/Occasioni, il problema è che se hi 3 annunci usato mi mostra 3 volte la categoria usato.

    Occasioni/Usato
    Occasioni/Usato
    Occasioni/Usato

    Mentre gli articoli nuovi sono categoria per categoria, per l' usato ho fatto un unica categoria.

    Lo script è questo:

    <%
    sezione = "usato"

    Conn_String = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("gestione/database.mdb")

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open Conn_String

    sql = "select * from categoria order by Categoria asc"
    set rst = Conn.Execute (sql)

    Do While Not rst.EOF

    Categoria = rst("categoria")
    sqlcount = "SELECT count(categoria) FROM annunci where Categoria='" & rst("categoria") & "' AND attivo ='on' AND sezione = 'usato' "

    Set RScounts = Conn.Execute(sqlcount)
    rcounts = RScounts(0)

    %>

    <% If rcounts <> 0 then %> [*]Occasioni/Usato
    <% end if %>


    <%
    rst.MoveNext
    loop
    %>

    In pratica dovrei eliminare i ciclo che mi crea una scritta Occasioni/Usato per ogni annuncio usato inserito...

    Ma non ne vengo fuori...

    Suggerimenti ??
    Gab

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi usare una variabile di appoggio contenente la categoria.
    Se la variabile è diversa dalla categoria che recuperi dal db la stampi e imposti la variabile con il valore della categoria presa dal db.

    Roby

  3. #3
    Utente di HTML.it L'avatar di klinik
    Registrato dal
    Mar 2003
    Messaggi
    140
    mmmmm ..un esempio pratico ???

    Gabriele

  4. #4
    per come hai scritto il codice, dovrebbe essere tutto ok, visto che fai

    sql = "select * from categoria order by Categoria asc"

    probabilmente ti ripete tanti 'usato' per quante sono le categorie, visto che 'usato' è una sezione, non una categoria!

  5. #5
    Utente di HTML.it L'avatar di klinik
    Registrato dal
    Mar 2003
    Messaggi
    140
    Ciao, ho modificato così:

    <%

    '::::::::::::::::::::::::: Connessione database.mdb

    ' indicare la sezione, se nuovo o usato
    'sezione = "usato"

    Conn_String = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("gestione/database.mdb")

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open Conn_String

    sql = "select * from annunci where sezione = 'usato' "
    set rst = Conn.Execute (sql)

    Do While Not rst.EOF

    sezione = rst("sezione")
    sqlcount = "SELECT count(sezione) FROM annunci where sezione='" & rst("sezione") & "' AND attivo ='on' "

    Set RScounts = Conn.Execute(sqlcount)
    rcounts = RScounts(0)

    %>

    <% If rcounts <> 0 then %>[*]Occasioni/Usato
    <% end if %>


    <%
    rst.MoveNext
    loop
    %>

    Facendo l'estrapolazione per sezione, ma il risultato è uguale a prima, anche perchè prima estrapolavo solo se c'era la sezione Usato

    sqlcount = "SELECT count(categoria) FROM annunci where Categoria='" & rst("categoria") & "' AND attivo ='on' AND sezione = 'usato' "

    Qua credo si tratti di eliminare il ciclo

    Do While Not rst.EOF

    rst.MoveNext
    loop

    ma non ne vengo fuori...

    Gab

  6. #6
    Utente di HTML.it L'avatar di klinik
    Registrato dal
    Mar 2003
    Messaggi
    140
    Sono riuscito a sistemare


    <%

    ' indicare la sezione, se nuovo o usato
    sezione = "usato"

    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("gestione/database.mdb")

    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "select * from annunci where sezione = 'usato' ", conn

    sqlcount = "SELECT count(sezione) FROM annunci where sezione='usato' AND attivo ='on' "
    Set RScounts = Conn.Execute(sqlcount)
    rcounts = RScounts(0)


    %>

    <% If rcounts <> 0 then %>
    [img]grafica/loghino.png[/img] Occasioni/Usato
    <% end if %>


    <%
    ' fine connessione database
    conn.close
    set conn = nothing
    %>


    Gab

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.