【问题标题】:when there are 2 array results in sql and each result containing 5 answers..then how to compare the 2 arrays element by element.?当sql中有2个数组结果并且每个结果包含5个答案时..那么如何逐个元素比较2个数组。?
【发布时间】:2011-09-30 02:35:17
【问题描述】:

这里的“用户”是一个表名,a_i 是测验中回答的 5 个问题的答案... 现在,如果我想比较这两个结果,例如比较用户 1 和用户 2 的 ans1,我需要编写什么代码... 基本上我在想的是我会将所有正确的答案存储在 user_id=1 下的用户表中,当其他用户玩测验时,我会 设法将结果存储在同一张表中..在评估时我会将每个用户与 user_id=1 进行比较....所以现在如何比较....

$sql="从中选择 a_1,a_2,a_3,a_4,a_5 用户 其中 user_id=1"; $result1=mysql_query($sql);

$sql="从中选择 a_1,a_2,a_3,a_4,a_5 用户 其中 user_id=2"; $result2=mysql_query($sql);

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:

    在用户表上进行自联接并使用这样的别名

        FROM USER answer, USER contestant
       WHERE answer.id = 1
         and contestant.id = 2
    

    然后在你的select子句中使用If function来输出正确性如

    SELECT IF(answer.a_1 = contestant.a_1, 'Yes', 'No') as A_1_Successful
    

    这应该可以让您减少 sql 调用。

    【讨论】:

      【解决方案2】:

      你快到了。您现在可以这样做了:

      compare($result1[a_1], $result2[a_1]);
      

      compare 函数可以按您需要的任何方式完成。

      【讨论】:

        猜你喜欢
        • 2020-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多