我可以在PHP和度假村中更改SQL数组中的值吗?

时间:2014-06-10 07:08:37

标签: php mysql

我有一个SELECT语句,根据其中一个字段的值拉取有限数量的项目。 (即ORDER BY率LIMIT 15)。

但是,我需要进行一些比较并更改速率值,然后可能会改变我想要的结果。

我可以拉动所有东西(没有LIMIT),改变速率,重新排序,然后只处理我需要的数字。但是,我不知道是否可以改变php结果数组中的值。我正在使用:

$query_raw = "SELECT dl.dragon_list_id, dl.dragon_id, dl.dragon_name, dl.dragon_level, d.type, d.opposite, d.image, dr.dragon_earn_rate
FROM dragon_list dl
LEFT JOIN dragons d ON d.dragon_id = dl.dragon_id
LEFT JOIN dragon_rates dr ON dr.dragon_id = dl.dragon_id
   AND dr.dragon_level = dl.dragon_level
WHERE dl.dragon_id IN (
                       SELECT dragon_id 
                       FROM dragon_elements 
                       WHERE element_id = 3
                       )
   AND dl.dragon_list_id NOT IN (
                                 SELECT dh.dragon_list_id 
                                 FROM dragon_to_habitat dh, dragon_list dl
                                 WHERE dl.user_id = 1
                                 AND dh.dragon_list_id = dl.dragon_list_id
                                 AND dl.is_deleted = 0
                                 )
   AND dl.user_id = " . $userid . "
   AND dl.is_deleted = 0
ORDER BY dr.dragon_earn_rate DESC, dl.dragon_name
LIMIT 15;";

$query = mysqli_query($link, $query_raw);
if (!$query) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysqli_error($link);
    exit;
}
$d = mysqli_fetch_array($d_query);

1 个答案:

答案 0 :(得分:0)

嗯,经过大量的研究和一些反复试验,我找到了答案......

是的,我可以使用以下内容更改结果行:

$result['field'] = $newvalue;

我还了解到我可以使用:

重置指针
mysqli_data_seek($d_query,0);

然而,当我重置计数器时,我丢失了我所做的更改。所以最终,我仍然有点卡住,但我个人得到了答案。