[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод данных в таблицу из разных массивов
Страницы: 1, 2, 3
dr.nomore
Рендер нормальной таблицы с заголовками занимает 5 строк.
dr.nomore
Цитата
Если не можете показать как надо, а лучше и с примером.


Уже показал как надо. Можете делать как не надо. Это раздел для начинающих, а не для упертых. Почувствуйте разницу.
wow
Цитата
Уже показал как надо. Можете делать как не надо. Это раздел для начинающих, а не для упертых. Почувствуйте разницу.


Не знание чего-то в php для вас это упертость? вы явно не понимаете, что значит "начинающий". То что я начал делать так, значит кто-то мне до этого давал совет.

Цитата
Рендер нормальной таблицы с заголовками занимает 5 строк.


Ну если вы такой ас, показали бы, как правильно.

P.S пусть даже я двигался в неверном направлении, решая свою задачу, плохой опыт, тоже опыт.

За ссылочку спасибо, просмотрю
GET
Может такое быть, что во второй таблице окажется логин, которого не будет в третьей или наоборот?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
wow
Цитата
Может такое быть, что во второй таблице окажется логин, которого не будет в третьей или наоборот?


Нет, он есть везде, как и дата, т.е появилось 3 месяца к примеру, появилось 3 записи в каждой таблице, в sv_users дата(разная естественно) и логин(дублируются для пользователя). В другие таблицы попадает также дата и логин, ну и все остальные поля свойственные им.
GET
$base = mysql_query("
SELECT
`sv_users`.`login` AS `login`,
`sv_users`.`date1` AS `date_A`,
`sv_gwater_ch`.`date` AS `date_B`,
`sv_gwater_n`.`date` AS `date_C`
FROM `sv_users`
INNER JOIN `sv_gwater_ch` ON `sv_gwater_ch`.`login`=`sv_users`.`login`
INNER JOIN `sv_gwater_n` ON `sv_gwater_n`.`login`=`sv_users`.`login`
WHERE
(`sv_users`.`date1`>=`sv_gwater_ch`.`date`- INTERVAL 3 MONTH
OR
`sv_users`.`date1`>=`sv_gwater_n`.`date`- INTERVAL 3 MONTH)
"
);
while($ba = mysql_fetch_array($base))
{
echo $ba['login'].'<br>';
}


Проверь выводит такой запрос логины?


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
GET
Поля date правильно я обозвал в скрипте?

date1 у sv_users
`date` у `sv_gwater_ch`
`date` у `sv_gwater_n`.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
wow
У sv_users просто date, а у остальных на +1, 1, 2, 3 и т.д. Ваш пример работает :)

$base = mysql_query("
SELECT
`sv_users`.`login` AS `login`,
`sv_users`.`date` AS `date_A`,
`sv_gwater_ch`.`date1` AS `date_B`,
`sv_gwater_n`.`date2` AS `date_C`
FROM `sv_users`
INNER JOIN `sv_gwater_ch` ON `sv_gwater_ch`.`login`=`sv_users`.`login`
INNER JOIN `sv_gwater_n` ON `sv_gwater_n`.`login`=`sv_users`.`login`
WHERE
(`sv_users`.`date`>=`sv_gwater_ch`.`date1`- INTERVAL 3 MONTH
OR
`sv_users`.`date`>=`sv_gwater_n`.`date2`- INTERVAL 3 MONTH)
"
);
while($ba = mysql_fetch_array($base))
{
echo $ba['login'].'<br>';
}
GET
Блин, извини нет времени сейчас. В таблицах sv_gwater_n и sv_gwater_ch по несколько дат на каждый логин да? (в отличии от sv_users где одна)?

И нужно выбрать самую последнюю из всех да?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
wow
Цитата
Блин, извини нет времени сейчас. В таблицах sv_gwater_n и sv_gwater_ch по несколько дат на каждый логин да? (в отличии от sv_users где одна)?

И нужно выбрать самую последнюю из всех да?


Да вы правы, кроме sv_users, там тоже на каждый логин несколько дат. И выводится информация за последние 3 месяца из всех таблиц, у которых такой-то логин.
Игорь_Vasinsky
нужны инсерты для таблиц

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
погоди, связь какая между таблицами?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
а такой вариант что на выдаче даст, что не так?

SELECT * 
FROM sv_users u
JOIN sv_gwater_ch sg
where
`date` >= ((SELECT MAX(su.`date`) FROM sv_users su GROUP BY su.`login`)- INTERVAL 3 MONTH)
and `date1` >= ((SELECT MAX(sgw.`date1`) as maxdate1 FROM sv_gwater_ch sgw GROUP BY sgw.`login`)- INTERVAL 3 MONTH)
and sg.login= u.login



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
wow
К примеру поставив в while одно из полей таблицы sv_gwater_ch

32,82
32,82
32,82
300
300
300
1
1
1

В 1 таблицу должно попасть 32,82, в другую 300, в третью 1. А тут идет еще дубляж по 2 раза каждого значения.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.