MySQL (и, возможно, PHP): заполнить новый столбец хостом реферера - PullRequest
0 голосов
/ 01 марта 2012

У меня есть таблица с журналом запросов. Там есть колонка с реферерами. Теперь, чтобы увидеть, какие домены ссылаются на большинство запросов, я хочу добавить новый столбец с хостом реферера.

Это не проблема для новых записей, но как мне обновить каждую строку без записи в новой строке, чтобы получить хост от реферера?

Есть ли простой способ сделать это в MySQL или как я могу решить это в PHP?

1 Ответ

0 голосов
/ 01 марта 2012
$oldRows = mysql_query("SELECT * FROM logs_requests WHERE host_ref = ''");
while($row = mysql_Fetch_array($oldRows))
{
 $host = parse_url($row['url_ref'], PHP_URL_HOST); 
 mysql_query("UPDATE logs_requests SET host_ref='$host' WHERE id='{$row['id']}'");
}

Этот php-код извлекает все строки с пустым полем host_ref, затем он берет хост (www.domain.com) из url_ref (www.domain.com/page/34.html) с функцией parse_url. После этого есть запрос update, который обновляет поле хоста.

УВЕДОМЛЕНИЕ. Настройте этот код в соответствии со схемой БД.

...