Доброго времени суток.
Есть кое какие проблемы с массивами и перекодировкой.
Может кто знает как это сделать?
Пример:
таблица 1 — статистика, таблица 2 — пользователи;
я делаю вывод таблице 1 в массиве, где пользователь к этой таблице привязан с помощью user_id;
мне надо вывести имя пользователя в массив;
то есть у меня выводится номер пользователя из первой базе данных в массиве;
мне надо вывести имя пользователя из второй таблице при выводе первой;
Думаю я понятно объяснил.
Вот только как это сделать не знаю...
Делать массив внутри другого массива, думаю это бред, хотя не знаю, может это так и надо делать…
#1
11 ноября 2013 в 05:24
#2
11 ноября 2013 в 06:42
Если честно, то понятно что ничего не понятно… Перечитал 3 раза (хотя м.б. я уже сонный)… Вы делаете выборку из обеих таблиц в массив, в нем уже есть и логины и все остальное? Может пример выборки покажете, что ли, может понятнее будет.
#3
11 ноября 2013 в 10:39
ByFly, если я правильно понял, то вы делаете выборку из таблицы 1, в которой есть user_id
Вам нужно сделать выборку из обеих таблиц, тогда у вас будет и вся инфа по пользователям.
А вообще конечно вы непонятно написали что вы сделали и при чем тут перекодировка
Вам нужно сделать выборку из обеих таблиц, тогда у вас будет и вся инфа по пользователям.
А вообще конечно вы непонятно написали что вы сделали и при чем тут перекодировка
Сегодня в 14:08
#4
11 ноября 2013 в 22:40
deltas, Rossoman,
код:
Вывести в эту таблицу переменную $name, которая берётся из БД таблицы ps_plr_ids_name, где plrid=$plrid
Вывести в эту таблицу переменные $kill $deaths, которые берутся из БД таблицы ps_plr_data, где plrid=$plrid
код:
<? $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
Так меняйте запрос типа: Это так, для примера, я не уверен что у вас поля именно так называются (plrid)
И вообще мне кажется хранение всего этого в 3 таблицах наверное необоснованное…
$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 таблицах наверное необоснованное…
#6
11 ноября 2013 в 23:03
deltas, Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
как переделать?..
как переделать?..
#7
11 ноября 2013 в 23:13
Ну так надо видеть структуру всех таблиц… И советую почитать про JOIN ))
#8
11 ноября 2013 в 23:17
deltas, за основную таблицу взята таблица ps_plr, в ней находятся поля plrid и skill, то есть таблица выводятся ORDER BY skill DESC LIMIT 10
а другие две?
#10
11 ноября 2013 в 23:31
deltas, ps_plr_ids_name с полям plrid и name
ps_plr_data c полями plrid, kills, deaths
как я уже описал выше, plrid берётся с таблице ps_plr
а далее по plrid выводится name, kills, deaths с остальных таблиц
ps_plr_data c полями plrid, kills, deaths
как я уже описал выше, plrid берётся с таблице ps_plr
а далее по plrid выводится name, kills, deaths с остальных таблиц
#11
12 ноября 2013 в 00:01
Или я неправильно вас понял, или у вас структура не верная в корне...
Возьмите как пример таблицы статьи и категории. Есть таблица статьи с полями (id, category_id, title и так далее) и есть таблица с категориями (id, title) Привязка не может быть по первому полю, которое еще и auto_increment, так что привязка идет по полям content.category_id <-> category.id
надеюсь понятно описал…
Возьмите как пример таблицы статьи и категории. Есть таблица статьи с полями (id, category_id, title и так далее) и есть таблица с категориями (id, title) Привязка не может быть по первому полю, которое еще и auto_increment, так что привязка идет по полям content.category_id <-> category.id
надеюсь понятно описал…
#12
12 ноября 2013 в 00:09
deltas, так есть стандартное поле id с auto_increment
Показываю ещё один пример:
— представьте, что 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
Так понятнее объяснил?
Показываю ещё один пример:
— представьте, что 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
Так понятнее объяснил?
#13
12 ноября 2013 в 00:42
)) ну так я ж у вас просил полную структуру таблиц, а вы мне что ответили...
Так используйте LEFT JOIN в запросе, как я выше описывал, все дорлжно работать если поля совпадают с вашими, если нет — поменяйте на ваши…
Трудно в наше время быть телепатом))
Так используйте LEFT JOIN в запросе, как я выше описывал, все дорлжно работать если поля совпадают с вашими, если нет — поменяйте на ваши…
Трудно в наше время быть телепатом))
#14
12 ноября 2013 в 01:58
deltas, да я не особо понял эти запросы…
#15
12 ноября 2013 в 02:13
deltas, всё, разобрался, слушай а как мне номер вывести? ну в смысле, чтобы цифры отображались от 1 до 10 и желательно 01-09 и 10