Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194

    UPDATE multiplo di variabili della stessa colonna del DB

    Grazie come sempre dell'aiuto.
    Mi trovo in una situazione che non so se sia risolvibile, immagino di sì ma non arrivo a capire come.

    In pratica faccio un ciclo della mia tabella (id e prodotti) e inserisco i risultati in un form sotto forma di lista, pronti per essere modificati e aggiornati.
    codice HTML:
    <ul>
                <form method="post" enctype="multipart/form-data">
                <?php 
                $sql="SELECT * FROM `luci`";
                $dati=mysql_query($sql);
                while($row=mysql_fetch_array($dati))
                {
                ?>
                <li> 
                <input type="text" name="prodotti" value="<?php echo $row["prodotti"]; ?>" />
                <input class="nascosto" type="text" name="id" value=" <?php echo $row["id"]; ?>" />
                </li>
                <?php }
                ?>
                <input class="nascosto" name="key" value="<?php echo $key ?>" />
                <button type="submit" formaction="db/luciupload.php">Invia</button>
                </form>
            </ul>
    E' possibile aggiornare contemporaneamente tutti i dati in lista con un solo invio?
    Il problema è ovvio, nella pagina di ricezione avrò solo l'ultima variabile id e prodotti, mentre a me serve che arrivino tutte.
    A logica avrei bisogno di un sistema che faccia un ciclo di invio per ogni riga della mia lista e soprattutto un bottone che attivi il ciclo.
    Grazie
    Ciao

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Modifica name="prodotti" e name="id" in name="prodotti[]" e name="id[]".
    Potrai poi iterarli da $_POST['prodotti']/$_POST['prodotti'], che conterranno sotto forma di array i dati. ($_POST['prodotti'][0] il primo, $_POST['prodotti'][1] il secondo, etc.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Grazie della dritta. Vediamo se ho capito bene.
    Quando ricevo i miei dati devo metterli su più variabili, quindi ad esempio:
    $prodotto1 = $_POST['prodotti'][0];
    $prodotto2 = $_POST['prodotti'][1];
    ecc..

    Quando andrò a fare UPDATE della tabella devo quindi aggiornare singolarmente tutte le mie variabili? ad esempio:

    Codice PHP:
    $query "UPDATE luci SET
    prodotti='{ 
    $prodotti[0]}'
    WHERE id=
    $id[0]";
    $query "UPDATE luci SET
    prodotti='{ 
    $prodotti[1]}'
    WHERE id=
    $id[1]"
    Corretto? Non esiste una sintassi più concisa?
    Non ho comunque capito il significato di $_POST['prodotti']/$_POST['prodotti']

    Ciao

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Non ho comunque capito il significato di $_POST['prodotti']/$_POST['prodotti']
    Avevo copiato e incollato male, intendevo $_POST['prodotti'] e $_POST['id']. Sono entrambi array, quindi puoi lavorare come faresti con gli array. Puoi usare array_combine, o iterarli come preferisci. Cerca "foreach" nella documentazione.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    grazie

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.