简体   繁体   English

PHP仅显示与用户ID相关联的mysql表中的行

[英]PHP only display rows from a mysql table that are associated with User ID

I hope someone can help me out, 我希望有人能帮助我,

I have two tables wp_wp_pro_quiz_statistic_ref and wp_wp_pro_quiz_statistic the common link between them is statistic_ref_id . 我有两个表wp_wp_pro_quiz_statistic_refwp_wp_pro_quiz_statistic ,它们之间的公共链接是statistic_ref_id

The data a want to display is in wp_wp_pro_quiz_statistic I can fetch it using something like this: 想要显示的数据在wp_wp_pro_quiz_statistic我可以使用类似以下方法来获取它:

<?php
global $wpdb;
$current_user = wp_get_current_user();
$current_user_statid = $wpdb->get_results( "SELECT * FROM wp_wp_pro_quiz_statistic_ref WHERE user_id = $current_user->ID");

$result = $wpdb->get_results( "SELECT * FROM wp_wp_pro_quiz_statistic WHERE $current_user_statid = statistic_ref_id");

echo "Question:"."  "."Points:"."<br><br>";
foreach($result as $row)
{

echo $row->question_id." ".$row->points."<br>";

}
?>

wp_wp_pro_quiz_statistic_ref stores the user_id and statistic_ref_id the user ID can be pulled using $current_user = wp_get_current_user(); wp_wp_pro_quiz_statistic_ref存储user_idstatistic_ref_id ,可以使用$current_user = wp_get_current_user();提取用户ID $current_user = wp_get_current_user(); or something similar. 或类似的东西。 Im not sure how to then use 'statistic_ref_id' to only display rows that match the value of statistic_ref_id in wp_wp_pro_quiz_statistic . 我不确定如何然后使用'statistic_ref_id'仅显示与wp_wp_pro_quiz_statisticstatistic_ref_id值匹配的行。

Update: 更新:

    <table border="1" width="500px">
        <tr>
            <th>Question Number</th>
<th>Clause</th>
<th>Subject</th>
            <th>Score</th>
        </tr>
<?php
global $wpdb;
$current_user = wp_get_current_user();
$result = $wpdb->get_results( "
SELECT stats.*
  FROM wp_wp_pro_quiz_statistic stats
       JOIN wp_wp_pro_quiz_statistic_ref refs on stats.statistic_ref_id = refs.statistic_ref_id
WHERE refs.user_id= $current_user->ID ");
foreach($result as $row) {
echo "<tr>
                <td>$row->question_id</td>
<td>some clause</td>
<td>some subject</td>
                <td>$row->points</td>
            </tr>";
}
?>
</table>
<table border="1" width="500px">
<tr><td width="445px">Total Score (Maximum 125)</td><td width="55px">0</td> </tr>
</table>
</body>
</html>

If I've understood your question, you should be able to use a SQL join; 如果我理解了您的问题,则应该可以使用SQL连接; something like this: 像这样的东西:

<?php
global $wpdb;
$current_user = wp_get_current_user();
$result = $wpdb->get_results( "
    SELECT stats.*
      FROM wp_wp_pro_quiz_statistic stats
           JOIN wp_wp_pro_quiz_statistic_ref refs on stats.statistic_ref_id = refs.statistic_ref_id
    WHERE refs.user_id= $current_user->ID ");

echo "Question:"."  "."Points:"."<br><br>";
foreach($result as $row) {
    echo $row->question_id." ".$row->points."<br>";
}
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM