| |
|
|
| | Сейчас делаю каталог, есть 2 таблицы в одной хранятся разделы и подразделы каталога, в другой сайты.
Т.е. к примеру:
Интернет >>> Чаты и форумы >>> sait.ru (и полная информация об этом сайте).
В таблице catalog хранятся записи Интернет, чаты и форумы.
В таблице sait хранится запись sait.ru и полное его описание
Вот так у меня выводятся разделы:
<?php
$id_cat = $_GET['id_cat'];
?>
<a href=index.php><font size=2>Все сайты</font></a>
<?php
// Выводим путь до текущего раздела
$path = array();
$name = array();
$curr = $id_cat;
do
{
$q = mysql_query("SELECT id_parent, name FROM catalog WHERE id_catalog='$curr'") or die (db_error());
$row = mysql_fetch_array($q);
$curr = $row ? $row[0] : 0; //get parent ID
$path[] = $curr;
$name[] = $row ? $row[1] : "<font size=2>Все сайты</font>";
} while ($curr);
//now reverse $path
$path = array_reverse($path);
$name = array_reverse($name);
for($i=0;$i<count($name); $i++) {
if ($i == count($name) - 1 ) echo " :: ".$name[$i];
else echo " :: <font size=2><a href=index.php?id_cat=".$path[$i+1].">".$name[$i]."</a></font>";
}
?>
<br>
<br>
<table width="80%" border="0">
<tr>
<?php
// Выводим список разделов
$query = "SELECT * FROM catalog WHERE id_parent='$id_cat'";
if($pgs = mysql_query($query))
{
while(list($id_cat,$part)=mysql_fetch_array($pgs, MYSQL_NUM))
{
echo "<td><a href=index.php?id_cat=$id_cat><b>$part</b></a></td>";
}
} else puterror("Ошибка при обращении к блоку разделов");
?>
</tr>
</table>
|
Дальше выводятся конкретные сайты:
<?php
// Выводим список сайтов
$q = "SELECT * FROM sait WHERE id_catalog=".$_GET['id_cat'];
if($p = mysql_query($q))
{
?>
<table width="80%" border=0>
<?php
while($pr = mysql_fetch_array($p))
{
echo "<tr><td><a href=index.php?id_cat=$id_cat><b>". $pr['name'] ."</h3></b></td></tr><tr><td>". $pr['kratko'] ."</td></tr>";
}
} else puterror("Ошибка при обращении к блоку сайтов");
?>
</table>
|
Все это у меня в файле index.php так вот, возникло 2 проблемы, которые нужно устранить, а именно:
1) если просто зайти по адресу sait.ru/index.php то после вывода каталогов выводится фраза: "Ошибка при обращении к блоку сайтов", т.е. помогите составить условие на вывод сайтов:
если загружается index-ная страница без параметров, то сайты не выводить. | |
| |
|
|
| |
|
|
| |
для: Dizels
(24.11.2007 в 19:48)
| | | как первый вариант - проверять на пустоту переменную $_GET['id_cat']
<?
if(!empty($_GET['id_cat'])) {
//если $_GET['id_cat'] не пусто, то операторы 1
}
else {
//иначе операторы 2
}
?>
|
как второй вариант - проверка $_GET['id_cat'] не только на пустоту, но и на правильность ввода | |
| |
|
|