elimina php mysql

giuseppe_123

Utente Attivo
8 Set 2016
53
0
6
25
Sto creando un tasto per eliminare dei record presenti in una riga riconducibili a un id
Perchè non mi funziona?
Ho utilizzato var_dump per vedere se prende l'id quando schiaccio elimina

PHP:
<button class='bottone' name='elimina[$row[0]]' title='elmina utente' type='submit'>
<img src='http://127.0.0.1/wordpress/wp-content/uploads/2016/07/closeHover.png' width='25px'  alt='elimina'>
</button>

if(isset($_POST['elimina']))
{                                       //----------problema recupero id

    $elimina= $_POST["elimina"];
    var_dump($elimina);





        $delete = "DELETE FROM persone_inserite WHERE ID=".$elimina;
        if (!mysqli_query($conn, $delete)) {
            echo "<script type='text/javascript'> alert('Errore durante l eliminazione')";
        }

}
 
metti questo
PHP:
echo "<pre>".print_r($_REQUEST,true)."</pre>";

all'inizio della pagina e vedi cosa ti restituisce
 
ciao
una cosa: quello che hai scritto è tutto il codice per trasmettere il valore dell'id?
se è così non vedo nulla che trasmetta quel valore
 
@giuseppe_123, ti conviene spiegare bene il problema,
soprattutto che stai modificando ..... in wordpress
altrimenti non otterrai nessun risultato, vedi thread "tasto delete" o simile, appena passato

da ciò che ho capito, il problema dovrebbe essere a monte della delete sul db,
hai scritto nel thread citato che non arrivano i valori ....
 
ciao
una cosa: quello che hai scritto è tutto il codice per trasmettere il valore dell'id?
se è così non vedo nulla che trasmetta quel valore

ti scrivo tutto il codice
PHP:
<?php /* Template name: tabella mysql*/
get_header();

?>
<html>
<head>
    <title>Table Style</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; width=device-width;">
    <link rel="stylesheet" type="text/css" href="tab.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

</head>

<body>

<div class="contenitore_tabelle">
<div    class="tab_pres_responsive">
    <form action='' method='POST' > <!-- IL FORM SARÀ TUTTA LA TABELLA -->
        <table class="table-fill" class="scrollable">

            <thead>
            <tr>
                <th class="intest1" colspan="4">DATI</th>
                <th class="intest1" colspan="2">REGISTRO</th>
                <th class="intest" rowspan="2">
                    <button  class="bottone" name="bottone" title="conferma presenze" type="submit">
                        <img src="http://127.0.0.1/wordpress/wp-content/uploads/2016/07/tick-305245_640.png" width="30px" height="30px" alt="conferma">
                    </button>
               </th>
            </tr>
                <tr>
                    <th class="intest">ID</th>
                    <th class="intest">NOME</th>
                    <th class="intest">COGNOME</th>
                    <th class="intest">INFO</th>

                    <th class="intest">PRESENZA</th>
                    <th class="intest">ASSENZA</th>

                <span class="show">
                           <!--  <th class="int more hidden">DATA DI NASCITA</th>
                            <th class="int more hidden">CODICE FISCALE</th>
                            <th class="int more hidden">LUOGO DI NASCITA</th> -->
                            </span>
            </tr>
            </thead>

            <tbody  class="table-hover">
            <?php
            include('conn_selez_db.php');
            $query = "SELECT * FROM persone_inserite ORDER BY id";
            $result = mysqli_query($conn,$query) or die(mysqli_error($conn));
            while($row = mysqli_fetch_array($result)) {
                echo "
                                <tr class='tabr'>
                                    <td class='tab'>" . $row['0'] . "</td>
                                    <td class='tab'>" . $row['1'] . "</td>
                                    <td class='tab'>" . $row['2'] . "</td>
                                    
                                    <td class='tab'>
                                    <span class='main" . $row['0'] . " info'>
                                    <img id='info' src='http://127.0.0.1/wordpress/wp-content/uploads/2016/09/info.png' alt='info' title='info'>
                                    </span>
                                    </td>
                                    
                                    <td class='tab'>
                                        <input class='radio' id='ass$row[0]' type='radio'  name='registro[$row[0]]' value='assente'>
                                        <label for='ass$row[0]'><strong>Assente</strong></label>
                                    </td>
                                      <td class='tab'>
                                        <input class='radio' id='pre$row[0]' type='radio'  name='registro[$row[0]]' value='presente'>
                                        <label for='pre$row[0]'><strong>Presente</strong></label>
                                    </td>  
                                    <td class='tab' id='tab_bottoni'>
                                        <button  class='bottone' name='bottone' title='conferma presenza' type='submit'>
                                            <img src='http://127.0.0.1/wordpress/wp-content/uploads/2016/07/tick-305245_640.png' width='25px'
                                             height='30px' alt='conferma'>
                                             </button>
                                         <button class='bottone' name='elimina[$row[0]]' 
                                         title='elmina utente' type='submit'>
                                         <img src='http://127.0.0.1/wordpress/wp-content/uploads/2016/07/closeHover.png' width='25px'  alt='elimina'>
                                         </button>
                                        
                                    </td>
                                    
                                </tr>
                                    
                                    <td class='more" . $row['0'] . " hidden' colspan='2'><strong>Data di nascita:</strong></br>" . $row['3'] . "</td>
                                    <td class='more" . $row['0'] . " hidden' colspan='3'><strong>CF:</strong></br>" . $row['4'] . "</td>
                                    <td class='more" . $row['0'] . " hidden' colspan='2'><strong>Luogo di nascita:</strong></br>" . $row['5'] . "</td>
                                   
                            
                                    
                               
                       

           <script type='text/javascript'>
                    $('.main" . $row['0'] . "').click(function() {
                    $('.more" . $row['0'] . "').toggleClass('hidden');
                    $('.more').removeClass('hidden');
                    });
            </script>
                                ";
                // il nOme di ogni input sarà un array che avrà come chiavi
                // gli id degli utenti e come valori le rispettive presenze
            }

            if(isset($_POST['bottone']) && isset($_POST["registro"])) {


                $registro = $_POST["registro"]; // recupero l'array registro che contiente id e presenza degli utenti

                var_dump($registro);

                foreach ($registro as $id => $presenza) {// per ogni coppia chiave->valore all'interno dell'array $registro
                    $insert = "INSERT INTO presenze (ID,PRESENZA_ASSENZA) VALUES ($id,'$presenza');"; //definisco la query

                    /*
                    N.B.: all'interno della query $id non è racchiuso tra apici
                    poiché nella mia tabella è definito come intero.
                    */


                    if(!mysqli_query($conn,$insert)) { // se la query di inserimento fallisce...

                        echo "Errore".mysqli_error($conn)."<br>"; // e stampo il relativo errore mysql
                    }
                }

                echo  "<script type='text/javascript'>alert('Presenza/assenza registrata')</script>";

            }
            if(isset($_POST['elimina']))
            {                                       //----------problema recupero id

                $elimina= $_POST["elimina"];
                var_dump($elimina);





                    $delete = "DELETE FROM persone_inserite WHERE ID=".$elimina;
                    if (!mysqli_query($conn, $delete)) {
                        echo "<script type='text/javascript'> alert('Errore durante l eliminazione')";
                    }



            }




            ?>
            </tbody>
        </table>

    </form>


<div class="el_pres_resp" id="scroll1">
    <table class="table-fill" class="scrollable">
       <tr>
           <th class="int">ID</th>
           <th class="int">PRESENTE/ASSENTE</th>
           <th class="int" >DATA</th>
           <th class="int"> </th>
       </tr>
        <?php
        include('conn_selez_db.php');
        $query = "SELECT * FROM presenze ORDER BY DATA";
        $result = mysqli_query($conn,$query) or die(mysqli_error($conn));
        while($row = mysqli_fetch_array($result))
        {
            echo " 
<tbody class='table-hover'>
    <tr class='tabr'>
        <td class='tab' id='riga$row[0]'>".$row['0']."</td>
        <td class='tab'>".$row['1']."</td>
        <td class='tab'>".$row['2']."</td>
        <td class='tab'> </td>
</tbody>";


        }



        echo"
        </table>
        </div>
</div>

</body>
</html>";



get_footer();
?>
 
@giuseppe_123
Ti ricordo che il crossposting non è consentito dal regolamento del forum!
Questa è già la quarta discussione che apri sullo stesso caso, non continuare su questa strada e keggi il regolamento del forum!
Ti faccio presente che se apri anche più discussioni sullo stesso argomento non avrai più vantaggi perchè gli utenti che ti possono rispondere sono sempre gli stessi, quindi cerca di non ripeterti
 

Allegati

  • Schermata 2016-10-21 alle 14.42.41.png
    Schermata 2016-10-21 alle 14.42.41.png
    157,5 KB · Visite: 230
Mi appare questo
PHP:
$elimina= $_POST["elimina"];
    var_dump($elimina);

il codice qui sopra non ti darà mai l'id da utilizzare per la cancellazione

PHP:
$elimina
è un array

fai così e vedi cosa ti restituisce

PHP:
$elimina= $_POST["elimina"];
echo "<pre>".print_r($elimina,true)."</pre>";

da lì riesci a prendere la chiave che ti serve per cancellare il tuo record

ciao
 
semplicemente.. modifica quel button così:
PHP:
  <button class='bottone' name='elimina' value='$row[0]'
                                         title='elmina utente' type='submit'>
                                         <img src='http://127.0.0.1/wordpress/wp-content/uploads/2016/07/closeHover.png' width='25px'  alt='elimina'>
                                         </button>

ora $elimina avrà l'id dell'utente...

visto lo scopo del bottone, era inutile aver un array... (non puoi premere 20 bottoni insieme)
 
semplicemente.. modifica quel button così:
PHP:
  <button class='bottone' name='elimina' value='$row[0]'
                                         title='elmina utente' type='submit'>
                                         <img src='http://127.0.0.1/wordpress/wp-content/uploads/2016/07/closeHover.png' width='25px'  alt='elimina'>
                                         </button>

ora $elimina avrà l'id dell'utente...

visto lo scopo del bottone, era inutile aver un array... (non puoi premere 20 bottoni insieme)

Ti ringrazio.
 

Discussioni simili