Hello All, помогите пжл с запросом уже третий день борюсь никак победить не могу... делаю запрос [sql]SELECT TB.IDTOVARA, Sum(TB.KOLTOVARA) AS KOLTOVARA FROM TB GROUP BY TB.IDTOVARA LIMIT 3;[/sql] Данные ессно получаю в таком виде: А мене нада получить в следующем виде: Т.Е. нада вывести данные в одну строку.... Help пожалуйста как это сделать????????? Заранее очень благодарен......
интересно, а в самом деле, как это сделать запросом? уверен что можно написать какой-нить извратный запрос, который бы так делал... Правда нагрузку на БД наверняка давал бы жуткую %) cherniy_komunar, Это делается в скрипте, который обрабатывает результат запроса.
Нет это была не шутка я просто просил помочь... Умник?? Мог бы вообще ниче не писать если не знаешь, я просил помочь я же не профи в этом деле, вот и спросил, а Ты сразу в бляндинок.... Ну да ладно есть еще форум на котором мне помогли без лишних слов...а тут сразу в бляндинок.... [sql]SELECT DISTINCT a.IDTOV, (select sum(t.KOL) from rashod_id t where t.IDTOV=a.IDTOV) AS sum_a, b.IDTOV, (select sum(t.KOL) from rashod_id t where t.IDTOV=b.IDTOV) AS sum_b, c.IDTOV, (select sum(t.KOL) from rashod_id t where t.IDTOV=c.IDTOV) AS sum_c FROM rashod_id AS a, rashod_id AS b, rashod_id AS c WHERE a.IDTOV<b.IDTOV and a.IDTOV<c.IDTOV and b.IDTOV<c.IDTOV ORDER BY a.IDTOV, b.IDTOV, c.IDTOV LIMIT 1[/sql]
cherniy_komunar не прав, подход неверен. Тем более ты сам не въехал что этот запрос делает. Не буду в нем полностью разбираться, но сходу тому, кто его писал: пересечение двух вложенных запросов как таблиц, да еще с третьей таблицей надо вкладывать одно в другое, иначе будет очень сильно тормозить.
Так меня и предупредили что медленно бует....а как тогда по другому может Вы можете помочь а? или тут нада всем денег платить за помощь, непойму зачем тогда вообще форум существует...........
cherniy_komunar, а это оскорблять должно не тебя, а того, кто этот месячник затеял. Ладно, это все лирика, если по делу: 1. Почему ты считаешь, что это нужно получать в такой форме? Зачем? Это на самом деле, очень важный вопрос. Практически ключевой. Потому что ты скорее всего должен хотеть не этого.
Ладно проехали... Мне нужно выбрать товар тот который больше всего продался (типа лидеры продаж)....Но так как я начинающий в php я немного не догоняю как мне вывести таблицу не по вертикали а по горизонтали, вот я и задался создать такой запрос.....
Вот. Ключевое слово - ВЫВЕСТИ. Не ПОЛУЧИТЬ, а ВЫВЕСТИ. Вот отсюда уже надо плясать. Следующий контрольный вопрос: 2. Как в html вывести табличку с одной строкой, но множеством клеток?
Вот вот оно самое, я вывел одной строкой так: PHP: ?> <table width="100%" border="0" cellpadding="0" cellspacing="0" > <?php $r=mysql_query("SELECT IDTOV, Sum(KOL) AS KOL GROUP BY IDTOV LIMIT 3"); for($i=0;$i<3;$i++) { /$k=mysql_fetch_array($r); echo "<td><img name=y src=Images/{$k['3']}.gif width=50 height=65 alt= /></td>"; echo "<td>{$k['2']}</td>"; echo "<td>{$k['1']}</td>"; } ?> </table> но мне нада не одна строка в таблице а допусти 3 и несколько объедененных строк в одной колонке вот тут я и встал.........
Просто может можно как нить сделать вот так: PHP: <table width="390" border="1" cellpadding="0" cellspacing="0"> <tr> <td><?php echo $row_Recordset1['IDTOV0']; ?></td> <td><?php echo $row_Recordset1['NAME0']; ?></td> <td><?php echo $row_Recordset1['IDTOV0']; ?></td> <td><?php echo $row_Recordset1['NAME0']; ?></td> <td><?php echo $row_Recordset1['IDTOV0']; ?></td> <td><?php echo $row_Recordset1['NAME0']; ?></td> </tr> А между ними поставить что то типа как в VB rs.MoveNext...что б переходил на следующую строку....
как-нибудь так... PHP: <?php ... echo '<tr>'; for (mysql_unbuffered_query ('select ...'), $i=1 ; $row = mysql_fetch_assoc () ; ++$i ) { echo "<td><img src=\"/path to img/img...{$row['IDTOV']}...gif\"/></td>" . "<td>{$row['IDTOV']}</td>" . "<td>{$row['KOL']}</td>" ; if ($i == 3) { echo '</tr><tr>'; $i = 0; } } echo '</tr>'; ... ?> это при условии, что вы действительно хотите выводить значения в виде A B C D E F G H ... и не забудьте определить толщину для всех 9 колонок (COL в THEAD)
Спс за ответ, но это в принципе тоже что и я сделал, мне нужно немножко не так попробую нарисовать .. [css]__________________________ | |Какойто текст | | |____________ | | ФОТО |Какойто текст | Ну и так к примеру 4-ре раза по горизонтали.. | |__________ __| | |Кнопка | Кнопка | |__________|_____|_______|[/css] А у меня получается что данные выводятся просто одной строкой [css]Фото | Какойто текст | Какойто текст | Кнопка | Кнопка | И так 4-ре раза...[/css] Млин вот засада то а.....
Для решения этой задачи нужно обязательно знать: a) PHP б) HTML в) SQL С SQL разобрались, все работает прекрасно, там ничего не трогаем... вот теперь вопрос: PHP или HTML, в чем трудности?
PHP: <?php $text = array('text_one', 'text_two', ...); ?> <table border=1> <tr> <td rowspan=4>ФОТО</td> <td><?=$text[0]?></td> </tr> <?php for ($i = 1; $i < 4; $i++) { ?> <tr><td><?=$text[ $i ]?></td></tr> <? } ?> </table>
Но учтите, что это самый ошибочный путь. Чтобы это понять, советую изучать литературу. Хорошую литературу.
простите мне мою грубость, но я вот в а%уе от людей, которые не имея понятия о элементарных азах программирования, пытаются реализовать задачи хотя бы на PHP. видно, что человек в упор не понимает принципа реализации. совет автору топика - купите книжку по, незнаю даже, что там самое элементарное - бейсик, паскаль? - вот купите какую нибудь книжку по программированию и перечитывайте ее пока вам там все станет понятным. массивы, матрицы, циклы, условия, сортировка... прости меня, Господи...
Тссс!! Нельзя так говорить. У нас тут месячник "помоги имбецилу" - мы тут все белые и пушистые, отвечаем на самые дибильные вопросы, разжёвываем кашку и в рот раскладываем. А ты тут с такой откровенностью вылез. Это вот месяц назад его бы уже давно послали, а тему закрыли. А теперь нельзя так.