Aggiornare record mysql con Ajax, jQuery e php

Riccardo Contu

Utente Attivo
14 Lug 2019
25
0
1
Buongiorno,

ho un problema con uno script di aggiornamento di un database mysql con ajax e php. Premetto che non ho basi di ajax ma ho usato sempre e solo php e js.

L'obiettivo dello script è quello di aggiornare un campo di record di una tabella mysql con i dati inseriti in un input text.

Attraverso una query mysql recupero i vari dati dalla tabella fra cui il campo "discriminante"


PHP:
<input type='hidden' name='id' value='$id'> //recupera l'id univoco del record
<input type='text' name='discriminante' id='discriminante' size='5' value='$discriminante'> //visualizza un campo di input testo con valore predefinito quello della discriminante e posso modificarlo
<button type='submit' id='aggiorna_discriminante'>Aggiorna</button> //invia il comando per aggiornare il campo "discriminante" del record

Nella stessa pagina, dopo il tag <head> ho inserito il seguente script:

Codice:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script>

$(document).ready(function(){
});
$("#aggiorna_discriminante").click(function(){
});
var name=$("#id").val();
var name=$("#discriminante").val();
 $.ajax({
                        url:'aggiorna_discriminante.php',
                        method:'POST',
                        data:{
                            id:id,
                            discriminante:discriminante
                        },
                        success:function(response){
                            alert(response);
                        }
                    });

</script>

Infine ho creato il file aggiorna_discriminante.php che si occupa di eseguire la query per aggiornare il campo discriminante

PHP:
$connessione = mysql_connect("...","...","...");

//mi collego

mysql_select_db("$db_name",$connessione); 

$id=$_POST['id'];
$discriminante=$_POST['discriminante'];

$sql= mysql_query("UPDATE database set discriminante='$discriminante' where id='$id'");

// controllo l'esito

if (!$sql) {

    die("Errore nella query $sql: " . mysql_error());

}



// chiudo la connessione a MySQL

mysql_close();



echo 'Record aggiornato';



?>


Il problema è che quando clicco sul pulsante Aggiorna non succede nulla. Potreste darmi una mano?
 
id:id,
discriminante:discriminante

se id = 1234, il risultato di quanto scritto é 1234:1234
essendo l'id che precede i due punti uguale all'id che li segue

lo stesso vale per discriminante

forse volevi scrivere
'id':id,
'discriminante':discriminante

(salvo altri errori)
 
Oltre a quello che ha scritto marino51 dovresti anche spostare il codice ajax dentro all'evento click e a $(document).ready, perche li hai chiusi con }) prima di eseguire le altre azioni (in pratica attualmente al click non viene eseguito nulla)
 

Discussioni simili