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.