ФорумПрограммированиеPHP для идиотов → Не могу понять в чем ошибка

Не могу понять в чем ошибка

  • uvajs

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 7 июня 2010 г. 4:51

    Здравствуйте! у меня вот такой вопрос:

    есть теблица categorie:

    -
    – Структура таблицы `categories`


    CREATE TABLE `categories` (
    `id` int(2) NOT NULL auto_increment,
    `cat` int(3) NOT NULL,
    `title` varchar(255) NOT NULL default '',
    `meta_d` varchar(255) NOT NULL default '',
    `meta_k` varchar(255) NOT NULL default '',
    `text` text NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=10 ;


    – Дамп данных таблицы `categories`



    в ней храниться левая навигация сайта.

    есть еще таблица где храниться данные



    – Структура таблицы `data`


    CREATE TABLE `data` (
    `id` int(5) NOT NULL auto_increment,
    `cat` int(1) NOT NULL default '0',
    `meta_d` varchar(255) NOT NULL default '',
    `meta_k` varchar(255) NOT NULL default '',
    `description` text NOT NULL,
    `text` text NOT NULL,
    `view` int(7) NOT NULL default '0',
    `author` varchar(100) NOT NULL default '',
    `date` date NOT NULL default '0000-00-00',
    `mini_img` varchar(255) NOT NULL default '',
    `title` varchar(255) NOT NULL default '',
    `slog` varchar(255) NOT NULL,
    `img` varchar(255) NOT NULL,
    PRIMARY KEY (`id`),
    FULLTEXT KEY `text` (`text`)
    ) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=24 ;


    – Дамп данных таблицы `data`



    и есть такие пункты html cat=1, css cat=2, php cat=3 и тд. когда нажимают по html открывается файл lesson.php?cat=1 он выдает заметки в цикле как здесь http://ruseller.com/lessons.php?rub=2 когда человек нажимает на ссылку подробнее открывается полная заметка в том же файле в таком виде lesson.php?cat=1&id=1

    а у меня вот такая ошибка: открываю css cat=2 водает цикл, но в ссылке подробнее lesson.php?cat=вот тут все равно единичка подставляется в место 2-ки&id=1

    в чем может быть проблема? помогите пожалуйста разобраться


    <?php include("block/bd.php");
    if (isset($_GET['cat'])) {
    $cat = $_GET['cat'];
    }

    if (isset($_GET['id'])) {
    $id = ($_GET['id']);
    }



    $result = mysql_query("SELECT * FROM categories WHERE id='$cat'",$db);
    $myrow = mysql_fetch_array($result);

    if (isset($_GET['id']))

    {


    $result14 = mysql_query("SELECT * FROM data WHERE id='$id'",$db);
    if (!$result14)
    {
    echo "<p><strong>Запрос на выборку данных из базы не прошел. <br> </strong></p>";
    exit(mysql_error());
    }
    if (mysql_num_rows($result14) > 0)
    {
    $myrow14 = mysql_fetch_array($result14);
    $new_view = $myrow14["view"] + 1;
    $updata = mysql_query ("UPDATE data SET view='$new_view' WHERE id='$id'",$db);

    }

    else

    {
    echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";

    }
    }
    else
    {

    $result11 = mysql_query("SELECT * FROM categories WHERE id='$cat'",$db);
    $myrow11 = mysql_fetch_array($result11);

    $result1 = mysql_query("SELECT * FROM data WHERE cat='$cat' ORDER BY id DESC LIMIT 5",$db);
    $myrow1 = mysql_fetch_array($result1);
    }


    $title1 = $myrow14["meta_d"];
    $title2 = $myrow11["meta_d"];


    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title><?php if (isset($_GET['id'])) {
    echo $title1;
    }
    else
    {
    echo $title2;
    }?></title>
    <link href="style.css" rel="stylesheet" type="text/css">
    <link href="style2.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="http://localhost/engelz.ru/favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="http://localhost/engelz.ru/favicon.ico" type="image/x-icon">
    <meta name="keywords" content="<?php echo $myrow["meta_k"];?>">
    <meta name="description" content="<?php if (isset($_GET['id'])) {
    echo $title1;
    }
    else
    {
    echo $title2;
    }?>">
    <script type="text/javascript" src="js/swfobject.js"></script>

    </head>

    <body>



    <?php $php_thoughts = $myrow['title']; include("block/header.php"); ?>

    <table valign="top" width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <?php include("block/left_td.php"); ?>

    </td>
    <td valign="top"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_table">
    <tr>
    <td valign="top">

    <?php



    if (isset($_GET['id']))
    {

    printf ("<p class='post_title2'>%s</p><div class='text'>%s</div>",$myrow14["title"],$myrow14["text"]);

    }



    else
    {


    echo $myrow["text"];




    do
    {

    printf ("<div class='content3'>
    <img src='%s' class='mini_img' align='left' alt='*'></a>
    <p class='h4'><a href='lesson.php?cat=%s&id=%s'>%s</a></p>
    <p class='comment'>Добавил: %s<br>Сложность: %s</p><br clear='left'>
    <p class='description'>%s</p>
    <div class='info'>
    <div class='raiting_star'>
    <div class='raiting'>
    <div class='raiting_blank'></div>
    <div class='raiting_hover'></div>
    <div id='im'></div></div>
    <span class='comment'>Создан: %s</span>&nbsp;&nbsp;&nbsp;
    <span class='comment'>Просмотров: %s</span></div></div></div><br>",$myrow1["mini_img"],$myrow11["cat"],$myrow1["id"],$myrow1["title"],$myrow1["author"],$myrow1["slog"],$myrow1["description"],$myrow1["date"],$myrow1["view"]);
    }
    while ($myrow1 = mysql_fetch_array($result1));



    }
    ?>



    </td>
    </tr>
    </table>



    </td>
    <?php include("block/right_td.php"); ?>
    </td>
    </tr>
    </table>
    <?php include("block/footer.php"); ?>

    </body>
    </html>
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 7 июня 2010 г. 4:54, спустя 3 минуты 4 секунды

    я вот последнее время удивляюсь, откуда появилось такое течение начинающих кодеров о том, что do {} while() это правильный вариант работы с mysql query …. вроде бы даже в документации есть пример с while() {} .. не понимаю, попов чтоли наделал их? :D
    Сапожник без сапог
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 7 июня 2010 г. 4:56, спустя 1 минуту 39 секунд


    я вот последнее время удивляюсь, откуда появилось такое течение начинающих кодеров о том, что do {} while() это правильный вариант работы с mysql query …. вроде бы даже в документации есть пример с while() {} .. не понимаю, попов чтоли наделал их? :D

    я до goDB тоже while юзал, в книжке какой-то было написано..
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 7 июня 2010 г. 4:56, спустя 32 секунды

    При http://ruseller.com/lessons.php?rub=2 мне выводятся ссылки нормальные:
    http://ruseller.com/lessons.php?rub=2&id=582
    http://ruseller.com/lessons.php?rub=2&id=570
    Спустя 23 сек.
    Frozzeg, ты do-while юзал или просто while?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 7 июня 2010 г. 5:00, спустя 4 минуты 14 секунд

    phpdude, попов так наставляе
  • uvajs

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 7 июня 2010 г. 5:04, спустя 4 минуты 4 секунды

    adw0rd>

    хотел реализоовать такое, но у меня там ошибка какая то. не могли бы вы подправить код?
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 7 июня 2010 г. 5:05, спустя 37 секунд

    Frozzeg, ты do-while юзал или просто while?

    просто while
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • uvajs

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 7 июня 2010 г. 5:25, спустя 20 минут 27 секунд

    так и будете комментировать или поможете?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 7 июня 2010 г. 6:03, спустя 37 минут 44 секунды

    uvajs, 5 баксов и ошибку исправлю :) и подскажу как правильнее.
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 7 июня 2010 г. 6:28, спустя 24 минуты 32 секунды

  • uvajs

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 7 июня 2010 г. 8:26, спустя 1 час 57 минут 49 секунд

    Givi, добавь меня в аську, поговорим
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 7 июня 2010 г. 9:29, спустя 1 час 3 минуты 47 секунд

    uvajs, может проще сразу в киппер?
  • uvajs

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 7 июня 2010 г. 9:42, спустя 13 минут 2 секунды

    сделаем как я сказал. а то меня не раз так кинули… зайдите в аську
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 7 июня 2010 г. 9:44, спустя 2 минуты 3 секунды


    сделаем как я сказал. а то меня не раз так кинули… зайдите в аську
    а вы буйный :-D

    5 баксов да, ахуеть кидалово :-D
    Сапожник без сапог
  • uvajs

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 7 июня 2010 г. 9:50, спустя 5 минут 16 секунд

    нет, прошлый раз было 55 бак! не делайте поспешных вывод.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!