Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764

    Contare record che rispettano una certa condizione

    Ciao a tutti,
    sto usando il framework Bootstrap e vorrei far leggere le immagini da far girare nel carousel dal mio database.

    Il carousel è strutturato così.

    Codice PHP:
    <div id="slideshow" class="carousel slide">
     <
    div class="carousel-inner">
      <
    div class="item active">
       <
    img src="..." alt="...">
        ...
       </
    div>
      </
    div>
      <
    div class="item">
       <
    img src="..." alt="...">
        ...
       </
    div>
      </
    div>
      <
    div class="item">
       <
    img src="..." alt="...">
        ...
       </
    div>
      </
    div>
     </
    div
    Il primo div che contiene il tag img ha classe "item active", dal secondo in poi ha classe "item".
    Dovrei quindi estrarre i dati e fare in modo che al primo record venga assegnata una certa classe e dal secondo in poi, un'altra.

    Uso MySql.
    Ho scritto tre query: la prima mi prende il primo record. La seconda mi conta quanti record ci sono in totale e la terza mi prende dal secondo record al totale dei record presenti, che ho contato con la seconda query.

    Codice PHP:
    sqlSlider "SELECT * from slider_home WHERE attiva=1 LIMIT 1"
    SET RSSlider Conn.Execute(sqlSlider)    
    Response.Write "<div class=""item active wide"">"
    Response.Write "<a href="""
    Response.Write RSSlider("link")
    Response.Write """><img src=""images/slider/"
    Response.Write RSSlider("img")
    Response.Write(""" alt=""")
    Response.Write RSSlider("img")
    Response.Write(""" class=""crop""></a>")
    RSSlider.Close
    Set RSSlider 
    Nothing 
    Codice PHP:
    sqlcontaslide "SELECT count(*) from slider_home WHERE attiva=1"
    SET RSConta Conn.Execute(sqlcontaslide)
    numeroslide RSConta(0
    Codice PHP:
    sqlSlider1 "SELECT * from slider_home WHERE attiva=1 LIMIT 1,"numeroslide &""
    SET RSSlider1 Conn.Execute(sqlSlider1)
    WHILE 
    NOT RSSlider1.EOF
    Response
    .Write "<div class=""item wide"">"
    Response.Write "<a href="""
    Response.Write RSSlider1("link")
    Response.Write """><img src=""images/slider/"
    Response.Write RSSlider1("img")
    Response.Write(""" alt=""")
    Response.Write RSSlider1("img")
    Response.Write(""" class=""crop""></a>")
    RSSlider1.MoveNext
    Wend
    RSSlider1
    .Close
    Set RSSlider1 
    Nothing 
    Così come ho fatto funziona, ma non so se questa sia la soluzione migliore. Accetto suggerimenti.


    Avrei poi un'altra esigenza.
    Le immagini vengono caricate dal cliente e può caricarne sia di orizzontali sia di verticali. Vorrei che venissero mostrate, nel carousel, solo le orizzontali. Non posso far caricare solo le orizzontali, perché questa gallery (non all'intero del carousel), è presente in un'altra pagina del sito.
    Per far questo pensavo di verificare, per ciascuna immagine, larghezza ed altezza, e scegliere solo le orizzontali.

    Ho un file, che includo ad inizio pagina, che mi resituisce le misure delle immagini.
    Vorrei mostrare solo le immagini dove la differenza fra larghezza e altezza è uguale ad un certo valore.

    Come faccio, a questo punto, a contare quante sono le immagini che rispettano questa condizione?
    Mi serve questo numero da inserire nella terza query, al posto di numeroslide, che è il risultato della seconda query.
    Ultima modifica di Roby140569; 26-01-2015 a 14:59

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Qualche idea? Grazie.

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,671
    io trovo macchino il processo di estrazione.
    se devi identificare il primo estratto con un classe diversa (o in più) adotterei un contatore, tipo: se "conta" è = ad 1 stampo la nuova classe.

    per quel che riguarda le immagini orizzontali:
    se se misure le hai scritte nel db è tutto più semplice.
    altrimenti devi verificare le proprietà dell'immagine una ad una durante l'estrazione dati, mettere da parte il risultato e proseguire.
    ... un po macchinoso (e sicuramente anche lento).

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie per la risposta.

    Infatti, il mio primo dubbio era sul processo di estrazione. Grazie per il suggerimento sul contatore, vediamo se riesco a venirne a capo. Poi mi occuperò delle dimensioni delle immagini.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Ho messo il contatore, come da utile suggerimento.
    Il codice finale e perfettamente funzionante è questo.

    Codice PHP:
    <%
    n0
    sqlSlider 
    "SELECT * from slider_home WHERE attiva=1"
    SET RSSlider Conn.Execute(sqlSlider)
    WHILE 
    NOT RSSlider.EOF
    1
    If 1 Then    
        Response
    .Write "<div class=""item active wide"">"
    Else
        
    Response.Write "<div class=""item wide"">"
    End If
        
    Response.Write "<a href="""
        
    Response.Write RSSlider("link")
        
    Response.Write """><img src=""images/slider/"
        
    Response.Write RSSlider("img")
        
    Response.Write(""" alt=""")
        
    Response.Write RSSlider("img")
        
    Response.Write(""" class=""crop""></a>")
        
    Response.Write "</div>"
    RSSlider.MoveNext
    WEND
    %> 

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 © 2024 vBulletin Solutions, Inc. All rights reserved.