Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Таблица в PHP из множества запросов из БД

Сообщения:  [1-10]   [11-12] 

 
 автор: isumin   (07.06.2014 в 21:36)   письмо автору
 
   для: isumin   (06.06.2014 в 18:42)
 

Проблему не решил, но нашел описание альтернативного метода. может кто подробнее объяснить как это сделать?
"Могу предложить другой подход -- без rowspan'ов, с выводом пустой ячейки. Механизма примерно такая:
1. Запоминаем и выводим значение ячейки в первой строке
2. Для всех последующих:
3. если значение совпадает с запомненным -- выводим пустую ячейку (<td></td>)
4. иначе снова запоминаем и выводим ячейку
5. goto 2 пока не добежим до конца"

  Ответить  
 
 автор: isumin   (06.06.2014 в 20:17)   письмо автору
 
   для: tvv123456   (06.06.2014 в 20:12)
 

Да по сути у меня по моему сам подход решения задачи не правильно выбран был, скорей всего надо все заново начинать.

  Ответить  
 
 автор: tvv123456   (06.06.2014 в 20:12)   письмо автору
 
   для: isumin   (06.06.2014 в 19:44)
 

да просто в первом варианте было g.vid as vid - ерунда какая-то.

  Ответить  
 
 автор: isumin   (06.06.2014 в 19:44)   письмо автору
 
   для: tvv123456   (06.06.2014 в 19:29)
 

В принципе да.

Имеется таблица в БД :
vid kv
2 1
2 1
2 1
3 1
3 1


дальше запросом выбираем уникальные значение колонки vid (проще сказать группируем GROUP BY g.vid) но при этом необходимо потом объединить ячейки на количество определенных vid, для этого мы определяем сколько строк сгруппировалось в одну строка и прибавляем единицу( точно не могу сказать зачем прибавляем единицу, было практический изучено что не хватает одной строки) (COUNT(g.vid)+1 as koll)
и все это при условии что g.kv равен данным внесенных в форме ввода и множеству данных $str ($str имеет вид данных через запятую 5,4,3,8 и т.д.)

select
g.vid as vid2, -
COUNT(g.vid)+1 as koll
FROM taxsaz as g
where g.kv=$kv and g.vid in (".implode(',',$str)."
GROUP BY g.vid "

  Ответить  
 
 автор: tvv123456   (06.06.2014 в 19:29)   письмо автору
 
   для: isumin   (06.06.2014 в 19:23)
 

даже не знаю, что сказать :(
Вы вообще знаете, что значит каждая строчка данного запроса и что она делает?

  Ответить  
 
 автор: isumin   (06.06.2014 в 19:23)   письмо автору
 
   для: tvv123456   (06.06.2014 в 19:21)
 

Спасибо! Теперь хоть понятно в каком направлении двигаться дальше.

$query1 = mysql_query("select
g.vid as vid,
COUNT(g.vid)+1 as koll
FROM tax as g
where g.kv=$kv and g.vid in (".implode(',',$str).")
GROUP BY g.vid "
);




Вроде работает

  Ответить  
 
 автор: tvv123456   (06.06.2014 в 19:21)   письмо автору
 
   для: isumin   (06.06.2014 в 19:15)
 

вы с warning разберитесь.
Скорей всего что-то с запросом в базу. Когда пишите запрос, то для диагностики делайте что-нибудь вроде:

<?
......
mysql_query("тут запрос") or die(mysql_error());
....

в данном случае будет выводиться ошибка, которая возникла при запросе к базе.

  Ответить  
 
 автор: isumin   (06.06.2014 в 19:15)   письмо автору
 
   для: tvv123456   (06.06.2014 в 19:12)
 


<html>
<link rel="stylesheet" type="text/css" href="style.css" />

<body>
<table border="1">
<tr>
<th class="vertikal_text">№ Квартал</th>
<th class="vertikal_text">№ Выдел</th>
<th class="vertikal_text">Площадь, га</th>
<th class="vertikal_text">Запас на выделе, куб.м.</th>
<th class="vertikal_text">Класс товарности</th>
<th class="vertikal_text">Состав насаждения</th>
<th class="vertikal_text">средний диаметр, см.</th>
<th class="vertikal_text">Запас на 1 га. куб.м</th>
<th class="vertikal_text">Остав. в семенных куртинах илиполосах куб.м</th>
<th class="vertikal_text">Крупная</th>
<th class="vertikal_text">Средняя</th>
<th class="vertikal_text">Мелкая</th>
<th class="vertikal_text">Дрова</th>
<th class="vertikal_text">Ликвид</th>
<th class="vertikal_text">Отходы</th>
<th class="vertikal_text">Всего древесной массы</th>
</tr>


<!--error--><br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>Z:\home\localhost\www\Tab.php</b> on line <b>46</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><!--error--><br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>Z:\home\localhost\www\Tab.php</b> on line <b>55</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>Array
(
    [0] => 
)
<!--error--><br />
<b>Warning</b>:  mysql_num_rows() expects parameter 1 to be resource, boolean given in <b>Z:\home\localhost\www\Tab.php</b> on line <b>59</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><tr><td rowspan="3"></td></tr><!--error--><br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>Z:\home\localhost\www\Tab.php</b> on line <b>74</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><!--error--><br />
<b>Warning</b>:  mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in <b>Z:\home\localhost\www\Tab.php</b> on line <b>78</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><!--error--><br />
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>Z:\home\localhost\www\Tab.php</b> on line <b>88</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><!--error--><br />
<b>Warning</b>:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>Z:\home\localhost\www\Tab.php</b> on line <b>121</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>


</table>

</body>
</html>



  Ответить  
 
 автор: tvv123456   (06.06.2014 в 19:12)   письмо автору
 
   для: isumin   (06.06.2014 в 19:09)
 

>Лучше использовать? -
>

>while ($row2 = mysql_fetch_assoc($query2))
>{
>
>}
>


Ну, как по мне дак чуток по-лучше.
>
>Но над основной проблемой я так и не разобрал. в каком направлении двигаться?
>Я очень не давно в PHP по этому не сразу вижу в чем ошибка(((( подскажите пож.

Какой HTML код генерит ваш скрипт(В браузере правой кнопкой по странице и там искать что-то связанное с HTML)?

  Ответить  
 
 автор: isumin   (06.06.2014 в 19:09)   письмо автору
 
   для: tvv123456   (06.06.2014 в 19:01)
 

>pS: В данном случае do .... while не к месту.

Лучше использовать? -

while ($row2 = mysql_fetch_assoc($query2))
{

}


Но над основной проблемой я так и не разобрал. в каком направлении двигаться?
Я очень не давно в PHP по этому не сразу вижу в чем ошибка(((( подскажите пож.

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования