@ciro78 grazie per la risposta.
Nella pagina php il seguente codice l'ho inserito dentro i tag <head></head>
codice:
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
mentre la funzione è posta in fondo alla pagina
codice:
$.ajax({
url: "change-commessa.php",
method: 'POST',
data: "{'codComm':" + codCom + "', codRecord': " + selRec + "'}",
dataType: 'json',
success: function(response){
console.log(response);
}
});
quindi se non ho capito male è già come mi hai suggerito.
Di seguito posto il codice di tutta la pagina, omettendo le inclusioni di connessione al db, quindi ciò che ho scritto da html in poi.
codice:
<html>
<head>
<title>Dettagli</title>
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>
</head>
<body>
<div class="container-fluid">
<div class='row flex-xl-nowrap'>
<main role="main">
<?php
//qui c'è tutto il codice della tabella con la lista dei record prelevati dal db
//posto solo la parte del select che passa i valori alla funzione ChangeComm
[..omissis..]
if(isset($_REQUEST['changecom'])){
//se c'è la variabile changecom visualizzo il form
echo "<td>";
echo "<select onchange='ChangeComm()' data-record='".$rowd['id_doc_dettaglio']."' class='custom-select custom-select-sm' id='codComm'>";
$sqlcm = "SELECT `t_commessa`.`id_commessa`, `t_commessa`.`year`, `t_commessa`.`num_commessa`, `t_commessa`.`nome_commessa`, `t_commessa_utente`.`cod_commessa`, `t_commessa_utente`.`cod_user` FROM `t_commessa` INNER JOIN `t_commessa_utente` ON `t_commessa_utente`.`cod_commessa`= `t_commessa`.`id_commessa` WHERE `t_commessa_utente`.`cod_user`= ".$coduser." ORDER BY `id_commessa` DESC";
$qycm = mysqli_query($conn, $sqlcm);
while($rowcm = mysqli_fetch_assoc($qycm)){
if($rowcm['id_commessa']==$_REQUEST['id_comm']){
//se il numero di commessa è uguale a quello del recordo la commessa corrente è preselezionata
echo "<option value='".$rowcm['id_commessa']."' selected disabled>[".$rowcm['num_commessa']."•".$rowcm['year']."] ".ucwords(strtolower($rowcm['nome_commessa']))."</option>";
}else{
//altrimenti non lo è
echo "<option value='".$rowcm['id_commessa']."'>[".$rowcm['num_commessa']."•".$rowcm['year']."] ".ucwords(strtolower($rowcm['nome_commessa']))."</option>";
}
}mysqli_free_result($qycm);//canc mem lista commesse
echo "</select>";
echo "</td>";
}else{
//pulsante cambia commessa
echo "<td style='width: 10%'><a href='".$full_url."&changecom=".$rowd['id_doc_dettaglio']."&record=".$rowd['id_doc_dettaglio']."' class='btn btn-sm btn-outline-warning'>cambia commessa</a></td>";
}
[..omissis..]
?>
</main>
</div></div>
<script type="text/javascript">
//funzione di aggiornamento del record contenuto nel database e refreshing della pagina
function ChangeComm(){
var codCom = document.getElementById('codComm').value;
//var selRec = document.getElementById('codComm').getAttribute('data-record').value;
var selRec = document.getElementById('codComm').dataset.record;
console.log(codCom);
console.log(selRec);
$.ajax({
url: "change-commessa.php",
method: 'POST',
data: "{'codComm':" + codCom + "', codRecord': " + selRec + "'}",
dataType: 'json',
success: function(response){
console.log(response);
}
});
};
</script>
</body>
</html>
Grazie mille per la disponibilità