Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Estrapolare dati da DB, inserirli in form e aggiornare i valori

    Buon giorno miei salvatori,
    sto facendo un CMS per la vendita di magliette personalizzate (www.promotionitalia.it)

    Ho un Database con una tabella (abbigliamento), la tabella è strutturata cosi:



    Ora, nella parte di amministrazione del sito, ho fatto un codice php che mi richiami tutti i dati, e li inserisca in dei campi <input type="text" name="prezzo"> <input type="text" name="immagine">ecc..

    Il risultato è questo:

    Il codice è questo:
    Codice PHP:
    <?php
    $sql
    ="SELECT * FROM abbigliamento ORDER BY ID"
    $result=mysql_query($sql); 
                                
    $visualizzo=""
    echo 
    "<form method=post action=script/aggiorna_prezzi_abbigliamento.php>";
    echo 
    "<table border=0>";    
    while (
    $row=mysql_fetch_array($result)) { 
        
    $id=$row["ID"];
        
    $linkimg $row["immagine"];
        
    $linkurl $row["collegamento"];  
        
    $prezzo $row["prezzo"];
        
    $modello $row["modello"];
        
    $visualizzo "<tr><td><input type=text name=id value=$id style=width:20px !important disabled>".$modello."</td><td><input type=text name=prezzo value=$prezzo></td><td><input type=\"text\" name=\"immagine\" value=\"$linkimg\"></td></tr>";
                                
             
    $visualizzo;
        }
        echo 
    "</table>";
        echo 
    "<input type=submit value=Aggiorna/></form>"
        
    ?>
    Il fatto è che io voglio che quando modifico un prezzo, e clicco aggiorna, lui mi esegua un UPDATE prezzo WHERE ID = $id o qualcosa del genere, ho provato, ma mi aggiorna sempre il prezzo con l'ultimo valore: esempio, io modifico il prezzo dell'ID 4, clicco Aggiorna, e mi aggiorna tutti i prezzi con il prezzo dell'ultimo articolo (id 11)

    Qualche Suggerimento?


    EDIT:
    ho utilizzato questo codice per l'action del form:
    Codice PHP:
    <?php
    <?php
    $con 
    mysql_connect("localhost","root","");
    if (!
    $con)
      {
     die(
    'Could not connect: ' mysql_error());
      }
                
    mysql_select_db("promotion"$con);

    $prezzo $_GET["prezzo"];
    $id $_GET["id"];
    $sql="UPDATE abbigliamento SET prezzo = '$prezzo' WHERE ID = '$id'";

    if (!
    mysql_query($sql,$con))
      {
      die(
    'Error: ' mysql_error());
      }
    header('location:../mod_abbigliamento.php');

    mysql_close($con);
    ?>
    Però è come se non riuscisse a capire che prezzo gli metto nel form, e me lo aggiorna prendendo l'ultimo prezzo che vede (articolo n° 11)
    DavidePirelli
    Webdesigner & DTP

  2. #2
    Per ogni riga della tabella crei dei campi input con lo stesso nome per cui è ovvio che al submit ti prenda i dati dell'ultimo.
    Dovresti modificare i nomi in questo modo:

    Codice PHP:
    ...
    $visualizzo "<tr><td><input type=text name=id[] value=$id style=width:20px !important disabled>".$modello."</td><td><input type=text name=prezzo[] value=$prezzo></td><td><input type=\"text\" name=\"immagine[]\" value=\"$linkimg\"></td></tr>";
    ... 
    e poi trattarli come array.
    L'alternativa è quella di creare più form e relativi pulsanti di submit.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3

    [RISOLTO]

    Grazie mille della risposta, ho optato per inserire nel while il form, in modo da avere # form per gli # campi.

    Chiudo e cambio in solved.
    DavidePirelli
    Webdesigner & DTP

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.