[PHP] Checkbox in tabella

  • Creatore Discussione Creatore Discussione Coby
  • Data di inizio Data di inizio

Coby

Nuovo Utente
28 Lug 2018
44
1
8
Ciao ha tutti grazie ai vostri suggerimenti ho creato una tabella prove dove posso eluminare record.
Ora devo fare un ulteriore aggiunta
E cioè mettere una checkbox ad ogni riga della tabella cosi da poter selezionare più record e poter eliminare in un solo colpo
Ecco il codice
PHP:
<?php
include 'database.php';
session_start();
if (!isset($_SESSION['username'])) {
    header('Location: login.php');
    exit();
}
if ($_SESSION['type'] != "admin") {
    echo "non sei admin";
    exit();
}
if ($_SESSION['type'] == "admin") {
  
 if(isset($_GET['remove']) ){  
  $id = mysqli_real_escape_string($con,$_GET['remove']);
  mysqli_query($con, "DELETE FROM `prove` WHERE `id`='$id'") or die(mysqli_error($con));
 }
  <?php
      if ($_SESSION['type'] == "admin") {
      $result1 = mysqli_query($con, "SELECT * FROM `prove` WHERE 1") or die(mysqli_error($con));
        while($row1 = mysqli_fetch_assoc($result1)){    
          echo' <form action="gestfile.php" method="post" id="f'.$row["id"].'"></form>';
         }
      echo'
      <div class="card mb-3">
        <div class="card-header font-weight-bold">
          <i class=""></i>Test richiesti</div>
        <div class="card-body">
          <div class="table-responsive">
            <form action="gestfile.php" method="post" id="tf"></form>                    
            <table class="table table-bordered table-hover"  id="dataTable" width="100%" cellspacing="0">
              <thead>
                <tr>
                  <th>Id Test</th>
                  <th>Creatoda</th>
                  <th>Data</th>
                  <th>Username</th>
                  <th>Password</th>
                  <th>Rimuovi</th>
                </tr>
              </thead>            
              <tfoot>              
              <tbody>
               ';
                $result = mysqli_query($con, "SELECT * FROM `prove` WHERE 1") or die(mysqli_error($con));
                while($row = mysqli_fetch_assoc($result)) {
                    echo'<td>'.$row["id"].'</td>';
                    echo'<td>'.$row["creatoda"].'</td>';
                    echo'<td>'.$row["data"].'</td>';
                    echo'<td>'.$row["username"].'</td>';
                    echo'<td>'.$row["password"].'</td>';
                    echo'
                    <td><a href="#" class="fa fa-trash" style="font-size:24px;color:grey" data-toggle="modal" data-target="#f'.$row["id"].'"></a>
                      <div class="modal fade" id="f'.$row["id"].'" tabindex="-1" role="dialog" aria-labelledby="f'.$row["id"].'" aria-hidden="true">
                      <div class="modal-dialog" role="document">
                        <div class="modal-content">
                          <div class="modal-header">
                            <h5 class="modal-title" id="f'.$row["id"].'">Rimozione</h5>
                            <button class="close" type="button" data-dismiss="modal" aria-label="Close">
                              <span aria-hidden="true">×</span>
                            </button>
                          </div>
                          <div class="modal-body">Sei sicuro di voler rimuovere '.$row["username"].'?</div>
 <div class="modal-footer">
                            </div>
                          <div class="modal-footer">
                            <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
                            <a class="btn btn-primary" href="gestfile.php?remove='.$row["id"].'">Rimuovi</a>
                          </div>
                        </div>
                      </div>
                    </div>
                    </td>
                    ';
                    echo'</tr>';
                }
                echo'            
              </tbody>
            </table>
          </div>
        </div>
      </div>  
    </div>
    ';
    }
    ?>
Codice per velocizzare e se qualcuno puo gia modificare ne sarei grato.
 
Ultima modifica:
Nessuno sa rispondere?
Non è che nessuno sa risponderti! Il fatto è che nessuno ancora non ha voluto risponderti per tanti motivi loro!
Devi aver pazienza! Tanto sollecitare non serve a nulla! Quando qualcuno vorrà rispondere lo farà di sua iniziativa.
 
Ciao Coby,
prova questo codice (ho preferito riscriverlo ex-novo; ovviamente è molto stilizzato)

VISUTAB.PHP

PHP:
<?php

include('conn.php');

//************stringa di connessione al DB*************

$connessione = new mysqli($host, $user, $password, $db);

// verifica su eventuali errori di connessione
if ($connessione->connect_errno) {
    echo "Connessione fallita: ". $connessione->connect_error . ".";
    exit();
} else {
    //echo 'Connessione col DB correttamente riuscita!!!!<br>';
}

if (!$result = $connessione->query("SELECT * FROM UTENTI")) {
    echo "Errore della query: " . $connessione->error . ".";
} else {
    // conteggio dei record
    if ($result->num_rows > 0) {
        // conteggio dei record restituiti dalla query
        echo '<form action="elirec.php" method="get">';
        while($row = $result->fetch_array(MYSQLI_ASSOC)) {
              $id = $row['ID'];
              $utente = $row['UTENTE'];
              $nazione = $row['NAZIONE'];  
           
             echo '<input type="checkbox" name="id[]" value="'.$id.'">';
             echo "$id $utente $nazione <br>";
        }
        echo '<br><br><input type="submit" name="invia" value="Elimina record">';
        echo '</form>';
    }
}
// liberazione delle risorse occupate dal risultato
$result->close();
?>

.....elirec.php

PHP:
<?php
$id = $_GET['id'];
$rec = 0;

$lung = count($id);

//LEGGE LA TABELLA E CANCELLòA I RECOORD

include('conn.php');

//************stringa di connessione al DB*************

$connessione = new mysqli($host, $user, $password, $db);

// verifica su eventuali errori di connessione
if ($connessione->connect_errno) {
    echo "Connessione fallita: ". $connessione->connect_error . ".";
    exit();
} else {
    //echo 'Connessione col DB correttamente riuscita!!!!<br>';
}

for ($ind=0;$ind<$lung;$ind++) {
     if (!$result = $connessione->query("DELETE FROM UTENTI WHERE ID='$id[$ind]'")) {
         echo "Errore della query: " . $connessione->error . ".";
     } else {
         $rec++;
     }
}
echo $rec.' record cancellato/i';
?>

Non ho messo conn.php: c'erano le variabili di connessione $host $db ecc.
Puoi anche vedere il risutato a questo link
 
Ultima modifica:
Ciao Zorro intanto grazie 1000 per il tuo aiuto sei stato davvero gentilissimo
Ho fatto come hai detto e ci sono riuscito grazie infinite!!!!
 

Discussioni simili