Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Non stampo array numerico preso da checkbox

    Ciao a tutti...

    DB MySql con tabella genere, campo id_genere classico numerico e genere testuale.

    Devo checcare uno o più ID e cancellarli...

    Ho il classico form tabellare che recupera ID da checbox

    codice:
    $sql = "SELECT id_genere, genere FROM genere ORDER BY genere ASC";
    			$result = @$mysql->query($sql);
    				  
    			if(@$result->num_rows > 0) {
    				  
    			?>
            	<form id="cancellagenere" name="cancellagenere" method="post" action="newgenere.php?azione=cancella">
            	<table>
                <caption>Generi</caption>           
                      <tr>
                        <td>ID</td>
                        <td>ID</td>
                        <td>GENERE</td>
                      </tr>
                      
                 <?php
    			 
    			 while($row = $result->fetch_array(MYSQLI_ASSOC)) {
    			 
    			 {
    				
    				
    			 
    			 ?>     
                      <tr>
                        <td><input type="checkbox" name="id_genere[]" value="<?php $row['id_genere']; ?>"></td>
                        <td><?php echo $row['id_genere']; ?></td>
                        <td><?php echo $row['genere']; ?></td>
                      </tr>
                      
                 <?php }
    			 }
    			 ?>
    			 
                    </table>
    E nella pagina recupero con

    codice:
    $id = $_POST['id_genere'];
                    $i=0;
                    while(list($key,$value) = each($id))
                    {
                    
                        $query = "DELETE FROM genere WHERE id= $id";
    					
    					echo $query;
    Ma anche se faccio

    codice:
    $id_genere = $_POST['id_genere'];
    	
       		echo "Elementi selezionati: ".count($id_genere)."
    ";
    
       		echo "-> ".reset($id_genere);
    
       		while( $elemento = next($id_genere) ) echo "-> $elemento 
    ";
    Ottengo sempre lo stesso risultato:
    mi stampa X volte la query (primo caso) dove X uguale al numero dei check che ho checcato oppure nel secondo caso mi stampa correttamente che l'array è di X elementi ma...... l'id non passa.... tanto che la sql si ferma con "delete from genere where id =" e stop...

    Per favore... help....

  2. #2
    <?php $row['id_genere']; ?>

    non stampi l'id. manca echo

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Intanto grazie per la risposta.
    Fammi capire: intendevi nell'array delle checkbox, giusto?
    Infatti ora cosi me lo trasporta.

    Però scusa... non capisco il perchè.... Cioè, echo non serve per stampare a video?

    grazie ancora!

  4. #4
    Originariamente inviato da webtemplum

    Però scusa... non capisco il perchè.... Cioè, echo non serve per stampare a video?
    ecco, appunto.

    Per stampare a video deve essere inserito nell'html e quindi si deve trovare nel form presso il client browser. Cosi' senza echo rimane una variabile nello script php lato server che verra' persa al termine dello script.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    ti ringrazio per la risposta!
    buona giornata!

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.