$users_list = $db->query("select * from users where usertype = 2 order by `role` desc, `username` asc", array(), "assoc");
и ниже
<td><?=$u['city']?></td>
Так вот в таблице users столбец city у меня проставлен в виде id
и соответственно выводит в виде айди. А мне надо чтобы выводил название города которое запихано в таблицу cities, в инете поискал, понял что нужно использоваться LEFT JOIN почитал подумал написал такое:
SELECT users.*, cities.* FROM users LEFT JOIN cities ON users.city = cities.id
А вот как выклинить это туда не хватает опыта. И будет ли выводиться название города если я впишу ниже вместо <td><?=$u['city']?></td> впишу <td><?=$u['name']?></td>
и что было бы еслиб в первой и второй таблице были столбцы name?
Спустя 23 минуты, 37 секунд (4.03.2012 - 23:24) Placido написал(а):
Если в таблице `cities` название города хранится в поле `name`, то примерно так:
И тогда название города будет лежать в $u['cityname']
SELECT `users`.*, `city`.`name` AS `cityname`
FROM `users` LEFT JOIN `cities` ON `users`.`city` = `cities`.`id`
WHERE `users`.`usertype` = 2 ORDER BY `users`.`role` DESC
И тогда название города будет лежать в $u['cityname']
Цитата (Zombie47 @ 4.03.2012 - 22:00) |
...и что было бы еслиб в первой и второй таблице были столбцы name? |
Эта проблема решается использованием псевдонимов в запросе (select ... as ...).
Спустя 6 минут, 51 секунда (4.03.2012 - 23:31) Zombie47 написал(а):
Что то не работает, видимо я где то накосячил:
$users_list = $db->query("SELECT `users`.*, `city`.`name` AS `cityname`
FROM `users` LEFT JOIN `cities` ON `users`.`city` = `cities`.`id`
WHERE `users`.`usertype` = 2 ORDER BY `users`.`role` DESC, `username` asc", array(), "assoc");
А снизу вписал
<td><?=$u['cityname']?></td>
$users_list = $db->query("SELECT `users`.*, `city`.`name` AS `cityname`
FROM `users` LEFT JOIN `cities` ON `users`.`city` = `cities`.`id`
WHERE `users`.`usertype` = 2 ORDER BY `users`.`role` DESC, `username` asc", array(), "assoc");
А снизу вписал
<td><?=$u['cityname']?></td>
Спустя 4 минуты, 2 секунды (4.03.2012 - 23:35) Zombie47 написал(а):
Не пойму как тут определяется с какой таблицы он что берет? users это название таблицы а не столбца!
Спустя 3 минуты, 22 секунды (4.03.2012 - 23:38) Placido написал(а):
А чего определяться? `имя таблицы`.`имя поля`
Вместо `username`нужно поставить `users`.`username`.
А вообще, нужно показывать весь код, который относится к вашему вопросу. А также сообщения об ошибках. "Не работает" ни о чем не говорит.
Вместо `username`нужно поставить `users`.`username`.
А вообще, нужно показывать весь код, который относится к вашему вопросу. А также сообщения об ошибках. "Не работает" ни о чем не говорит.
Спустя 7 минут, 9 секунд (4.03.2012 - 23:45) Zombie47 написал(а):
Еслиб я еще знал как посмотреть сообшения об ошибках, в данном случае просто перестало выводить. пусто и все. Вместо `username`поставил `users`.`username`. не помогло.
Код приложил
Код приложил
Спустя 14 минут, 47 секунд (5.03.2012 - 00:00) Placido написал(а):
А что это за расширение? Не PDO и не mysqli, очевидно.
Спустя 12 минут, 32 секунды (5.03.2012 - 00:12) Zombie47 написал(а):
Расширение чего файла? php просто код. открываю обычным Notepad ++
Спустя 10 минут, 58 секунд (5.03.2012 - 00:23) Placido написал(а):
Ясно. Тогда нужно обратиться за помощью к тому, кто писал код.
Спустя 3 минуты, 30 секунд (5.03.2012 - 00:27) Zombie47 написал(а):
Цитата (Placido @ 4.03.2012 - 21:23) |
Ясно. Тогда нужно обратиться за помощью к тому, кто писал код. |
не понимаю а в чем сложность файл то открывается. Или не понятны какие то значения или что?
Просто к программисту по таким мелоч обращаться это его замучает. Он решает более глобальные проблемы.