Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36

Discussione: Javascript + php + sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    62

    Javascript + php + sql

    Di tutto e di più
    Veniamo al dunque, ho questo codice:

    codice:
    <?php
    while($rigap=mysql_fetch_array($my_p)){
      echo "<td><input type=\"checkbox\" name=".$rigap["id_calciatore"]." onClick=\"return Selez()\">".$rigap["nome"]."</td>";
    }
    ?>
    In pratica con una query di selezione fatta in precedenza, tramite la fetch array mi ricava i vari nomi di alcuni calciatori, e mi crea tanti checkbox quanti sono i calciatori.

    Dato che devo imporre all'utente di non selezionare + di "x" calciatori (l'x verrà passato tramite valore php, mettiamo il caso sia 5).
    Quindi non voglio che vengano cliccati + di 5 checkbox, googlando un po ho trovato questo codice:
    LINK ALLA PAG.
    codice:
    <SCRIPT LANGUAGE="javascript">
    
    function KeepCount() {
    
    var NewCount = 0
    
    if (document.joe.dog.checked)
    {NewCount = NewCount + 1}
    
    if (document.joe.cat.checked)
    {NewCount = NewCount + 1}
    
    if (document.joe.pig.checked)
    {NewCount = NewCount + 1}
    
    
    if (NewCount == 2)
    {
    alert('Pick Just Two Please')
    document.joe; return false;
    }
    }
    </SCRIPT>
    Bene, a me servirebbe che al posto dei vari pig,cat,dog ci fosse il valore del checkbox, ovvero: ".$rigap["id_calciatore"]."
    Come faccio per controllare tutti i valori che crea il ciclo while?
    Spero si sia capito il problema, grazie

    P.S. Accetto anche soluzioni alternative, mi serve solo controllare quanti calciatori seleziona.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Nello stesso ciclo preparati anche una variabile string nella quale concatenerai i vari id_calciatore (mi auguro inizino tutti con una lettera) separandoli con una virgola, quindi in javascript creerai un array:

    tutti_id = ("<? qui ci scrivi la tua variabile ?>" ).split(",");

    ora potrai scorrere la collezione degli elements del tuo form contando i checkbox selezionati:

    var quanti=0;
    for(var i=0;i<tutti_id.length;i++) {
    quanti += (document.tuoForm.element[tutti_id[i]].checked)?1:0;
    }

    Poi per deselezionare l'ultimo cliccato in caso di superamento provaci tu, eventualmente siamo qui
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    62
    Originariamente inviato da br1
    Nello stesso ciclo preparati anche una variabile string nella quale concatenerai i vari id_calciatore (mi auguro inizino tutti con una lettera) separandoli con una virgola, quindi in javascript creerai un array:

    tutti_id = ("<? qui ci scrivi la tua variabile ?>" ).split(",");

    ora potrai scorrere la collezione degli elements del tuo form contando i checkbox selezionati:

    var quanti=0;
    for(var i=0;i<tutti_id.length;i++) {
    quanti += (document.tuoForm.element[tutti_id[i]].checked)?1:0;
    }

    Poi per deselezionare l'ultimo cliccato in caso di superamento provaci tu, eventualmente siamo qui
    Amh... in teoria sono degli id, quindi semplicemente dei numeri.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Orsoh
    Amh... in teoria sono degli id, quindi semplicemente dei numeri.
    Allora e' molto piu' complicato... dovrai anteporre un prefisso di una o piu' lettere
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    62
    Mh ok, nel frattempo sto ragionando su un'altra possibile soluzione grazie in ogni modo

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ovviamente scherzavo

    ... ciclo di lettura php ...
    echo "<td><input type=\"checkbox\" name="xyz.$rigap["id_calciatore"]." onClick=\"return Selez()\">".$rigap["nome"]."</td>";
    ...

    e quindi...

    quanti += (document.tuoForm.elements['xyz'+tutti_id[i]].checked)?1:0;

    occhio: mi ero dimenticato la s di elements
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    62
    Non ho ben capito cosa vuoi fare, per ora sto procedendo per tentativi e piccoli passetti.
    Allora nel frattempo ho cambiato il valore dentro il name.

    codice:
    <?php
    		$i=1;	#Variabile per dare i nomi al checkbox
    		while($rigap=mysql_fetch_array($my_p)){
    			echo "<td><input type=\"checkbox\" name=\"".$i."\" onChange=\"return Selez()\">".$rigap["nome"]."</td>";
    			$i++;
    		}
    ?>
    Così mi è + semplice da controntare, in pratica vengono dei numeri da 1 a tot.

    Poi per il momento sto cercando di capire il perchè non mi funziona il js, neanche il controllo del check.

    codice:
    <SCRIPT LANGUAGE="javascript">
    function Selez() {
    if (document.sq.1.checked)
    alert('prova');
    }
    </script>
    Sai spiegarmi dove sbaglio?

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Mi sembra ovvio... il name e l'id non possono essere numeri... altrimenti a che scopo complicarsi la vita?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    62
    Originariamente inviato da br1
    Mi sembra ovvio... il name e l'id non possono essere numeri... altrimenti a che scopo complicarsi la vita?
    Ok, allora ho cambiato il nome in questo modo:

    codice:
    echo "<td><input type=\"checkbox\" name=\"Por".$i."\" onChange=\"return Selez()\">".$rigap["nome"]."</td>";
    Quindi verrà por1 por2 por3 por4 ecc.

    Il js di prima funziona, ora voglio fare in modo che non ne clicchi + di tot.
    Il mio tot è passato da una variabile, solo che questa variabile viene settata non inizialmente ma dopo un php_self della pagina stessa (in pratica si sceglie il valore da un menù a tendina e successivamente viene settata questa varabile) quindi mi da l'errore all'inizio visto che non la trova subito.

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Che e' php_self? javascript?

    Se la variabile non e' settata non fargli fare il controllo...

    var pippo = <?nonsocomesifamettiquiilvaloreoppure0?>;
    if (pippo>0) {
    // esegui il controllo
    }
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.