Вопрос Помогите найти ошибку в коде php

Тема в разделе "Веб-разработка", создана пользователем melihovgv, 4 авг 2012.

Статус темы:
Закрыта.
  1. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    Но ведь id и есть номер страницы, правильно?

    ---------- Сообщение добавлено в 11:57 ---------- Предыдущее сообщение размещено в 11:56 ----------

    Я не пойму, почему у Вас работает, а у меня нет Ваш код?
  2. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    Нет id это не номер страницы. id является номером строки, т.е. каждый раз когда вы добавляете новую запись в БД ей присваивается номер, который записывается в id, конечно, не обязательно записывать в id, но в данном случае он у вас записывается именно туда.

    А вы в БД внесли изменения? Если да, то тогда не знаю, возможно, где-то что-то ещё мешает.
  3. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    Можете показать свои исправления?
  4. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    Какие именно? БД на скриншоте, а код я показывал чуть выше.
  5. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    Ошибка - Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in W:\home\test.ru\www\index.php on line 66

    Строка 66 - $row = mysql_fetch_array($res);
  6. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    А что вы сделали? Проблемы с соединением.
  7. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    PHP:
    <?

      
    $hostName "localhost";  // имя сервера, где работает MySQL    
      
    $userName "root";  // имя пользователя
      
    $password "";  // пароль
      
    $databaseName "mysite"// имя базы данных

    ///////////////////////////////////////////////////////////////

      
    if (!($link=mysql_connect($hostName,$userName,$password))) {
        
    printf("Ошибка при соединении с MySQL !\n");
        exit();
        }
      if (!
    mysql_select_db($databaseName$link)) {
        
    printf("Ошибка базы данных !");
        exit();
        }

        function 
    ShowTree($parent$lvl) {  
          
        global 
    $link;  
          
        
    $lvl++;          
          
        
    $sql "SELECT id,parent,namemenu,chpu FROM content  WHERE parent = " $parent " ORDER BY id";  
          
        
    $result mysql_query($sql$link);  

        if (
    mysql_num_rows($result) > 0) {  
          
            echo(
    "<UL>\n");  
        
        while ( 
    $row mysql_fetch_array($result) ) {  
              
            
    $ID1 $row["id"];  
            
    $chpu $row["chpu"];  

            echo(
    "<li>");  
            echo 
    "<a href=\"".$chpu.".html\">" $row["namemenu"] . "</a>" ;  
            echo(
    "</li>\n");  
              
            
    ShowTree($ID1$lvl);   
            
    $lvl--;  
              
        }  
            echo(
    "</UL>\n");  
        }  
          
        }  


            
    $ID1 1
            
    $sql2 "SELECT * FROM `content` WHERE `cat`=$ID1"
            
    $res2 mysql_query($sql2) or die(mysql_error()); 
            
    $row mysql_fetch_array($res);  
       

              
    ShowTree(00);  
    mysql_close($link);  




    echo 
    $row['title'];  
       
    echo 
    $row['h1zagolovok'];  

    //echo $row['contents'];  
    ?>
    Вот этот код и ничего лишнего.
  8. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    Вот этот код ставьте все работает без ошибок.
  9. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    Сейчас код работает, но выводится только меню.
    Контент не подгружается, что я делаю не так?
  10. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    Возможно, у вас в БД неправильно что-то записано. Покажите картинку с cat.
  11. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    Если дамп не пойдет, сделаю фото

    CREATE TABLE IF NOT EXISTS `content` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `cat` int(11) NOT NULL,
    `parent` int(11) NOT NULL,
    `chpu` varchar(255) NOT NULL,
    `namemenu` varchar(255) NOT NULL,
    `title` varchar(255) NOT NULL,
    `h1zagolovok` varchar(255) NOT NULL,
    `contents` text NOT NULL,
    `description` varchar(255) NOT NULL,
    `keywords` varchar(255) NOT NULL,
    `date` date NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=86 ;

    --
    -- Dumping data for table `content`
    --

    INSERT INTO `content` (`id`, `cat`, `parent`, `chpu`, `namemenu`, `title`, `h1zagolovok`, `contents`, `description`, `keywords`, `date`) VALUES
    (11, 11, 0, 'kontakty', 'Контакты', 'тест', 'Контакты', 'Контакты', '', '', '0000-00-00'),
    (3, 3, 4, 'service', 'Услуги', 'тест', 'тест', 'Услуги', '', '', '0000-00-00'),
    (2, 2, 1, 'cena', 'Цены', 'Цены', 'Цены', 'Цены', '', '', '0000-00-00'),
    (1, 1, 0, 'index', 'Главная', 'Главная', 'Главная', 'Главная', '', '', '0000-00-00');
  12. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    Тогда не знаю, на первой странице, где прописана $ID1 = 1;, должно показывать "главная".
  13. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    да, сейчас показывается главная страница.но дальнейший переход по меню оставляет контент в виде главной.

    ---------- Сообщение добавлено в 17:40 ---------- Предыдущее сообщение размещено в 17:39 ----------

    Если вы переходите на вкладку цена у Вас выводится цена? И т.д.?
  14. Ami

    Ami Модератор На форуме с: 28 ноя 2011 Сообщения: 259 Команда форума

    Вы заменили на всех страницах переменную ID1?
    Для страницы с ценой часть кода должен быть такой:
    Для "Услуги"
  15. melihovgv

    melihovgv На форуме с: 25 июл 2011 Сообщения: 1.507

    Выводится $ID1 с последнего кода страницы. Т.е. если $ID1 = 4 выводится - соответствующая запись на все страницы.
    Кстати htaccess у Вас так настроен
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
Статус темы:
Закрыта.