[PHP] Update non trasferisce condizione where

darione78

Nuovo Utente
22 Giu 2018
4
0
1
Buongiorno a tutti.
Sono a chiedervi aiuto perchè ormai da troppi giorni non riesco ad andare avanti.
In pratica in un'istruzione di aggiornamento su una tabella di un db non risco a applicare una condizione where dinamica. Quindi se creo una variabile $id non funziona se invece nel codice scrivo il valore dell'id allora l'update funziona. Uso un mac con MAMP e SequelPro per la gestione del db, mentre per i codice uso dreamweaver.
PHP:
<?
include('../Connections/Conn.php');

$id = intval($_POST['id']);
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$dataN=$_POST['dataN'];
$sex=$_POST['sex'];
$note=$_POST['note'];


echo  $_POST['id'];
echo "</br>";
echo  $_POST['nome'];
echo "</br>";
echo  $_POST['cognome'];


?>

<form action="formUpdClienti.php" method="post">
<input type="hidden" name="id"C value="<? echo $id; ?>" />
        <div class="input-group">
            <label>Nome</label>
            <input type="text" name="nomeC" value="<? echo $nome; ?>" />   
        </div>
        
        <div class="input-group">
            <label>Cognome</label>
            <input type="text" name="cognomeC" value="<? echo $cognome; ?>"/>
        </div>
        
        <div class="input-group">
            <label>Data Nascita</label>
            <input type="text" name="dataNC" value="<? echo $dataN; ?>"/>
        </div>
        
        <div class="input-group">
            <label>Sesso</label>
            <input type="text" name="sexC" value="<? echo $sex; ?>"/>
        </div>
        
    <div class="input-group">
      <label>Note</label>
            <input type="text" name="noteC" value="<? echo $note; ?>"/>
        </div>
        
        <div class="input-group">
            <? //if ($edit_state = false): ?>
                <button type="submit" name="save" class="btn">Salva</button>
            <? //else: ?>
                <button type="submit" name="update" class="btn">Modifica</button>
            <? //endif ?>
            
        </div>
<?


$id = intval($_POST['idC']);
$nome=$_POST['nomeC'];
$cognome=$_POST['cognomeC'];
$dataN=$_POST['dataNC'];
$sex=$_POST['sexC'];
$note=$_POST['noteC'];

if(isset($_POST['update'])){
    
$idcc=$_GET['idCliente'];

$updCliente = mysql_query("UPDATE Clienti SET Nome='$nome' ,Cognome='$cognome',Data_nascita='$dataN',sesso='$sex',Note='$note' WHERE idCliente=$idcc");
}
?>
HTML:
<?
include('../Connections/Conn.php');

$qryCl = mysqli_query($Conn, "SELECT * FROM Clienti");



?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Elenco Clienti</title>
</head>

<body>

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Nome</th>
            <th>Cognome</th>
            <th>Data Nascita</th>
            <th>Sesso</th>
            <th>Note</th>
            <th>Action</th>
        </tr>       
    </thead>
    <tbody>
    
      <? while($row = mysqli_fetch_array($qryCl)) { ?>
          <tr>
            <td><? echo $row['idCliente'] ?></td>
            <td><? echo $row['Nome']; ?></td>
            <td><? echo $row['Cognome']; ?></td>
            <td><? echo $row['Data_nascita']; ?></td>
            <td><? echo $row['sesso']; ?></td>
            <td><? echo $row['Note']; ?></td>
            <td><a href="formClienti.php?idCliente=<? echo $row['idCliente']; ?>" >Modifica</a></td>
        </tr>
      <? } ?> 
    </tbody>
</table>

</body>
</html>
 

marino51

Utente Attivo
28 Feb 2013
3.001
173
63
Lombardia
non so se ho capito quello che vuoi fare,
se non lo avessi capito scusami e butta tutto nel "cestino"
se ho capito hai un po' da lavorare, sia sulla logica dei trattamenti sia sul codice,
ho diviso il codice in 3 pagine

la prima, elenca i clienti ed attiva la pagina successiva se un cliente deve essere modificato
pagina1.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Elenco Clienti</title>
</head>
<body>
<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Nome</th>
            <th>Cognome</th>
            <th>Data Nascita</th>
            <th>Sesso</th>
            <th>Note</th>
            <th>Action</th>
        </tr>       
    </thead>
    <tbody>
    <?
    include('../Connections/Conn.php');
    $qryCl = mysqli_query($Conn, "SELECT * FROM Clienti");
    while($row = mysqli_fetch_array($qryCl))
    {
        echo "<tr>"
           . "<td>" . $row['idCliente']    . "</td>"
           . "<td>" . $row['Nome']         . "</td>"
           . "<td>" . $row['Cognome']      . "</td>"
           . "<td>" . $row['Data_nascita'] . "</td>"
           . "<td>" . $row['sesso']        . "</td>"
           . "<td>" . $row['Note']         . "</td>"
           . '<td><a href="pagina2.php?idCliente=' . $row['idCliente'] . '">Modifica</a></td>'
           . "</tr>";
    }
    ?>
    </tbody>
</table>
</body>
</html>

la seconda, gestisce l'inserimento o la modifica dei dati del cliente
pagina2.php
PHP:
<?
include('../Connections/Conn.php');

if(empty($_GET['idCliente']))
{
    // lo script è richiamato per un nuovo inserimento,
    // si devono azzerare i campi in modo da inizializzarli e visualizzarli successivamente vuoti
}
else
{
    $id = intval($_GET['idCliente']);

    // lo script è richiamato per una modifica,
    // bisogna leggere dal db i dati del cliente selezionato
    // oppure passarli nel link come già fatto per "idCliente"
    // in ogni caso valorizzare i campi come ricevuti dal db o dalla GET in modo da visualizzarli
}
?>
<form action="pagina3.php" method="post">
    <input type="hidden" name="id"C value="<? echo $id; ?>" />
        <div class="input-group">
            <label>Nome</label>
            <input type="text" name="nomeC" value="<? echo $nome; ?>" />   
        </div>
        <div class="input-group">
            <label>Cognome</label>
            <input type="text" name="cognomeC" value="<? echo $cognome; ?>"/>
        </div>
        <div class="input-group">
            <label>Data Nascita</label>
            <input type="text" name="dataNC" value="<? echo $dataN; ?>"/>
        </div>
        <div class="input-group">
            <label>Sesso</label>
            <input type="text" name="sexC" value="<? echo $sex; ?>"/>
        </div>
        <div class="input-group">
            <label>Note</label>
            <input type="text" name="noteC" value="<? echo $note; ?>"/>
        </div>
        <div class="input-group">
            <? //if ($edit_state = false): ?>
                <button type="submit" name="save" class="btn">Salva</button>
            <? //else: ?>
                <button type="submit" name="update" class="btn">Modifica</button>
            <? //endif ?>
            
        </div>
</form>

la terza pagina inserisce o modifica i dati nel db
pagina3.php
PHP:
<?
include('../Connections/Conn.php');

// questo script riceve i dati da trattare inviati dalla pagina precedente

$id = intval($_POST['idC']);
$nome=$_POST['nomeC'];
$cognome=$_POST['cognomeC'];
$dataN=$_POST['dataNC'];
$sex=$_POST['sexC'];
$note=$_POST['noteC'];

if(isset($_POST['update'])){
    
$updCliente = mysql_query("UPDATE Clienti SET Nome='$nome' ,Cognome='$cognome',Data_nascita='$dataN',sesso='$sex',Note='$note' WHERE idCliente=$idcc");

}
?>

come detto,
devi controllare la logica inserimento/modifica
devi gestire il passaggio delle variabili tra gli script
devi verificare tutti i nomi dei campi "html" che siano gli stessi usati da "php"

buon lavoro
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Query UPDATE che non mi aggiorna campi seconda tabella PHP 3
D [PHP-MySql] Update che non mi funziona PHP 2
elpirata Update dinamico informazioni scritte in una pagina php jQuery 11
L update tabelle in php mysql [risolto] PHP 6
P [PHP] INSERT e UPDATE PHP 1
Monital [PHP] query update e select insieme ma frazionando l'arrray PHP 12
L [PHP] Errore UPDATE su tabella DB PHP 22
giancadeejay [PHP] istruzione UPDATE SQL PHP 2
giancadeejay [PHP] UPDATE DATO , SE ESISTE IN DB .. PHP 14
giancadeejay [PHP] Update tabella da file csv PHP 3
webmachine [PHP] SELECT, UPDATE VERIFICARNE IL RISULTATO PHP 2
cris8380 [PHP] Update in search. PHP 16
R Update PHP dalla 5.3.3 alla 5.3.4 PHP 0
N PHP Update immagine di un utente PHP 56
Komix Errore sintassi SQL "UPDATE" in file PHP PHP 10
G [PHP/MySQL] Pagina di UPDATE PHP 2
L Problemi form Pagina php HTML e CSS 2
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
I Eecuzione di javascript in ciclo foreach php. PHP 7
S Libreria PHP per creare file dwg o dxf PHP 0
A [cerco - retribuito] Sviluppatore Php freelance per progetti vari Offerte e Richieste di Lavoro e/o Collaborazione 2
L Google chart php mysql PHP 2
R Download file multipli da directory php PHP 0
F pagina dinamica PHP PHP 3
P Rimozione automatica url da sitemap.xml con PHP PHP 1
L php tinymce mi duplica la classe label PHP 3
S Errore PHP - Notice: Undefined index ... PHP 14

Discussioni simili