X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как вывести таблицу на PHP и SQL
Alex1231
Alex1231
Topic Starter сообщение 8.7.2015, 8:44; Ответить: Alex1231
Сообщение #1


Есть таблица, нужно, чтоб выводилось как на рисунке, раздел и соответствующие ему подразделы, 1, 2, 3, пока получается так что выводится раздел1 и поддраздел1, раздел1 и подраздел 2 , и т.д. Нужно, чтоб выводилось массивом


Сообщение отредактировал Alex1231 - 8.7.2015, 8:45
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miketomlin
miketomlin
сообщение 8.7.2015, 9:13; Ответить: miketomlin
Сообщение #2


В запросе сделайте сортировку по разделу в первую очередь, по подразделу во вторую. Затем выводите в цикле подразделы, запоминая текущий раздел. В начале тела цикла, когда происходит смена раздела, выводите его заголовок. Чтобы вывести первый заголовок, перед циклом присвойте переменной раздела 0 (или любое другое отличное от 1 значение, но лучше недопустимое для обозначения раздела в таблице).


Сообщение отредактировал miketomlin - 8.7.2015, 9:14


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex1231
Alex1231
Topic Starter сообщение 8.7.2015, 10:07; Ответить: Alex1231
Сообщение #3



<?php
$res_raz= mysql_query("SELECT id_s, id_n FROM raz ");
while($row_raz = mysql_fetch_assoc($res_raz)){
?>
<div class="t">
<div class="inhead">
<h3>раздел 1</h3>
</div>
<div class="clear">
</div>
<div class="inbody">
<div class="number-s">
1
</div>
<div class="name-s">
подраздел 1
</div>
</div>

<div class="inbody">
<div class="number-s">
2
</div>
<div class="name-s">
подраздел 2
</div>

</div>
</div>

<div class="t">
<div class="inhead">
<h3>раздел 2</h3>
</div>
<div class="clear">
</div>
<div class="inbody">
<div class="number-s">
1
</div>
<div class="name-s">
подраздел 1
</div>
</div>

<div class="inbody">
<div class="number-s">
2
</div>
<div class="name-s">
подраздел 2
</div>
</div>
</div>
<?php } ?>

А можно поподробнее, я просто в этом деле еще новичок, и не совсем понимаю
id_s раздел, id_n подраздел
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miketomlin
miketomlin
сообщение 8.7.2015, 10:34; Ответить: miketomlin
Сообщение #4


Т.е. совсем не понимаете :)
 

if ($res=mysqli_query($link,'SELECT * FROM `raz` ORDER BY `id_s`,`id_n`))
{
$i=0;
while ($row=mysqli_fetch_assoc($res))
{
$row['id_s']=intval($row['id_s']);
if ($row['id_s']!=$i)
{
$i=$row['id_s'];
// вывести заголовок раздела
}
// вывести заголовок подраздела
}
mysqli_free_result($res);
}

Кавычку закройте в строке запроса.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 8.7.2015, 11:29; Ответить: ixman
Сообщение #5


Всего скорее здесь будет правильнее составить более грамотный sql запрос, который бы формировал нужный массив, а потом его выводить через обычный цикл
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miketomlin
miketomlin
сообщение 8.7.2015, 12:55; Ответить: miketomlin
Сообщение #6


Например?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex1231
Alex1231
Topic Starter сообщение 8.7.2015, 14:52; Ответить: Alex1231
Сообщение #7


(miketomlin @ 8.7.2015, 12:34) *
Т.е. совсем не понимаете
 
Это точно)) Спасибо большое все получилось как надо)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 8.7.2015, 14:52; Ответить: ixman
Сообщение #8


miketomlin, была бы таблица под руками, я бы поигрался в pma. Хотя ТС и так норм


Сообщение отредактировал Ixman - 8.7.2015, 14:53
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alex1231
Alex1231
Topic Starter сообщение 9.7.2015, 19:19; Ответить: Alex1231
Сообщение #9


(miketomlin @ 8.7.2015, 14:55) *
Например?



У меня еще один вопрос, вот сделал, чтоб выводилось

<?php
if ($res= mysql_query("SELECT id_s, id_n FROM cat ORDER BY id_s, id_n"))
{ $i=0;
while($row = mysql_fetch_assoc($res)){
$row['id_s']=intval($row['id_s']);
if ($row['id_s']!=$i)
{ $i=$row['id_s']; ?>
<div class="t">
<div class="head">
<h3>Раздел <?=$row['id_s']?></h3>
</div>

<?php }?>
<div class="inbody">
<div class="number-s">
01
</div>
<div class="name-s">
Подраздел <?=$row['id_n']?>
</div>
</div>
</div>
<?php }?>
<?php
mysql_free_result($res);
}
?>

Теперь проблема, div class=t должен заканчиваться в конце, чтоб выводилась таблица к разделу и подразделу, но при выводе второго раздела, он не отдельно выводится, а в таблице раздела 1, как это можно исправить?


Сообщение отредактировал Alex1231 - 9.7.2015, 19:23
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miketomlin
miketomlin
сообщение 9.7.2015, 22:21; Ответить: miketomlin
Сообщение #10


В самом начале откройте какой-нибудь блок (пусть хотя бы специальный пустой), а в самом конце закройте. Блок с class=t начинайте так:

</div>
<div class="t">
И уберите уже этот лишний </div> (в вашем коде последний)!


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1118 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2289 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3912 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3637 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1929 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 28.3.2024, 21:06
Дизайн