Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Update Database

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    65

    Update Database

    Salve a tutti,
    In questa pagina PHP che funziona correttamente carico dinamicamente Id, Nome, Descrizione dal database.
    Codice PHP:
    <form action="updateDBMS.php?cat=<?php echo $tipoProdotto?>&&type=update" method="post" name="<?php echo $tipoProdotto?>" class="form-insert">
        <fieldset style="border: 0px;" class="center">
            <h3 class="boxTitle center">"<?php echo $tipoProdotto?>" Esistenti</h3>
            <table id="table-present-list">
                <tr>
                    <th class="list-ID">ID</th>
                    <th class="list-NA">Nome</th>
                    <th class="list-DE">Descrizione</th>
                </tr>
                <?php 
                    
    // Connection to DB
                    
    include 'db/connect.php';
                    include 
    'db/config.php';
                    
    // Esecuzione della query
                    
    $result mysql_query($query) or die(mysql_error());
                    for (
    $i=0$i<mysql_num_rows($result); $i++) { 
                    
    // di volta in volta leggo dalla matrice dei dati le 3 variabili e le assegno
                    
    $row mysql_fetch_array($result);
                    
    $productID $row['id'];
                    
    $productNA $row['nome'];
                    
    $productDE $row['desc'];
                
    ?>
                    <tr>
                        <td class="list-ID"><?php echo $productID?></td>
                        <td class="list-NA">
                            <input class="list-NA" type="text" maxlength="50" style="width:100%;" name="productName<?php echo $productID?>" value="<?php echo $productNA;?>" />
                        </td>
                        <td class="list-DE">
                            <input class="list-DE" type="text" maxlength="50" style="width:100%;" name="productDesc<?php echo $productID?>" value="<?php echo $productDE;?>" />
                        </td>
                    </tr>
                <?php ?>
            </table>
        </fieldset>
        <div class="center maxSize">
            <button type="submit" name="submit" style="width:150px;" class="center">Submit</button>
        </div>
    </form>
    Siccome voglio far in modo che i campi possono essere modificati ed aggiornati nel database ho creato questo script

    Codice PHP:
     <?php
    // richiamo il file di configurazione
    include 'db/config.php';

    // richiamo lo script responsabile della connessione a MySQL
    include 'db/connect.php';

    if(isset(
    $_GET['cat'])){    
        
    $id_del=(int) $_POST['submit'];
        
    $tabella $_REQUEST['cat'];
        
    $productName $_REQUEST['productName'];    
            
    $q="UPDATE $tabella SET nome = '$productName' WHERE id= '$id_del'";
            echo 
    $q;
            if(
    mysql_query($q)){
                
    $avviso="update avvenuto con successo";
            }else{
                
    $avviso="non è stato possibile modificare la query";
            }

    }
    ?>
    Il problema è che stampando la query ottengo un ID sempre pari a 0 e non quello del prodotto in questione.. Dove sbaglio?
    Grazie dell'aiuto

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Perché la definisci così
    $id_del=(int) $_POST['submit'];

    e il pulsante submit non ha un valore.
    Tra l'altro questa che scrivi tu
    <button type="submit" name="submit" style="width:150px;" class="center">Submit</button>

    non è la sintassi corretta per il pulsante submit, dovrebbe essere
    <button type="submit" name="submit" value="submit" style="width:150px;" class="center" />
    il value del submit è il testo che apparirà sul pulsante.

    Altra cosa, perché usi a volte $_POST (correttamente) e altre $_REQUEST (che è sconsigliato)?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    65
    Si è vero ho infatti aggiunto
    <input type='hidden' name='list-ID' value='<?php echo $productID; ?>'/>

    per poi richiamarlo con
    Codice PHP:
    $id_del=(int) $_POST['list-ID']; 
    Adesso mi legge l'ID però riesco a modificare soltanto l'ultima voce presente nel DB e non le altre..
    Penso che sia dovuto al fatto che non richiamo correttamente il name="productName<?php echo $productID; ?> ma come si fa?

    Riguardo il REQUEST l'ho utilizzato perchè $tabella = $_POST['cat'] non funziona nella query

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.