[PHP] Gestione CheckBox

ientii

Nuovo Utente
24 Mag 2017
1
0
1
27
Ciao a tutti, sto creando un sito gestionale per professori come progetto per la maturità dov'è possibile attraverso un database visualizzare classi, informazioni professore e alunni;
come ultima funzione dovrei permettere la creazione di verifiche, mi spiego meglio:
ho un database con all'interno varie domande, queste domande le stampo dentro una tabella grazie a un ciclo while che cicla in base al risultato della query, sempre dentro la tabella di fianco a ogni domanda ho messo anche una checkbox che mi dovrebbe permettere di selezionare le varie domande e tramite un pulsante di stamparle in un'altra tabella, allego il codice che mi dovrebbe permettere la gestione dei button:

Codice PHP:
PHP:
if(isset($_POST['search2'])){    foreach ($_POST['messaggi'] as $key => $m_id)
{
   $query = "SELECT domande.* FROM domande WHERE id_domanda = $m_id";   $search_result1 = filterTable($query);}
}

invece la checkbox l'ho compilata cosi'

Codice PHP:

PHP:
<td> <input type="checkbox" name="messaggi[]"  value="<? echo $id ?>"> </td>

quest'altro è il codice che dovrebbe generare la tabella dopo la selezione

Codice PHP:
PHP:
 <?php while($row = mysqli_fetch_array($search_result1)):?>                <tr>                    <td><?php echo $row['tipologia'];?></td>                    <td><?php echo $row['descrizione'];?></td>                    <td><?php echo $row['argomento'];?></td>            


                </tr>                <?php endwhile;?>

la tabella da cui seleziono le domande è creata cosi':

Codice PHP:

PHP:
if(isset($_POST['search'])){    $valore_da_cercare = $_POST['valore_da_cercare'];    // search in all table columns    // using concat mysql function    $query = "SELECT domande.* FROM domande, elencano, professori WHERE elencano.id_domanda = domande.id_domanda AND elencano.id_professore = professori.id_professore AND professori.username ='$username' AND domande.argomento LIKE '%".$valore_da_cercare."%'";    $search_result = filterTable($query);
} else {   $query = "SELECT domande.* FROM domande, elencano, professori WHERE elencano.id_domanda = domande.id_domanda AND elencano.id_professore = professori.id_professore AND professori.username ='$username' ;";   $search_result = filterTable($query);}

e infine questo

Codice PHP:
PHP:
<table>                <tr>                    <th>Tipologia</th>                    <th>Descrizione</th>                    <th>Argomento</th>            <th>Seleziona</th>


                </tr>
                 <?php while($row = mysqli_fetch_array($search_result)):?>                <tr>                    <td><?php echo $row['tipologia'];?></td>                    <td><?php echo $row['descrizione'];?></td>                    <td><?php echo $row['argomento'];?></td>            <td> <input type="checkbox" name="messaggi[]"  value="<? echo $id ?>"> </td>


                </tr>                <?php endwhile;?>            </table>

La parte del search mi permette di cercare una classe, adesso quando avvio il codice mi compaiono due tabelle, una con le checkbox e una senza ed entrambe riempite con le stesse domande, in teoria quando seleziono le domande e schiaccio il bottone "Crea" la seconda tabella dovrebbe aggiornarsi facendo vedere solo le domande selezionate.

I miei problemi sono: la seconda tabella in origine dovrebbe comparire vuota e solo in seguito alla selezione riempirsi, cosa che comunque non succede, appena seleziono le domande e invio mi restituisce il seguente errore:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\domande.php on line 117

Mi scuso in anticipo per gli eventuali errori nel codice, � solo il primo anno che studio php, vi sarei molto grato se mi aiutaste a trovare l'errore
 
Ciao,
Forse può esserti d'aiuto o di spunto.

Pag. 1
PHP:
<?php
$query = mysql_query("SELECT * FROM domande");
$quantedomande = mysql_num_rows($query);
?>
<div>
    <form action="pag2.php" method="POST">
        <fieldset>
            <legend><span style="font-size: 12px; color: #F00;">Seleziona almeno una domanda! - </span>Lista Domande:</legend>
            <table>
            <?php
            for($i=0;$i<$quantedomande;$i++){
                $rs= mysql_fetch_row($query);
                $id= $rs[0];
                $domanda=$rs[1];
                ?>
                <tr>
                    <td>
                        <input type="checkbox" name="domande[]" value="<?php echo $id; ?>"/><?php echo $domanda; ?>
                    </td>
                </tr>
                <?php
            }
            ?>
            </table>
        </fieldset>
        <br>
        <input type="submit" name="submit" value="Carica Domande">
    </form>
</div>

Pag. 2
PHP:
<?php
    if(isset($_POST['domande'])){
        $domande = $_POST['domande'];
        $quante_domande = count ($domande);
        ?>
        <fieldset>
            <legend>Domande Selezionate:</legend>
        <?php
        for($i=0; $i < $quante_domande; $i++){
            $query = mysql_query('SELECT * FROM domande WHERE id="'.$domande[$i].'"');
            $rs= mysql_fetch_row($query);
            echo "ID: ".$rs[0]." Domanda: ".$rs[1]."<br>";
        }
        ?>
        </fieldset>
        <br>
        <button onclick="window.history.back()">Cambia Domande</button>
        <?php
    }else{
        echo "Nessuna Domanda Selezionata";
        echo "<meta http-equiv='refresh' content='1;URL=index.php'>";
    }
?>
 

Discussioni simili