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

    risettare valori nel db dopo l'aggiornamento

    Ciao a tutti...
    il problema è il seguente...il sito che sto realizzando prevede la modifica dei dati contenuti in un db...
    per prima cosa richiamo chi devo modificare.

    Fatto questo passa su una nuova pagina dove in ogni campo text mi inserisce i valori..

    Ora alla mia modifica dei dati dovrebbe passare ad una nuova pagina dove mi fa la query di UPDATE giusto? ovvero prende i nuovi valori che ci sono dentro i campi text e li sostituisce nel database...giusto? bene...
    Il problema è che la query di UPDATE probabilmente la sbaglio prima di postare il codice...qualcuno mi può dare una dritta sulla query da effettuare? inanzitutto richiamo le variabili della pagina precedente tipo:

    $pippo=$_POST['$pippo'];

    richiamate tutte le variabili come devo scrivere la query?

    PS. la modifica agisce su varie tabelle ma questo non è un problema...

    grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Da quello che dici, il massimo che si può fare è dirti la sintassi dell'UPDATE.

    UPDATE tabella SET campo1=valore1, campo2=valore2... WHERE...

    Di più non si può fare non sapendo esattamente che problema tu abbia e senza vedere il codice.

  3. #3
    ehm...purtroppo invece avevo gia usato questa sintazzi...allora...inserisco il codice e vediamo un po...
    per prima cosa cerco il parco auto da modificare nel file modPA:

    <form name=input action="formodPA.php" method="post">
    <table border="0">
    <tr>
    <td>Identificativo Parco-Auto:</td>
    <td>
    <?php
    echo "<select name=\"parco\">";
    $risultato=mysql_query("SELECT ID_Parcoauto FROM parco_auto", $db) or die("Errore 1");
    $i=1;
    while($vet=mysql_fetch_array($risultato)) {
    $par[$i]=$vet[0];
    $i++;
    }
    for($c=1;$c<=count($par);$c++){
    echo "<option value=\"$par[$c]\">$par[$c]</option>";
    }
    echo "</select>";
    ?>
    </td>
    </tr>
    </table>
    <input type="submit" value="Ok" align="center">
    </form>

    successivamente in formodPA:

    <?php
    $parco=$_POST['parco'];
    $query=mysql_query("SELECT * FROM parco_auto WHERE ID_Parcoauto='$parco'", $db) or die ("Errore ricerca 1");
    $via=mysql_result($query,0,"Via");
    $civ=mysql_result($query,0,"n_Civico");
    $tel=mysql_result($query,0,"Tel");
    $fax=mysql_result($query,0,"Fax");
    $email=mysql_result($query,0,"e_mail");
    $idloc=mysql_result($query,0,"ID_Localita");
    $query2=mysql_query("SELECT * FROM localita WHERE ID_Localita='$idloc'", $db) or die ("Errore ricerca 2");
    $nome=mysql_result($query2,0,"Nome");
    $desc=mysql_result($query2,0,"Descrizione");
    $cap=mysql_result($query2,0,"cap");
    $idcom=mysql_result($query2,0,"ID_Comune");
    $query3=mysql_query("SELECT * FROM comune WHERE ID_Comune='$idcom'", $db) or die ("Errore ricerca 3");
    $nome2=mysql_result($query3,0,"Nome");
    $reg=mysql_result($query3,0,"Cod_Reg");
    $query4=mysql_query("SELECT * FROM regione WHERE Cod_Reg='$reg'", $db) or die ("Errore ricerca 4");
    $nome3=mysql_result($query4,0,"Nome");

    ?>

    <form id="nomeform" action="modificaPA.php" method="post" target="popupname">
    <table border="0" align="center" width="929" height="200">
    <tr>
    <td width="197">Regione:</td>
    <td width="144"><input type="text" name="Nomereg" value="<?php echo $nome3; ?>" maxlength="30"></td>
    <td width="150">Codice Regionale:</td>
    <td width="144"><input type="text" name="Cod_Reg" value="<?php echo $reg; ?>" maxlength="3"></td>
    </tr>
    <tr>
    <td>Identificativo Comune:</td>
    <td><input type="text" name="ID_Comune" value="<?php echo $idcom; ?>" maxlength="4"></td>
    <td>Comune:</td>
    <td><input type="text" name="Nomecom" value="<?php echo $nome2; ?>" maxlength="30"></td>
    </tr>
    <tr>
    <td>Localit&agrave;:</td>
    <td><input type="text" name="Nomeloc" value="<?php echo $nome; ?>" maxlength="50"></td>
    <td>CAP:</td>
    <td><input type="text" name="cap" value="<?php echo $cap; ?>" maxlength="5"></td>
    <td width="104">Descrizione:</td>
    <td width="164"><input type="text" name="Descrizione" value="<?php echo $desc; ?>" maxlength="60"></td>
    </tr>
    <tr>
    <td>Via:</td>
    <td><input type="text" name="Via" value="<?php echo $via; ?>" maxlength="60"></td>
    <td>N&deg; Civico:</td>
    <td><input type="text" name="n_Civico" value="<?php echo $civ; ?>" maxlength="10"></td>
    </tr>
    <tr>
    <td>Telefono:</td>
    <td><input type="text" name="Tel" value="<?php echo $tel; ?>" maxlength="15"></td>
    <td>Fax:</td>
    <td><input type="text" name="Fax" value="<?php echo $fax; ?>" maxlength="15"></td>
    <td>E-mail:</td>
    <td><input type="text" name="e_mail" value="<?php echo $email; ?>" maxlength="30"></td>
    </tr>
    </table>
    <p align="center">
    <input type="button" value="Modifica" onClick="inviaform()">
    </p>
    </form>

    in questo modo dopo la ricerca del parco auto e l'invio mi ritrovo tutti i campi text pieni dei dati presenti del database e fin tutto funziona infatti mi carica correttamente i dati.
    Il problema sorge invece nella pagina di modifica che non funziona: la pagina si chiama modificaPA dove nel body ho inserito il seguente codice php:

    <?php
    $parco=$_POST['$parco'];
    $via=$_POST['$via'];
    $civ=$_POST['$civ'];
    $tel=$_POST['$tel'];
    $fax=$_POST['$fax'];
    $email=$_POST['$email'];
    $idloc=$_POST['$idloc'];
    $nome=$_POST['$nome'];
    $desc=$_POST['$desc'];
    $cap=$_POST['$cap'];
    $idcom=$_POST['$idcom'];
    $nome2=$_POST['$nome2'];
    $reg=$_POST['$reg'];
    $nome3=$_POST['$nome3'];

    $query=mysql_query("UPDATE parco_auto SET via='$via', n_Civico='$civ', Tel='$tel', Fax='$fax', e_mail='$email', ID_Localita='$idloc' WHERE ID_Parcoauto='$parco'", $db)
    or die ("Errore modifica 1");
    $query2=mysql_query("UPDATE localita SET Nome='$nome', Descrizione='$desc', cap='$cap', ID_Comune='$idcom' WHERE ID_Localita='$idloc'", $db)
    or die ("Errore modifica 2");
    $query3=mysql_query("UPDATE comune SET Nome='$nome2', Cod_reg='$reg' WHERE ID_Comune='$idcom'", $db)
    or die ("Errore modifica 3");
    $query4=mysql_query("UPDATE regione SET Nome='$nome3' WHERE Cod_Reg='$reg'", $db) or die ("Errore modifica 4");
    echo "Dati modificati correttamente";
    ?>

    purtroppo non funziona...questo è il codice...ps...c'è un modo per postare i codici in qualche riquadro adatto per il forum?

  4. #4
    ps. quando applico modifica mi restituisce questo errore...

    Warning: mysql_query() expects parameter 2 to be resource, null given in C:\xampp\htdocs\Piero\modificaPA.php on line 23
    Errore modifica 1


    grazie

  5. #5
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Fai dei test, commenta un UPDATE alla volta e vedi se ti restituisce qualche errore, continua finchè non individui dove sbagli.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Il messaggio d'errore è abbastanza esplicito, alla query che hai alla riga 23 arriva un valore null dalla variabile che gli passi, quindi controlla che la variabile sia valorizzata in modo corretto e dovresti risolvere.

  7. #7
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Controlla anche $db che sia valorizzata ed eventualmente puoi provare a togliere proprio il secondo parametro di mysql_query cioè semplicemente $query = mysql_query("UPDATE parco_auto SET via='$via' ecc ecc ecc");

  8. #8
    CHE CRETINO!!!
    non avevo inserito il require della connessione nella pagina di modifica...
    ora il problema è un altro...dice che la modifica è stata effettuata correttamente...ma non è vero!!!non ha modificato nulla

  9. #9
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Prima di fare l'UPDATE fai una echo dei dati che dovrebbero andare a sostituire quelli già presenti nel db e verifica

  10. #10
    se metto un echo nella pagina di modifica dovrebbe uscire oltre ai dati modificati correttamente anche la variabile di cui ho fatto echo giusto? beh non mi esce...

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.