Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di l'anna
    Registrato dal
    Aug 2008
    Messaggi
    103

    Select dinamiche con solo php

    Ciao a tutti, non avendo trovato una chiara risposta dopo giorni di ricerche su forum,
    apro un 3d forse ripetitivo (scusate):

    E' possibile creare select dinamiche, che emulino l'onchange di js, solo con php?
    Senza ricorrere ad ajax? O solo con php ed essenziale javascript?

    Ad esempio, ho un form dove selezione il cantante, e in base a tale scelta caricare la select dei dischi relativi? Ah, i dati li recupero da db con mysql.

    Grazie mille!

  2. #2
    assolutamente si,
    se usi jquery (o analoghi), sull'onchange della select puoi dare hide() e show() a un div che contiene la select concatenata relativa.

    in questo modo non fai una richiesta http asincrona
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  3. #3
    Originariamente inviato da MicheleWT
    jquery
    ma se hai 100 cantati avrai 100 div hidden... tanto vale fare una richiesta ajax!!!
    ___________
    Il mio parere sul punto: ti serve ajax per fare due select concatenate.
    Altrimenti devi fare due step:
    - pagina in cui selezioni il cantante e submit;
    - pagina in cui ti compaiono o dischi di quel cantante.
    non si scappa.

    Consgilio personale: ajax tutta la vita!
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  4. #4
    Originariamente inviato da MicheleWT
    se usi jquery (o analoghi), sull'onchange della select puoi dare
    A mio modesto parere, usare jquery senza sfruttarne le potenzialità Ajax, è come comprarsi un SUV per andare a fare la spesa nel negozietto vicino casa!

    L'unico modo che mi viene in mente, per fare quello che serve a te senza javascript, è usare gli iFrame..... e Dio mi perdoni se ho nominato questa tecnica!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Originariamente inviato da alcio74
    L'unico modo che mi viene in mente, per fare quello che serve a te senza javascript, è usare gli iFrame
    Con la seconda select nel'iframe al submit puoi inviare i value di entrambi le select (madre e figlia)?
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  6. #6
    uhm..... non ci avevo pensato.
    Una tecnica ci deve essere..... ... i cookie?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    62

    Re: Select dinamiche con solo php

    Originariamente inviato da l'anna
    E' possibile creare select dinamiche, che emulino l'onchange di js, solo con php?
    Senza ricorrere ad ajax? O solo con php ed essenziale javascript?

    Ad esempio, ho un form dove selezione il cantante, e in base a tale scelta caricare la select dei dischi relativi? Ah, i dati li recupero da db con mysql.
    Questo vorrebbe dire caricare preventivamente sulla pagina tutte le canzoni possibili di tutti i cantanti, e di nasconderle o mostrarle a seconda dei casi. Vedi un po' se non è il caso di usare un po' di AJAX al suo posto.

    C'è anche un altro problema.
    Il fatto è che il select delle canzoni avrà un certo attributo name, che magari vorrai tenere fisso, che so: <select name="Canzone">...</select>. Ma se vuoi mettere preventivamente tutte le opzioni sulla pagina, devi creare un select per ogni cantante, ma... che name gli dai?

    L'alternativa è quella di usare un'unico select con tutte le canzoni di tutti i cantanti, e di mettere l'attributo di stile display: none sulle option da nascondere, ma questo metodo non funziona con Internet Explorer.

    Originariamente inviato da MicheleWT
    assolutamente si,
    se usi jquery (o analoghi), sull'onchange della select puoi dare hide() e show() a un div che contiene la select concatenata relativa.
    Ma dai, lo puoi fare senza problemi con le classi di stile
    Comunque non mi piace come soluzione, per quanto detto prima.

    Originariamente inviato da alcio74
    Una tecnica ci deve essere..... ... i cookie?
    In che senso?
    Vorresti settare un cookie con tutte le canzoni?
    Si può fare, ma bisogna ricordare che ci sono dei limiti e che i cookie si possono disabilitare (può essere un problema nel caso avesse in mente un sito aperto al pubblico).

    Per rispondere all'anna, direi che un bel lavoro non si può fare senza AJAX e senza un certo supporto Javascript. È chiaro che, il lavoro di visualizzazione delle opzioni giuste lo deve fare il client, quindi Javascript serve per forza.

    L'idea degli iframe si può accettare ma, come fatto notare, a quel punto bisogna prendere le informazioni dall'iframe e riportarle nel documento originario. Ma a questo punto è molto meglio usare l'AJAX, che è nato proprio in risposta al proliferare di iframe nascosti per caricare informazioni dinamiche.

    Se invece si opta per caricare le informazioni preventivamente sulla pagina, o si crea un select per ogni cantante, con i problemi visti prima; o crea un solo select con tutte le option e si lavora coi fogli di stile, con i problemi detti prima con IE; o si usa un altro modo per caricare le informazioni relative.
    I cookie sono un'idea, ma siamo limitati in lunghezza. Poi ci vuole un Javascript che recuperi le informazioni dal cookie e popoli il select delle canzoni in base al cantante.
    In alternativa, e questa è la mia proposta, in PHP si crea un tag <script> dove ci si mette brutalmente il codice che cambia il select delle canzoni, stile tipo JSON, così:

    codice:
    <select name="Cantante" onchange="cambiaCantante(this)">
    	<option value="Elvis">Elvis Presley</option>
    	<option value="Jacko">Michael Jackson</option>
    	...
    </select>
    <script type="text/javascript">
    function cambiaCantante(select) {
    	var selectCanzoni = document.getElementsByName("Canzone")[0];
    	selectCanzoni.innerHTML = "";
    	var canz = {
    		"Elvis": [["AYLT", "Are you lonesome tonight?"], ["JR", "Jailhouse rock"]],
    		"Jacko": [["SM", "Smooth criminal"], ["T", "Thriller"]]
    	}(select.value);
    	for (var i=0;i<canz.length;i++) {
    		var o=document.createElement("option");
    		o.calue=canz[i][0];
    		o.text=canz[i][1];
    		selectCanzoni.add(o,null);
    	}
    }
    </script>
    <select name="Canzone"></select>

  8. #8

    Re: Re: Select dinamiche con solo php

    Originariamente inviato da MaxArt
    In che senso?
    Vorresti settare un cookie con tutte le canzoni?
    Si può fare, ma bisogna ricordare che ci sono dei limiti e che i cookie si possono disabilitare (può essere un problema nel caso avesse in mente un sito aperto al pubblico).
    Ma noooooo!
    Intendevo di salvarci solo le variabili che vanno passate alla finestra in iFrame.
    So da me che era un'idea assurda, ma visto che l'anna sembra così sicura di non volere usare ajax, ho pensato che magari si potrebbe fare qualcosa di alternativo!

    Tutto qui!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    bah dipende da quanta roba vuole inserire, se i dati sono molti conviene usare ajax.
    Ma forse non lo vuole usare per motivi suoi.

    Gli iframe sono qualcosa da cui tenersi lontani
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  10. #10
    Originariamente inviato da alcio74
    A mio modesto parere, usare jquery senza sfruttarne le potenzialità Ajax, è come comprarsi un SUV per andare a fare la spesa nel negozietto vicino casa!

    L'unico modo che mi viene in mente, per fare quello che serve a te senza javascript, è usare gli iFrame..... e Dio mi perdoni se ho nominato questa tecnica!
    il SUV serve esclusivamente a quello.....a far vedere al vicino di casa che ce l'hai "più grosso".
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

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.