Problema con checkbox multiple

blips

Nuovo Utente
12 Mar 2013
29
1
3
Ciao a tutti, vi espongo un problema che proprio non riesco a risolvere sperando in un vostro aiuto.

Ho una serie di checkbox all'interno di un ciclo while che in base alla selezione inviano il valore 1 o 0 a un campo di una tabella del mio database:

FORM
HTML:
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">   
               <table width="100%">                 
  <tr class="title">
    <td width="50%" class="head">Nome Asta</td>    
    <td width="20%" class="head">tipo</td>    
    <td width="10%" class="head">attiva</td>
  </tr>  
<?php do { ?>  
    <tr>
      <td class="table1"><?php echo $row_dataauctionfree['fauctionName']; ?></td>
      <td class="table1"><?php echo $row_dataauctionfree['fauctionType']; ?></td>      
      <td class="table1lastfield"><input type="checkbox" onclick="document.forms.form2.submit();" name="fauctionActive[]" value="<?php echo $row_dataauctionfree['id']; ?>"
<?php if (!(strcmp(htmlentities($row_dataauctionfree['fauctionActive'], ENT_COMPAT, 'utf-8'),1))) {echo "checked=\"checked\"";} ?> /></td>
    </tr>   
    <?php } while ($row_dataauctionfree = mysql_fetch_assoc($dataauctionfree)); ?>
</form>
                </table>

QUERY UPDATE

PHP:
if (isset($_POST ["fauctionActive"])) {
	     $ids = $_POST ['fauctionActive'];  
		 $updateSQL = ("UPDATE f_auctionfree set fauctionActive=1 WHERE id IN ('".implode("','",$ids)."')");
		 mysql_select_db($database_config, $config);
  $Result1 = mysql_query($updateSQL, $config) or die(mysql_error());
		 $updateSQL2 = ("UPDATE f_auctionfree set fauctionActive=0 WHERE id NOT IN ('".implode("','",$ids)."')");		
		  mysql_select_db($database_config, $config);
  $Result1 = mysql_query($updateSQL2, $config) or die(mysql_error());
$updateGoTo = "auctionsv_list.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
  }

Ora, il mio problema è questo: tutto funziona alla perfezione, ma rimane sempre selezionata una checkbox. Cioè, in pratica, non riesco ad avere tutte le checkbox deselezionate.

Penso che questo derivi dal fatto che il submit del form avviene tramite la selezione del checkbox(onclick="document.forms.form2.submit();").

Se infatti levo il submit automatico e metto il normale bottone di invio tutto va alla perfezione.

Come risolvo?
 
Ultima modifica:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Mi sembra tutto eccessivamente complicato e caotico. In particolare mi sfugge l'utilità dell'invio automatico: così puoi selezionare solo una checkbox. Ecco come l'avrei fatto io (semplificato):
PHP:
<?php

// ...

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $ids = isset($_POST['ids']) ? $_POST['ids'] : array();

    // converto tutti gli ID in interi per evitare SQL injection
    $ids = array_map(function($id) {
        return (int)$id;
    }, $ids);

    $idsSql = implode(', ', $ids);

    $sql1 = "UPDATE TABLE f_auctionfree SET fauctionActive = 1 WHERE id IN ({$idsSql})";
    $sql2 = "UPDATE TABLE f_auctionfree SET fauctionActive = 0 WHERE id NOT IN ({$idsSql})";

    // ...
} else {
    // ...

    echo <<<EOF
<form action="{$_SERVER['REQUEST_URI']}" method="post">
    <table>
        <thead>
            <tr>
                <th>Nome</th>
                <th>Tipo</th>
                <th>Attiva</th>
            </tr>
        </thead>

        <tbody>
EOF;

    foreach ($auctions as $auction) {
        echo <<<EOF
            <tr>
                <td>{$auction['fauctionName']}</td>
                <td>{$auction['fauctionType']}</td>
                <td><input type="checkbox" name="ids[]" value="{$auction['id']}"></td>
            </tr>
EOF;
    }

    echo <<<EOF
        </tbody>
    </table>
EOF;
}
Inoltre la libreria mysql è deprecata di fatto. Usa mysqli o PDO.
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Problema checkbox checked con valore prelevato da db PHP 1
P problema con checkbox PHP 5
A problema con checkbox funzionante solamente al secondo "tentativo" Javascript 12
F Problema urgente con checkbox, array e explode PHP 10
D problema con checkbox e input text PHP 6
G problema checkbox con mdb asp Classic ASP 8
P Problema con CheckBox Javascript 2
F problema con convalida form e checkbox Javascript 1
P [PHP] problema script con checkbox! PHP 0
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5

Discussioni simili