Например:
<?
$sql = "SELECT id,title, FROM table1";
$query = mysql_query ($sql);
$array = mysql_fetch_array ($query);
$id = $array["id"];
$title = $array["title"];
$sql2 = "SELECT id,title,part FROM table2 WHERE part = $id";
$query2 = mysql_query ($sql2);
$array2 = mysql_fetch_array ($query2);
do
{
echo "Раздел $title с номером $id", имеющий в себе категории:";
/* И как раз в этом месте мне нужно вывести список категорий. Естественно список выводится как цикл, однако цикл DO WHILE не хочет работать здесь. */
}
while ($array = mysql_fetch_array ($query));
?>
Если кто в курсе как реализовать подобно пишите! Заранее благодарен!
Спустя 28 минут, 2 секунды (24.05.2010 - 18:39) Raito-kun написал(а):
я не понимаю. покажите скрин таблицы, чтоли и как вы представляете себе результат. и do-while тут зачем? попов чтоли?
Спустя 11 минут, 30 секунд (24.05.2010 - 18:50) Gabriel написал(а):
забудьте про поповский do-whilе
http://phpforum.ru/index.php?showtopic=21916
http://phpforum.ru/index.php?showtopic=21916
Спустя 15 минут, 3 секунды (24.05.2010 - 19:06) Sanches написал(а):
"ВИДЕО, УРОКИ И СТАТЬ, НОТЫ" это разделы выводящиеся на странице в цикле
<?это запрос, достающий из таблицы table1 (в ней 2 поля id и title) названия и id разделов.
$sql = "SELECT id,title, FROM table1";
$query = mysql_query ($sql);
$array = mysql_fetch_array ($query); ?>
Внутри разделов должны выводиться названия категорий, соответствующие этому разделу (естественно в виде ссылок).
<? $sql2 = "SELECT id,title,part FROM table2 WHERE part = $id";
$query2 = mysql_query ($sql2);
$array2 = mysql_fetch_array ($query2); ?>
В таблице table2 содержатся: Названия категорий, id категории, part ( идентификатор соответствующий id в таблице table1). Следовательно по данному запросу извлекаются данные соответствующие нужному нам разделу!
Короче задача в том, что бы вывести в каждом столбце (смотрите рисунок), соответствующие ему ссылки!
Спустя 35 минут, 42 секунды (24.05.2010 - 19:41) Sanches написал(а):
Цитата (Gabriel @ 24.05.2010 - 15:50) |
забудьте про поповский do-whilе http://phpforum.ru/index.php?showtopic=21916 |
Причем тут это? Меня просто интересует конкретный вопрос, а про запрос и вывод из базы я уже знаю, спасибо!
Спустя 3 минуты, 40 секунд (24.05.2010 - 19:45) Unlikely написал(а):
Ну вайлами выводи. И то и то
Спустя 7 минут, 26 секунд (24.05.2010 - 19:52) Gabriel написал(а):
потому-что при использовании структуры while(); можно сделать так и будет значительно прозрачнее
ну или можно попробовать прооптимизировать ( хотя не факт, что будет шустрее это нужно пробовать методом научного тыка ( а точнее замерки скорости выполнения запросов ) )
while ( $main = mysql_fetch_assoc( $MainSelect ) ) {
$SubQuery = "SELECT * FROM `TABLE` WHERE поле_связки_таблиц = $main['значение']";
$SubSelect = mysql_query( $SubQuery ) or die( mysql_error(); );
while ( $sub = mysql_fetch_assoc( $SubSelect ) {
/*рисуем что угодно*/
}
}
ну или можно попробовать прооптимизировать ( хотя не факт, что будет шустрее это нужно пробовать методом научного тыка ( а точнее замерки скорости выполнения запросов ) )
$Query = "SELECT * FROM `TABLE1` LEFT JOIN `TABLE2` ON TABLE1.ID = TABLE2.ID";
$Select = mysql_query ( $Query );
while ( $Categories = mysql_fetch_assoc( $Select ) )
{
print_r( $Categories );
}
Спустя 26 минут, 27 секунд (24.05.2010 - 20:19) Sanches написал(а):
Так это все понятно! Как вы поняли каждый из разделов это таблица. Но загвоздка вся в том что категории нужно выводить внутри таблицы (значит внутри echo) Так как мне в таблицу вставить второй цикл!
Спустя 14 минут (24.05.2010 - 20:33) Gabriel написал(а):
покажи пример кода как выводить пытаешся, может чего от руки набросаю
Спустя 8 минут, 51 секунда (24.05.2010 - 20:42) Sanches написал(а):
$result_part = mysql_query ("SELECT * FROM `part`") or die( mysql_error());вот короче сам исходный файл. при использовании while(); пропал столбец ВИДЕО а вот цикл внутри я даже не писал еще!
$myrow_part = mysql_fetch_assoc ($result_part);
while ($myrow_part = mysql_fetch_assoc ($result_part))
{
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" id="'.$myrow_part["style"].'"><p class="sidebarlable">'.$myrow_part["title"].'</p> </td>
</tr>
<tr>
<td id="bgsidebar">
<ul>
</ul>
</td>
</tr>
<tr>
<td id="bottomsidebar"> </td>
</tr>
</table>';
}
?>
</td>
Спустя 1 минута, 54 секунды (24.05.2010 - 20:44) Gabriel написал(а):
Цитата |
при использовании while(); пропал столбец ВИДЕО |
убери это
$myrow_part = mysql_fetch_assoc ($result_part);
<?phpне знаю угадал или нет с местом вывода но думаю где-так. принцип должен быть понятен.
$result_part = mysql_query ("SELECT * FROM `part`") or die( mysql_error());
while ( $myrow_part = mysql_fetch_assoc( $result_part ) ) {
$SubQuery = "SELECT * FROM `mytable` WHERE id = '".intval( $myrow_part )."'";
$SubSelect = mysql_query( $SubQuery ) or die( mysql_error() );
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" id="'.$myrow_part["style"].'"><p class="sidebarlable">'.$myrow_part["title"].'</p> </td>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>';
while ( $SubCats = mysql_fetch_assoc( $SubSelect ) ) {
echo '<td>'. $SubCats['some_value'] .'</td>';
}
echo '</tr>
</table>
</tr>
<tr>
<td id="bgsidebar">
<ul></ul>
</td>
</tr>
<tr>
<td id="bottomsidebar"> </td>
</tr>
</table>';
}
?>
Спустя 5 минут, 15 секунд (24.05.2010 - 20:49) Sanches написал(а):
Спасибо ВИДЕО появилось! А как все таки цикл внутри echo вывести?
Спустя 15 минут, 32 секунды (24.05.2010 - 21:04) Gabriel написал(а):
внутри echo наверное только через Eval но зачем внутри если echo можно подвунуть?
Спустя 11 минут, 3 секунды (24.05.2010 - 21:15) Sanches написал(а):
Спасибо тебе огромное! Вроде все понял! Короче Попова на мыло!!! А может хорошие книги по PHP посоветуешь?
Спустя 31 минута, 49 секунд (24.05.2010 - 21:47) Gabriel написал(а):
юзни поиск тем про книги как мусора. да и закрепленных тем много. также можеш почитать http://www.irbis-team.com/15
а то, что попова на мыло это да!!!
а то, что попова на мыло это да!!!