Гость
Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2018
Помог: 2 раз(а)
|
Есть две таблицы с одинаковыми данными, нужно объединить в один запрос обновлением этих двух таблиц сразу, а не два запроса вешать.
Сейчас это выглядит так:
CODE ( htmlphp):
скопировать код в буфер обмена
$res = sql_query("SELECT torrent, seeder, COUNT(*) AS c FROM peers GROUP BY torrent, seeder") or sqlerr(__FILE__,__LINE__); while($row = mysql_fetch_assoc($res)){if ($row["seeder"] == "yes")$key = "seeders";else $key = "leechers";$torrents[$row["torrent"]][$key] = $row["c"];} $res = sql_query("SELECT torrent, COUNT(*) AS c FROM comments GROUP BY torrent") or sqlerr(__FILE__,__LINE__); while($row = mysql_fetch_assoc($res)){$torrents[$row["torrent"]]["comments"] = $row["c"];}$fields = explode(":", "comments:leechers:seeders"); $res = sql_query ("SELECT id, seeders, leechers, comments FROM torrents") or sqlerr (__FILE__,__LINE__);while ($row = mysql_fetch_assoc($res)){$id = $row["id"];$torr = $torrents[$id]; foreach($fields as $field){if(!isset($torr[$field]))$torr[$field] = 0;}$update = array();foreach ($fields as $field){if($torr[$field] != $row[$field])$update[] = "$field = ".$torr[$field];} if(count($update)){sql_query ("UPDATE torrents SET ".implode(", ", $update)." WHERE id = $id") or sqlerr (__FILE__,__LINE__); sql_query ("UPDATE browse SET ".implode(", ", $update)." WHERE id = $id") or sqlerr (__FILE__,__LINE__);}}
Если я меняю на:
то бьет ошибку на неизвестное поле seeders для запроса обновления. Это поле есть в одной и другой таблице, все три поля что обновляются, присутствуют в этих двух таблицах.
Подскажите что я не так делаю. Спасибо за подсказки.
|