Ormai ci sono vi metto la mia soluzione definitiva.
l’obbiettivo era appunto Query, lista utenti, click e cancellazione dell’utente tramite ID.
Controller, la pagina è Cancella
public function actionCancella() {
Yii::app()->clientScript->registerCoreScript('jquery');
$cls = Yii::app()->getClientScript();
$cls->registerScriptFile(Yii::app()->baseUrl.'/js/script.js', CClientScript::POS_HEAD);
$this->render('cancella');
}
view Cancella
<?php echo CHtml::submitButton("Dammi Lista"); ?>
<div id="lista_utenti"></div>
Al Submit chiamo l’azione js, che si trova dentro script.js
$(document).ready(function(){
$(':submit').click(function(){
mostra_utenti();
});
});
function mostra_utenti() {
$('#lista_utenti').load('Get_user #container');
}
mostra utenti chiama questa Action
public function actionGet_user() {
$this->render('utenti', array("utenti" => $this->mostra_utenti()));
}
public function mostra_utenti() {
$utenti=Test::model() -> findAll();
return $utenti;
}
a Questo punto quando clicco il pulsante, effettuo una chiamata js load, che mi fa una query che mi tira fuori tutti l’utenti della tabella interessata, a questo punto per ogni utente faccio un link in questa maniera:
view di
<div id="container">
<?
foreach ($utenti as $users) {
echo CHtml::link($users->id.' '.$users->utenti,
"",
array(
'style'=>'cursor: pointer; text-decoration: underline;',
'onclick'=>"{cancella_utente(".$users->id.");}"));
echo "<br/>";
}
?>
</div>
al click dell’utente fa una chiamata JS cheti passa l’id dell’utente
function cancella_utente(id) {
alert("hai cliccato "+id)
$.ajax({
url: "Delete",
context: document.body,
data: {id_utente:id},
success: function(){
$('<p>Loading...</p>').appendTo('#lista_utenti'); ;
},complete: function() {
mostra_utenti();
}
});
}
e nel controller ho questa Action , do appunto l’id viene preso con il Get
public function actionDelete() {
$post=Test::model()->findByPk($_GET["id_utente"]);
$post->delete();
}
una volta cancellato mi rimostra la lista aggiornata.
spero di essere stato chiaro, e sono IPERdisposto a migliorie