Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema con checkbox multiple

    Ciao a tutti! Scusate la mia poca abilità nella programmazione, vi inoltro un problema su cui non riesco ad andare avanti magari per voi è molto semplice...

    Ho un campionatino di calcio a 5 e sto facendo in modo di poter selezionare i giocatori per la convocazione
    Ho estrapolato quindi tramite query i giocatori dal DB e ora tramite chekbox vorrei selezionare solo quelli da convocare. Ho quindi fatto un form con i checbox e uno script per selezionarli tutti poi vengono inviati ad una funzione sceltaview nella quale dovrei vedere quelli selezionati, ma non funziona...
    Potete darmi una mano. Grazie...


    FORM:
    $query = mysql_query("SELECT * FROM note_gara WHERE nome_squadra='$nome_squadra' ORDER BY id DESC");
    echo"<script language=\"JavaScript\" type=\"text/javascript\">
    function selectAll() {
    var coll = document.getElementsByTagName(\"INPUT\");
    if (coll!=null) {
    for (i=0; i<coll.length; i++) {
    if (coll[i].type == 'checkbox' && coll[i].name != 'allbox') {
    if (coll[0].checked==true){
    coll[i].checked = true;
    }else{
    coll[i].checked = false;
    }
    }
    }
    }
    }

    </script>

    <form method=\"post\" action=\"note_gara.php?task=sceltaview&nome_squadr a=$nome_squadra\" name=\"cutlist\">(Seleziona tutti
    <input type=\"checkbox\" name=\"allbox\" value=\"all\" onclick=\"selectAll(true);\" />)

    ";
    while ($row = mysql_fetch_array($query))
    {
    $nome_squadra = $row["nome_squadra"];
    $id = $row["id"];
    $ruolo = $row["ruolo"];
    $nominativo = $row["nominativo"];
    $capitanovice = $row["capitanovice"];
    $tessera = $row["tessera"];
    $nascita = $row["nascita"];
    $documento = $row["documento"];
    $stato = $row["stato"];
    echo " <input type=\"checkbox\" name=\"nominativo[]\" id=\"nominativo\" value\"$nominativo\">$nominativo";
    }

    echo "<input type=\"submit\" name=\"add\" value=\"Stampa Note\">
    </form>";



    Funzione sceltaview:



    function sceltaview($nominativo)
    {


    $nominativo=$_POST['nominativo'];
    echo "$nominativo";
    foreach ( $nominativo as $chiave => $valore ) { $array_nominativo .= $valore . " " ; } $message .= "Nome: " . $array_nominativo . "
    " ;
    echo "$message";

    }

  2. #2
    Così... dando un'occhiata veloce... manca un =
    codice:
    value\"$nominativo\">
    deve essere
    codice:
    value=\"$nominativo\">
    Poi... avere più elementi input tutti con lo stesso id non è corretto... e se non ti serve per altre cose, puoi anche non metterlo.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  3. #3

    Ho tolto l'= ma devo aver fatto altri errori

    Ciao e grazie tanto per la disponibilità, ho provato a mettere l'=

    ti posto il codice:



    $nome_squadra = $_GET['nome_squadra'];
    $query = mysql_query("SELECT * FROM note_gara WHERE nome_squadra='$nome_squadra' ORDER BY id DESC");
    echo"<script language=\"JavaScript\" type=\"text/javascript\">
    function selectAll() {
    var coll = document.getElementsByTagName(\"INPUT\");
    if (coll!=null) {
    for (i=0; i<coll.length; i++) {
    if (coll[i].type == 'checkbox' && coll[i].name != 'allbox') {
    if (coll[0].checked==true){
    coll[i].checked = true;
    }else{
    coll[i].checked = false;
    }
    }
    }
    }
    }

    </script>

    <form method=\"post\" action=\"note_garascegli.php?task=sceltaview&nome_ squadra=$nome_squadra\" name=\"cutlist\">(Seleziona tutti
    <input type=\"checkbox\" name=\"allbox\" value=\"all\" onclick=\"selectAll(true);\" />)

    ";
    while ($row = mysql_fetch_array($query))
    {
    $nome_squadra = $row["nome_squadra"];

    $nominativo = $row["nominativo"];

    echo " <input type=\"checkbox\" name=\"nominativo[]\" id=\"$nominativo\" value=\"$nominativo\">$nominativo
    ";
    }

    echo "<input type=\"submit\" name=\"add\" value=\"Stampa Note\">
    </form>";





    La funzione sceltaview:


    function sceltaview()
    {
    $nominativo=$_POST['nominativo'];
    array($nominativo);
    foreach($nominativo as $a){
    $nominativo= $a;
    echo "$nominativo";

    }


    Mi tira fuori il conto giusto dei giocatori che ho selezionato, ma come array non con i nomi, nel senso che se seleziono tre giocatori mi da tre scritte array e non tre nomi. Inoltre se tologo dall'input del checkbox il value=\"nominativo\" me li imposta tutti come array on

  4. #4

    Perchè lo stesso id?

    Perchè lo stesso id? in teoria l'id=\"nominativo\" dovrebbe essere diverso per ogni giocatore ovvero il nominativo corrispondente al giocatore, non dovrebbe essere per tutti uguale, no?

  5. #5
    Codice PHP:
    function sceltaview()
    {
        foreach (
    $_POST['nominativo'] as $a) echo $a;

    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  6. #6

    Grazie ora funziona...

    Perfetto, grazie ora funziona e riporta i nomi selezionati.
    Anche un orologio rotto una volta al giorno c'ha ragione...

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.