|
|
|
|
|
для: Лена
(17.01.2008 в 16:40)
| | Что нибудь одно. Либо таблица, либо иерархический список. | |
|
|
|
|
|
|
|
для: Unkind
(17.01.2008 в 15:41)
| | Убрала повторное соединение - и не получается... Хочется, чтобы слева было меню, а справа содержание текущего раздела. Где у меня ошибка?
<?php
("<table>\n");
echo("<tr>\n");
echo("<td>\n");
include( "dbopen.php" );
function ShowTree($ParentID, $lvl) {
global $link;
global $lvl;
$lvl++;
$sSQL = "SELECT id, pid, title FROM menu WHERE pid = " . $ParentID . " ORDER BY id";
$result = mysql_query($sSQL, $link);
if (mysql_num_rows($result) > 0) {
echo("<UL>\n");
while ( $row = mysql_fetch_array($result) ) {
$ID1 = $row["id"];
echo("<LI>\n");
echo("<A HREF=\"" . "?ID=" . $ID1 . "\">" . $row["title"] . "</A>" . " \n");
ShowTree($ID1, $lvl);
$lvl--;
}
echo("</UL>\n");
}
}
ShowTree(0, 0);
echo("</td>\n");
echo("<td>\n");
$id=$_GET['id'];
if ($id!="")
{
$sSQL1="SELECT `head` FROM `txt` WHERE id_menu='$id'";
$result1=mysql_query($sSQL1, $link);
while($row1 = mysql_fetch_array($result1)) {
print $row1['head']."<br>";
}
}
mysql_close($link);
echo("</td>\n");
echo("</tr>\n");
echo("</table>\n");
?>
|
Заранее спасибо | |
|
|
|
|
|
|
|
для: Лена
(17.01.2008 в 15:38)
| | Нет, соединение уже установлено до конца работы скрипта (если только не постоянное соединение) или до закрытия с помощью mysql_close(). Так что подключать "dbopen.php" не надо.
И вообще, повторный вызов какого-то кода в таких ситуациях делают через функции, а не подключением какого-то файла. | |
|
|
|
|
|
|
|
для: Unkind
(17.01.2008 в 15:06)
| | Спасибо большое,Unkind! Я вам так благодарна. Все получилось. В очередной раз форум себя оправдал.
Ребят, еще один вопрос: если я делаю запрос, выбираю из одной таблицы $sSQL = "SELECT id, pid, title FROM menu WHERE pid = " . $ParentID . " ORDER BY id"; а из другой мне нужно другое выбрать (эти две таблицы связаны) , вернее я хочу сделать вывод содержимого каждого раздела вот таким кодом:
ВЫВОД РАЗДЕЛА
<?php
$id=$_GET['id'];
if ($ide!="")
{
include( "dbopen.php" );
$sSQL1="SELECT `head`* FROM `txt` WHERE id_menu='$id'";
$result1=mysql_query($sSQL1, $link);
while($row = mysql_fetch_array($result1)) {
print $row['head']."<br>";
}
}
mysql_close($link);
?>
|
Мне нужно опять делать подключение к базе, в смысле подключать файл dbopen.php или не нужно? Тогда и закрывать соединение я буду один раз mysql_close($link)О, в конце второго скрипта? | |
|
|
|
|
|
|
|
для: Лена
(17.01.2008 в 15:04)
| | А должно быть, например, INT. | |
|
|
|
|
|
|
|
для: Thrasher
(17.01.2008 в 14:33)
| | Поле id у меня VARCHAR | |
|
|
|
|
|
|
|
для: Лена
(17.01.2008 в 12:59)
| | Похоже на то, что у вас поле id не числового, а текстового типа. | |
|
|
|
|
|
|
|
для: Лена
(17.01.2008 в 12:59)
| |
$sSQL = "SELECT id, pid, title FROM menu WHERE pid=$ParentID ORDER BY id DESC";
| обратная сортировка | |
|
|
|
|
|
|
|
для: Волки
(16.01.2008 в 17:51)
| | Если сделать так, как вы сказали, то id выводятся следующим образом:
сначала id=1, а дальше в такой последовательности:
2,3,13,14,15,16,17,4, 5,6,7,8,9,10
Кто-нибудь знает, в чем фишка? | |
|
|
|
|
|
|
|
для: Лена
(16.01.2008 в 17:29)
| |
$sSQL = "SELECT id, pid, title FROM menu WHERE pid=$ParentID ORDER BY id";
|
| |
|
|
|
|