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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Помогите задать условие
 
 автор: Dizels   (24.11.2007 в 19:48)   письмо автору
 
 

Сейчас делаю каталог, есть 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) - ) 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($pgsMYSQL_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-ная страница без параметров, то сайты не выводить.

   
 
 автор: retsoul   (24.11.2007 в 20:08)   письмо автору
 
   для: Dizels   (24.11.2007 в 19:48)
 

как первый вариант - проверять на пустоту переменную $_GET['id_cat']

<?
if(!empty($_GET['id_cat'])) {
  
//если $_GET['id_cat'] не пусто, то операторы 1
  
}
else {
  
//иначе операторы 2
  
}
?>


как второй вариант - проверка $_GET['id_cat'] не только на пустоту, но и на правильность ввода

   
Rambler's Top100
вверх

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