[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.204
207
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4

Discussioni simili