Отображение сообщений на основе выбранного города из списка (MySQL)
Записи отображаются с помощью этого кода (показаны сообщения всех пользователей).
if(empty($this->pages)) {
$query = sprintf("SELECT * FROM messages USE INDEX(`news_feed`) JOIN users ON users.idu = messages.uid AND users.suspended = 0 AND users.idu NOT IN (SELECT blocked.uid FROM blocked WHERE blocked.by = %s) WHERE messages.group = 0 AND (messages.public = 1 OR messages.public = 2 AND messages.page = 0 AND messages.uid in (%s)) %s %s ORDER BY messages.id DESC LIMIT %s", intval($this->id), $this->friendsList, $start, $from, ($this->per_page + 1));
}
Список расположен в php файле. Таблицы в БД со списком городов нет. Возможно, нужно будет создать таблицу, но этот вариант не самый лучший, так как придётся что-то переделывать, чтобы выбранный город по-прежнему отображался в профиле пользователя.
<?php
function countries($type, $value) {
$list = array('' => '', "MSK" => "Москва", "SPB" => "Санкт-Петербург");
if($type == 1) {
$rows = '';
foreach($list as $code => $name) {
if($value == $name) {
$selected = ' selected="selected"';
} else {
$selected = '';
}
$rows .= '<option value="'.$name.'"'.$selected.'>'.$name.'</option>';
}
return $rows;
} else {
if(in_array($value, $list)) {
return 1;
}
}
}
?>