|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
[php] lista dinamica
Ciao ragazzi, ho la necessità di creare una lista dinamica.
In particolare ho fatto una tabella di prova in cui se il campo "pdf" è settato a si mi mette il mese, altrimenti no. Es. metto tutti i mesi fino a luglio con pdf=si e avrò la tendina con gennaio, febbraio..ecc fino a luglio: Il codice è questo: Codice PHP:
Non riesco ad aggiungere il link! Ho provato mettendo il codice html: Codice PHP:
In php come aggiungo il link in questa linea di codice? Codice PHP:
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Per creare i link non si utilizza il tag <option> ma il tag <a>, cerca "html a" su google.
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Non ho capito cosa intendi, non mi risulta che esiste una legge che obbliga a scrivere i nomi dei mesi nei tag option, usa <a> e basta. Poi se hai una particolare esigenza spiega meglio quello che vuoi ottenere.
|
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Oct 2003
Messaggi: 143
|
Quote:
Per avere una select con il comportamento che desideri devi utilizzare Javascript. Guarda qui: http://stackoverflow.com/a/5150486 Ultima modifica di MicheleRaponi : 24-07-2014 alle 08:30. |
|
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
Non l'ho mai usato... ![]() Praticamente devo fare questa lista html: Codice PHP:
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
No, o usi javascript oppure metti dei normali link.
Potresti al massimo abbozzare qualcosa con i css, mettendo i link in un pannellino che compare con il mouse hover. |
![]() |
![]() |
![]() |
#8 | |
Member
Iscritto dal: Oct 2003
Messaggi: 143
|
Quote:
Vista la poca dimestichezza, mi permetto di consigliarti, come accennato da Daniels118, questa soluzione: http://jsfiddle.net/Ry8P6/ |
|
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
Probabilmente non so usarlo... Se metto il tag a invece che option non ho più i nomi... Codice PHP:
|
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Che vuol dire "non ho più i nomi"?
La sintassi del tag <a> è la seguente: <a href="link">testo</a>Ovviamente a differenza del tag <option> i link non sono raggruppati in un menù a tendina. Il menu a tendina non è fatto per presentare dei link, i tag non possono essere combinati. |
![]() |
![]() |
![]() |
#11 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
![]() (mantenendo la lista dinamica) |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Allora valgono le considerazioni di prima, o usi javascript oppure crea un menu a tendina con i css (però questa è una soluzione abbastanza laboriosa, te la sconsiglio).
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Questo codice ha i link ma non riesco a fare le opzioni dinamiche...
Codice:
<script type="text/javascript"> function change_url(val) { window.location=val; } </script> <select style="width:130px;" onchange="change_url(this.value);"> <option value="http://www.url1.com">Option 1</option> <option value="http://www.url2.com">Option 2</option> </select> Come posso fare il controllo? Non c'è qualche esempio in rete che posso adattare alle mie esigenze? Ultima modifica di ectobsidian : 01-08-2014 alle 10:27. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Quale sarebbe questa condizione? Non generavi le option con la query sul db?
|
![]() |
![]() |
![]() |
#15 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
Mi è stato consigliato di usare javascript e di passare i valori a jquery... Ho provato a fare due array in javascript, dovrei passarli a jquery per fare la form. Codice:
// array mesi array_mesi=new Array("gennaio","febbraio","marzo"); for (i = 0; i < array_mesi.length; i++) { document.write (array_mesi[i]+"<br>"); } // array link array_link=new Array("www.google.it","www.google.com","www.google.it"); for (i = 0; i < array_link.length; i++) { document.write (array_link[i]+"<br>"); } |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
![]() Le istruzioni in javascript non dovevano sostituire quelle in php, ma dovevano essere un'aggiunta. Comunque, questi link sono fissi? Stanno sul database? |
![]() |
![]() |
![]() |
#17 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
- ho fatto un sorgente php che tramite query mi genera un menu a tendina con le opzioni che voglio, ma non sono riuscito ad agganciare i link. - ho quindi provato a fare la stessa cosa in javascript (anche senza query, giusto per provare, ma non sono riuscito...servirebbe jquery? Quello che voglio ottenere è la seguente cosa: - Dovrei creare un menu a tendina (con i mesi dell'anno) in cui la presenza del mese (ossia la scelta) dipende da una query su DB. Ad es. facendo la query avrò i mesi da gennaio a luglio (ad es.). A questo punto avrò il menu a tendina con le opzioni da gennaio a luglio e ogni mese ha un link (che è fisso, tipo per il mese di gennaio sarà una roba del genere www.sito.mese_gennaio.it). Il link è fisso, cambierà solo il nome del mese... Devo solo agganciarlo. |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Allora, devi creare prima di tutto un'associazione tra mese e link. Puoi farlo con una tabella sul db, un array associativo in php, o un array associativo in javascript.
Primo metodo (link su DB): Codice:
$query2 = mysql_query(" SELECT mese, link FROM tabella WHERE pdf = 'si' ",$connessione); // questo salva tutto in un array e quindi crea dinamicamente un menu a tendina echo "<select name='sceltamonitor'>"; while($monitor = mysql_fetch_array($query2)) { echo "<option value=\"" . $monitor[1] . "\">" .$monitor[0]. "</option>"; } echo "</select>"; Codice:
$links = array( 'gennaio'=>'link gennaio', //... 'dicembre'=>'link dicembre', ); $query2 = mysql_query(" SELECT mese FROM tabella WHERE pdf = 'si' ",$connessione); // questo salva tutto in un array e quindi crea dinamicamente un menu a tendina echo "<select name='sceltamonitor'>"; while($monitor = mysql_fetch_array($query2)) { echo "<option value=\"" . $links[$monitor[0]] . "\">" .$monitor[0]. "</option>"; } echo "</select>"; |
![]() |
![]() |
![]() |
#19 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
Ho visto che l'associazione avviene con successo ma per far reindirizzare al link come faccio? Cioè, adesso che ho l'associazione, ad es. cliccando su gennaio vorrei che mi andasse al link associato.... Devo usare javascript? Ad es. una cosa così? Codice:
<script type="text/javascript"> function goURL(url) { window.open(url); return false; } </script> Codice:
echo "<select name='sceltamonitor' onchange="goURL(this.value);"> Ultima modifica di ectobsidian : 01-08-2014 alle 13:54. |
|
![]() |
![]() |
![]() |
#20 | |
Member
Iscritto dal: Sep 2009
Messaggi: 85
|
Quote:
Risolto cambiando e mettendo questa linea di codice (con la funzione che ho messo sopra): echo "<select name='sceltamonitor' onchange=goURL(this.value) >"; |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:55.