Есть кое какие проблемы с массивами и перекодировкой.
Может кто знает как это сделать?
Пример:
таблица 1 — статистика, таблица 2 — пользователи;
я делаю вывод таблице 1 в массиве, где пользователь к этой таблице привязан с помощью user_id;
мне надо вывести имя пользователя в массив;
то есть у меня выводится номер пользователя из первой базе данных в массиве;
мне надо вывести имя пользователя из второй таблице при выводе первой;
Думаю я понятно объяснил.
Вот только как это сделать не знаю...
Делать массив внутри другого массива, думаю это бред, хотя не знаю, может это так и надо делать…
Вам нужно сделать выборку из обеих таблиц, тогда у вас будет и вся инфа по пользователям.
А вообще конечно вы непонятно написали что вы сделали и при чем тут перекодировка
код:
<? $query = "SELECT * FROM `ps_plr` ORDER BY skill DESC LIMIT 10"; echo' <table width="350" align="center" bgcolor="#F4F4F4"> <tr bgcolor="#8C8C8C"> <td width="50" align="center">Номер</td> <td width="100" align="center">Игрок</td> <td width="100" align="center">Статистика</td> <td width="100" align="center">Навык</td> </tr> '; { $plrid = $row['plrid']; $skill = $row['skill']; echo'<tr>'; echo'<td>#'; echo'</td>'; echo'<td>'; echo $name; echo'</td><td align="center">'; echo $kills; echo'-'; echo $deaths; echo'</td><td align="center">'; echo $skill; echo'</td>'; echo'</tr>'; } echo'</table>'; ?>
Вывести в эту таблицу переменные $kill $deaths, которые берутся из БД таблицы ps_plr_data, где plrid=$plrid
$query = "SELECT a.*, b.name, c.kill, c.deaths FROM ps_plr a LEFT JOIN ps_plr_ids_name b ON b.plrid = a.plrid LEFT JOIN ps_plr_data c ON c.plrid = a.plrid GROUP BY a.id ORDER BY a.skill DESC LIMIT 10";
И вообще мне кажется хранение всего этого в 3 таблицах наверное необоснованное…
как переделать?..
ps_plr_data c полями plrid, kills, deaths
как я уже описал выше, plrid берётся с таблице ps_plr
а далее по plrid выводится name, kills, deaths с остальных таблиц
Возьмите как пример таблицы статьи и категории. Есть таблица статьи с полями (id, category_id, title и так далее) и есть таблица с категориями (id, title) Привязка не может быть по первому полю, которое еще и auto_increment, так что привязка идет по полям content.category_id <-> category.id
надеюсь понятно описал…
Показываю ещё один пример:
— представьте, что plrid это логин
то есть получается есть таблица ps_plr с полями login, skill
выводим с этой таблице login и skill с ORDER BY skill DESC LIMIT 10
далее есть таблица ps_plr_ids_name, допустим это таблица с пользователями (users)
в этой таблице поля login, name и тд
Мы делаем вывод данных в php файл в форме <table> и выводим login и skill
но нам надо вместо login вывести name
Так понятнее объяснил?
Так используйте LEFT JOIN в запросе, как я выше описывал, все дорлжно работать если поля совпадают с вашими, если нет — поменяйте на ваши…
Трудно в наше время быть телепатом))