За последние 24 часа нас посетили 73767 программистов и 10224 робота. Сейчас ищут 2000 программистов ...

Вывод пустой заметки, которой не существует в базе данных

Тема в разделе "PHP для новичков", создана пользователем Jacard, 24 сен 2016.

  1. Jacard

    Jacard Новичок

    С нами с:
    24 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Банда, нужна помощь!
    Замутил файлик для вывода заметок по категориям "view_cat.php"
    Все выводит как нужно, но есть одна заноза.
    Где есть заметка в БД - выводится как нужно(Скрины есть внизу), а поверх неё еще одна заметочка, которой быть не должно, странность в том, что она пуста и присутствует только заголовок той категории, которую я выбрал.2 дня проблему решить не могу.
     

    Вложения:

    • с зм.jpg
      с зм.jpg
      Размер файла:
      154,5 КБ
      Просмотров:
      4
    • без зм.jpg
      без зм.jpg
      Размер файла:
      140,5 КБ
      Просмотров:
      4
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Дебажить пробовали?
    http://phpfaq.ru/debug - что такое дебаг и с чем его едят.
    https://habrahabr.ru/post/250323/ - как прикрутить дебаггер к IDE.

    Ну и да, по скринам вам только экстрасенс что-то сможет подсказать, а тут форум программистов. Код в студию, как говорится :)
     
  3. Jacard

    Jacard Новичок

    С нами с:
    24 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Денвер показывает что ошибка на 51-м ряде где нумерация/порядок вывода для маркеров %s.
    Но я так понять и не смог..Сам новичек(
    Ошибка "Notice: Undefined index: description inS:\home\localhost\www\myground\view_cat.php on line 51

    Notice: Undefined index: author in S:\home\localhost\www\myground\view_cat.php on line 51

    Notice: Undefined index: date in S:\home\localhost\www\myground\view_cat.php on line 51

    Notice: Undefined index: view in S:\home\localhost\www\myground\view_cat.php on line 51"


    PHP:
    1. <?php include ("blocks/db.php");
    2. if (isset ($_GET['cat']))  {$cat = $_GET['cat'];}
    3. if (!isset($cat)) {$cat = 1;}
    4. $result = mysql_query("SELECT * FROM categories WHERE id='$cat'",$db);
    5. if (!$result)
    6. {
    7. echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору<br><strong>Код ошибки:</strong></p>";
    8. }
    9. if (mysql_num_rows($result) > 0)
    10. {
    11. $myrow = mysql_fetch_array($result);
    12. }
    13. else
    14. {
    15. echo "<p>Информация по запросу не может быть извлечена в таблице нет записей</p>";
    16. exit();
    17. }
    18. ?>
    19. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    20. <html>
    21. <head>
    22. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    23. <meta name="keywords" content="<?php echo $myrow["meda_k"];?>">
    24. <meta name="description" content="<?php echo $myrow["meda_d"];?>">
    25. <link type="text/css" rel="stylesheet" href="css/style_import.css">
    26. <title><?php echo "Заметки категории - $myrow[title]";?></title>
    27. </head>  
    28. <body>
    29.     <?php include "blocks/header.php";?> <!--подключение шапки-->
    30.                     <!--Основная часть-->
    31.         <div id="middle">
    32.             <div class="description_cat_page">
    33.                 <div class="description_page">
    34.                 <h4><?php echo $myrow['title']?></h4>
    35.                 <p><?php echo $myrow['text']?></p>
    36.                 </div>
    37.             </div>
    38.         <div class="lesson_block">
    39.         <?php $result = mysql_query ("SELECT id,description,text,view,author,date,title FROM data WHERE cat='$cat'",$db);
    40.         do
    41. {
    42. printf ("            <div class='lesson'>
    43.                    <p class='lesson_title'>%s</p> <!--Заголовок-->
    44.                    <p class='lesson_description'>%s</p> <!--Краткое описание-->
    45.                    <div class='lesson_author'>Автор: %s</div> <!--Автор-->
    46.                    <div class='lesson_date'>Дата: %s</div> <!--Дата-->
    47.                    <div class='lesson_views'>Просмотров: %s</div> <!--Кол-во просмотров-->
    48.                    <button class='lesson_post' href='view_post.php?id=%s'>Читать</button> <!--Читать полную новость-->
    49.                    </div>",$myrow["title"],$myrow["description"],$myrow["author"],$myrow["date"],$myrow["view"],$myrow["id"]) ;
    50. }
    51. while ($myrow = mysql_fetch_array($result));
    52. ?>
    53.             </div>
    54.         </div>
    55.     <?php include "blocks/footer.php";?> <!--подключение футера-->
    56. </body>
    57. </html>
     
    #3 Jacard, 25 сен 2016
    Последнее редактирование: 25 сен 2016
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Текст ошибки как переводится на русский?
     
    denis01 нравится это.
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    Поддерживаю. Проблема и причина ошибки написана прямым черным текстом по белой странице. Без витиеватостей, шифровок, и предназначенных для узкого круга посвященных лексем. Прямо как топорище. Сообщение об ошибке - это не раздражающая непонятная надпись, это попытка машины помочь вам решить проблему, которую она нашла.

    Вы ведь читали ссылку про дебаг, что я дал?
     
  6. Jacard

    Jacard Новичок

    С нами с:
    24 сен 2016
    Сообщения:
    4
    Симпатии:
    0
    Читал, но я не использую тот софт, который там перечислен.
    Я понимаю, что сообщение об ошибке - это помощь.Я ведь просто аматор в этом деле.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    А первую ссылку читал? Она привязку к софту не имеет. Ну и да, советую начать пользоваться этим софтом.
    Аматор, понимающий, что сообщение об ошибке - это помощь, переведи текст ошибки на русский. Воспользуйся этой помощью.