php jquery ajax per modificare valore in un databe

paskuale

Nuovo Utente
23 Nov 2013
7
0
0
salve a tutti, sto cercando di documentarmi il più possibile ma non ne vengo a capo, non riesco a far funzionare una chiamata ajax per modificare il valore di una variabile presente nel mio database.
ho una tabella con un elenco di utenti, ad ogni utente è associata una piccola immagine che indica se l'account è attivo o disattivo, al click di questa immagine voglio permettere la modifica dello stato, se un account è attivo al click lo disattivo e viceversa, tutto questo tramite ajax.

posto un po di codice:

PHP:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

<script type="text/javascript">
$(document).ready(function()
{
    $(".stato").click(function()
	{
		var user = $(this).parent("td").attr('id');

        $.ajax(
		{
			url: "inc/ajax_stato.php",
			type: "POST",
			data: { userid : user },
			dataType: "html",
			success:function(html)
			{
				$( ".stato" ).html(html);
			},
			error: function()
			{
				alert("ERRORE nella chiamata ajax!!!");
			}
		});
	});
});
</script>
la pagina continua con la creazione della tabella ed alla fine, l'ultima colonna della tabella è quella dello stato:
HTML:
		if ($row['attivo'] == 't')
		{
			echo '<input class="stato" type="image" src="images/attivo.png" alt="attivo"></input></td>';
		}else{
			echo '<input class="stato" type="image" src="images/disattivo.png" alt="disattivo"></input></td>';
		}
in base allo stato mostro l'immagine attivo/disattivo.

questa è la pagina php "ajax_stato.php" chiamata dallo script:

PHP:
<?php

	// includo il file con la lista delle funzioni di utilità
	require_once 'inc/user.php';
	
	//recupero l'id dell'utente via POST
	$userid = $_POST['userid'];
	
	//chiamo la funzione per cambiare lo stato e
	//verifico il risultato
	$stato = cambiaStato($userid);
	
	//se è falso c'è stato qualche errore 
	if ($stato == false)
	{
		echo 'alert("ERRORE: non posso cambiare lo stato!");';
	}
	else if ( $stato == 'attivo')
	{
		echo '<input class="stato" type="image" src="images/attivo.png" alt="attivo"></input>';
	}
	else if ( $stato == 'disattivo')
	{
		echo '<input class="stato" type="image" src="images/disattivo.png" alt="disattivo"></input>';
	}

?>

la funzione cambiastato funziona al 100% perche se la chiamo da codice effettua il suo lavoro.


dove commetto errori?


grazie mille
 

paskuale

Nuovo Utente
23 Nov 2013
7
0
0
ho dimenticato di scrivere che ogni volta che clicco sull'immagine dello stato nella tabella HTML ottengo sempre l'errore della funzione error, mi compare sempre l'alert che dice: errore nella chiamata ajax!

Nessuno mi sa spiegare come mai?

Grazie ancora.