Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-07-2014, 15:36   #1
ectobsidian
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:
$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=\""."\">"  .$monitor[0]. "</option>";
    }
    echo 
"</select>"
Quello che voglio aggiungere (e penso che sia abbastanza banale) è quello che ad ogni scelta (ad esempio gennaio o febbraio...) mi va in un sito diverso...
Non riesco ad aggiungere il link!
Ho provato mettendo il codice html:
Codice PHP:
<option value="http://www.google.it">Luglio </option
Ma non funziona...
In php come aggiungo il link in questa linea di codice?
Codice PHP:
echo "<option value=\""."\">"  .$monitor[0]. "</option>"
Grazie!
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2014, 15:39   #2
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2014, 15:45   #3
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Per creare i link non si utilizza il tag <option> ma il tag <a>, cerca "html a" su google.
Il tag option mi serve per avere i vari mesi...
come faccio ad incastrare il link all'interno? Si può fare? (cioè ogni mese un link diverso...)
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2014, 21:22   #4
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 08:24   #5
MicheleRaponi
Member
 
Iscritto dal: Oct 2003
Messaggi: 143
Quote:
Originariamente inviato da ectobsidian Guarda i messaggi
Quello che voglio aggiungere (e penso che sia abbastanza banale) è quello che ad ogni scelta (ad esempio gennaio o febbraio...) mi va in un sito diverso...
Grazie!
Non puoi fare un redirect inserendo un link all'interno di ogni option.
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.
MicheleRaponi è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 08:51   #6
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da MicheleRaponi Guarda i messaggi
Non puoi fare un redirect inserendo un link all'interno di ogni option.
Per avere una select con il comportamento che desideri devi utilizzare Javascript. Guarda qui: http://stackoverflow.com/a/5150486
Senza Javascript non si può fare?
Non l'ho mai usato...
Praticamente devo fare questa lista html:
Codice PHP:
<!-- Paste this code into the BODY section of your HTML document  -->
<
select size="1" name="jumpit" onchange="document.location.href=this.value"
<
option selected value="">Make a Selection</option>
<
option value="http://www.javascriptsource.com/">The JavaScript Source</option>
<
option value="http://www.javascript.com">JavaScript.com</option>
<
option value="http://www.webdeveloper.com/forum/forumdisplay.php?f=3">JavaScript Forums</option>
<
option value="http://www.scriptsearch.com/">Script Search</option>
<
option value="http://www.webreference.com/programming/javascript/diaries/">The JavaScript Diaries</option>
</
select
Solo che il menù a tendina deve avere solo alcune scelte in base ad una query....
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 08:58   #7
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 09:04   #8
MicheleRaponi
Member
 
Iscritto dal: Oct 2003
Messaggi: 143
Quote:
Originariamente inviato da ectobsidian Guarda i messaggi
Senza Javascript non si può fare?
Non l'ho mai usato...
Praticamente devo fare questa lista html:
Codice PHP:
<!-- Paste this code into the BODY section of your HTML document  -->
<
select size="1" name="jumpit" onchange="document.location.href=this.value"
<
option selected value="">Make a Selection</option>
<
option value="http://www.javascriptsource.com/">The JavaScript Source</option>
<
option value="http://www.javascript.com">JavaScript.com</option>
<
option value="http://www.webdeveloper.com/forum/forumdisplay.php?f=3">JavaScript Forums</option>
<
option value="http://www.scriptsearch.com/">Script Search</option>
<
option value="http://www.webreference.com/programming/javascript/diaries/">The JavaScript Diaries</option>
</
select
Solo che il menù a tendina deve avere solo alcune scelte in base ad una query....
Anche questo esempio usa JavaSript e comunque non ha niente di codice PHP.
Vista la poca dimestichezza, mi permetto di consigliarti, come accennato da Daniels118, questa soluzione: http://jsfiddle.net/Ry8P6/
MicheleRaponi è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 09:08   #9
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
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.
Lo so, ma usando il tag a mi sparisce la lista...
Probabilmente non so usarlo...
Se metto il tag a invece che option non ho più i nomi...
Codice PHP:
echo "<option value=\""."\">"  .$monitor[0]. "</option>"
Ma devo modificare qualcos'altro per farlo funzionare?
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 09:15   #10
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 09:18   #11
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
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.
Aaah, no io volevo fare il link nel menù a tendina...
(mantenendo la lista dinamica)
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2014, 09:31   #12
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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).
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 09:34   #13
ectobsidian
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>
Cioè vorrei fare che ad es l'option 1 è visibile solo ad una certa condizione.
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.
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 11:24   #14
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quale sarebbe questa condizione? Non generavi le option con la query sul db?
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 11:37   #15
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Quale sarebbe questa condizione? Non generavi le option con la query sul db?
Sì ma poi mi sono accorto che così avevo solo le label ma non riuscivo a mettere i link.
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>");
	}
Non c'è qualche codice simile in rete? Io non ne sto trovando.
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 11:42   #16
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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?
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 12:46   #17
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi

Le istruzioni in javascript non dovevano sostituire quelle in php, ma dovevano essere un'aggiunta. Comunque, questi link sono fissi? Stanno sul database?
Riassumo per fare un po' di chiarezza:
- 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.
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 13:17   #18
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
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>";
Secondo metodo (array associativo in php):
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>";
Il terzo metodo è simile al secondo ma avviene lato client.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 13:43   #19
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
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>";
Secondo metodo (array associativo in php):
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>";
Il terzo metodo è simile al secondo ma avviene lato client.
Il metodo dell'array php associativo mi sembra buono.
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>
E poi modificando questa riga di codice:
Codice:
 echo "<select name='sceltamonitor' onchange="goURL(this.value);">

Ultima modifica di ectobsidian : 01-08-2014 alle 13:54.
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2014, 14:09   #20
ectobsidian
Member
 
Iscritto dal: Sep 2009
Messaggi: 85
Quote:
Originariamente inviato da ectobsidian Guarda i messaggi
Il metodo dell'array php associativo mi sembra buono.
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>
E poi modificando questa riga di codice:
Codice:
 echo "<select name='sceltamonitor' onchange="goURL(this.value);">
Mi rispondo da solo xD
Risolto cambiando e mettendo questa linea di codice (con la funzione che ho messo sopra):
echo "<select name='sceltamonitor' onchange=goURL(this.value) >";
ectobsidian è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Tesla sta per lanciare il Robotaxi nella...
Dead Island 2 arriva su Mac, ma a un pre...
FIA e Formula E rinnovano il matrimonio:...
Windows 11 24H2 approda su nuovi sistemi...
Le restrizioni americane hanno generato ...
Una Mercedes EQS con batterie allo stato...
Il robot Walker S2 della Cina cambia la ...
Cosa vuol dire "vantaggio quantisti...
Retelit punta sulla connettività ...
Novità WhatsApp: promemoria sui m...
AMD: la prossima generazione di schede v...
MediaWorld potrebbe diventare cinese: Ce...
Amazon in delirio da sconti: 22 articoli...
EOLO ha più di 700 mila utenti in...
Una spin-off del MIT ha creato dei super...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v