dr.nomore
21.11.2013 - 06:21
Рендер нормальной таблицы с заголовками занимает 5 строк.
dr.nomore
21.11.2013 - 06:22
Цитата |
Если не можете показать как надо, а лучше и с примером. |
Уже показал как надо. Можете делать как не надо. Это раздел для начинающих, а не для упертых. Почувствуйте разницу.
dr.nomore
21.11.2013 - 06:23
Цитата |
Уже показал как надо. Можете делать как не надо. Это раздел для начинающих, а не для упертых. Почувствуйте разницу. |
Не знание чего-то в php для вас это упертость? вы явно не понимаете, что значит "начинающий". То что я начал делать так, значит кто-то мне до этого давал совет.
Цитата |
Рендер нормальной таблицы с заголовками занимает 5 строк. |
Ну если вы такой ас, показали бы, как правильно.
P.S пусть даже я двигался в неверном направлении, решая свою задачу, плохой опыт, тоже опыт.
За ссылочку спасибо, просмотрю
Может такое быть, что во второй таблице окажется логин, которого не будет в третьей или наоборот?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Цитата |
Может такое быть, что во второй таблице окажется логин, которого не будет в третьей или наоборот? |
Нет, он есть везде, как и дата, т.е появилось 3 месяца к примеру, появилось 3 записи в каждой таблице, в sv_users дата(разная естественно) и логин(дублируются для пользователя). В другие таблицы попадает также дата и логин, ну и все остальные поля свойственные им.
$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>';
}
Проверь выводит такой запрос логины?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Поля date правильно я обозвал в скрипте?
date1 у sv_users
`date` у `sv_gwater_ch`
`date` у `sv_gwater_n`.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
У 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>';
}
Блин, извини нет времени сейчас. В таблицах sv_gwater_n и sv_gwater_ch по несколько дат на каждый логин да? (в отличии от sv_users где одна)?
И нужно выбрать самую последнюю из всех да?
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Цитата |
Блин, извини нет времени сейчас. В таблицах sv_gwater_n и sv_gwater_ch по несколько дат на каждый логин да? (в отличии от sv_users где одна)?
И нужно выбрать самую последнюю из всех да? |
Да вы правы, кроме sv_users, там тоже на каждый логин несколько дат. И выводится информация за последние 3 месяца из всех таблиц, у которых такой-то логин.
Игорь_Vasinsky
22.11.2013 - 06:55
нужны инсерты для таблиц
_____________
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
22.11.2013 - 07:15
погоди, связь какая между таблицами?
_____________
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
22.11.2013 - 07:27
а такой вариант что на выдаче даст, что не так?
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
К примеру поставив в while одно из полей таблицы sv_gwater_ch
32,82
32,82
32,82
300
300
300
1
1
1
В 1 таблицу должно попасть 32,82, в другую 300, в третью 1. А тут идет еще дубляж по 2 раза каждого значения.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.