J'essaie d'implémenter un système up/downvote pour notre application Web. Actuellement, l'utilisateur peut "poster" une question sur notre site. Lorsque l'utilisateur accède à la section de navigation de notre site, une liste de toutes les questions actuellement posées sur le site lui est présentée. Lorsque l'utilisateur clique sur le lien vers le haut ou vers le bas, la base de données doit être mise à jour via AJAX (c'est-à-dire que je ne souhaite pas rediriger l'utilisateur ou actualiser la page). Comment puis-je récupérer la question associée à chaque lien up/downvote, puis envoyer ces données au contrôleur?Envoi de données AJAX au contrôleur (Yii-Framework)
site/browse:
<?php
/*
* @var $model Question
*/
//loop through all the given questions
foreach($model as $q)
{
//add the upvote and downvote (text for now)
echo CHtml::ajaxLink('up', array('question/upvote'));
echo ("  - ");
echo CHtml::ajaxLink('down', array('question/downvote'));
echo '<br />';
echo CHtml::link($q['name'], array('question/browse/'.$q['_id']));
echo "<br />Description: " . $q["description"] . "<br />";
echo "Owner: " . $q["user_id"] . "<br />";
$timeStamp = new Timestamp($q['timestamp']);
echo $timeStamp->getDifferenceString() . "<br /><br />";
}
?>
question controller:
...
public function upvote()
{
//should retrieve question_id and then update database accordingly
//e.g. UPDATE Question SET value = value + 1 WHERE Question.id = id
}
...