SlickQuiz-WordPress
SlickQuiz-WordPress copied to clipboard
Shortcode to list all scores for a single user
http://wordpress.org/support/topic/saving-quiz-results-to-user-profiles
From http://wordpress.org/support/topic/saving-quiz-results-to-user-profiles?replies=5#post-5833910
<?php
global $wpdb;
$current_user = wp_get_current_user();
$displayName = $current_user->display_name;
$results = $wpdb->get_results(
"
SELECT wp_plugin_slickquiz_scores.score, wp_plugin_slickquiz_scores.createdDate, wp_plugin_slickquiz.name
FROM wp_plugin_slickquiz_scores
INNER JOIN wp_plugin_slickquiz
ON wp_plugin_slickquiz_scores.quiz_id=wp_plugin_slickquiz.id
WHERE wp_plugin_slickquiz_scores.name = '" .mysql_real_escape_string($displayName). "'
ORDER BY wp_plugin_slickquiz_scores.createdDate desc;
"
);
?>
<?php if ( $results > 0 ) : ?>
<div class="quiz-results">
<h2 class="heading-border margin-top-big">Latest Quiz Results</h2>
<ul class="row unstyled-list">
<?php
$i = 0;
foreach ( $results as $result )
if ($i < 3)
{
$i +=1;
$quizName = $result->name;
$quizScore = $result->score;
$createdDate = $result->createdDate;
?>
<li class="col col-4">
<div>
<h4 class="quiz-name">
<?php echo $quizName ?>
</h4>
<div class="quiz-date">
<?php echo date('j-n-Y', strtotime($createdDate)); ?>
</div>
<div class="quiz-score">
<?php echo $quizScore ?>
</div>
</div>
</li>
<?php
}
?>
<div class="clear"></div>
</ul>
</div>
<?php endif; ?>
Replace mysql_real_escape_string with mysqli_real_escape_string. Also checking with current user email is much effective then display name.