1

Тема: Підправте код кому не важко)

Привіт) Пишу сайт, не дуже в PHP, тому і виникла проблема. Не знаю як правильно підправити щоб отримати потрібний результат. Код скопіпастив, а розібратися не годен. Тому кому не важко підправите будь ласка)
Є код навігації між сторінками на сайті. З бази вибираються всі поля що в таблиці information, а потрібно лише ті в яких id = $id.
Думав що потрібно лише дописати умову where, але мене закидало помилками.
Код:

    <?php
        
        
        if(!($_GET['showInf']))
        {
                         
            $num = 10;
            $page = $_GET['page'];
            
            $result00 = mysql_query("SELECT COUNT(*) FROM information");
            
            $temp = mysql_fetch_array($result00);
            $posts = $temp[0];
            $total = (($posts - 1) / $num) + 1;
            $total =  intval($total);
            $page = intval($page);
            if(empty($page) or $page < 0) $page = 1;
            if($page > $total) $page = $total;
            $start = $page * $num - $num;    
                         
            $query = mysql_query("SELECT * FROM information ORDER BY id LIMIT $start, $num");
            $array = mysql_fetch_array($query);
                           
            do
                           
            {
                $id = $array['id'];
                $selectNameCategories = mysql_query("SELECT name FROM subCategories where id='$id'") ;
                $arrayNameCategories = mysql_fetch_array($selectNameCategories);
                            
                echo "<div id='contentID'>
                        <h4 style='width: 100%; background-color: #3399CC; 
                            text-indent: 5px; color: white; padding: 5px 0px; 
                                margin: 0px;'>
                    <a href='index.php?showInf=".$array['id']."' style='color: white; text-decoration: none;'>".$array['name']."</a>
                </h4>
                    <div style='padding: 5px 5px;'>
                        <img src='img/".$array['imgSmall']."' width='25%' style='float: left;'>
                        <table id='infoContenId' width='75%'>
                            <tr><td>Комментариев: ".$array['comentQuantity']."</td></tr>
                            <tr><td>Добавил: ".$array['addUser']."</td></tr>
                            <tr><td>Категория: ".$arrayNameCategories['name']." </td></tr>
                            <tr><td>Просмотры: ".$array['watched']."</td></tr>
                            <tr><td>Рейтинг: 5</td></tr>
                            <tr><td>Подробнее: <a href='index.php?showInf=".$array['id']."' style='    color: #E38011;'>Скачать\Смотреть</a></td></tr>
                        </table>
                    </div>
                </div>";
            }
                         
            while($array = mysql_fetch_array($query));
                         

            // Проверяем нужны ли стрелки назад
             $page1 = $page - 1;
            if ($page != 1) $pervpage = "<a href='index.php?page=1'>Первая</a> | <a href='index.php?page=$page1'>Предыдущая</a> | ";
            // Проверяем нужны ли стрелки вперед
            $page2 = $page + 1;
            if ($page != $total) $nextpage = " | <a href='index.php?page=$page2'>Следующая</a> | <a href='index.php?page=$total'>Последняя</a>";

            // Находим две ближайшие станицы с обоих краев, если они есть
            if($page - 5 > 0) $page5left = ' <a href=index.php?page='. ($page - 5) .'>'. ($page - 5) .' | ';
            if($page - 4 > 0) $page4left = ' <a href=index.php?page='. ($page - 4) .'>'. ($page - 4) .' | ';
            if($page - 3 > 0) $page3left = ' <a href=index.php?page='. ($page - 3) .'>'. ($page - 3) .' | ';
            if($page - 2 > 0) $page2left = ' <a href=index.php?page='. ($page - 2) .'>'. ($page - 2) .' | ';
            if($page - 1 > 0) $page1left = '<a href=index.php?page='. ($page - 1) .'>'. ($page - 1) .' | ';

            if($page + 5 <= $total) $page5right = ' | <a href=index.php?page='. ($page + 5) .'>'. ($page + 5) .'';
            if($page + 4 <= $total) $page4right = ' | <a href=index.php?page='. ($page + 4) .'>'. ($page + 4) .'';
            if($page + 3 <= $total) $page3right = ' | <a href=index.php?page='. ($page + 3) .'>'. ($page + 3) .'';
            if($page + 2 <= $total) $page2right = ' | <a href=index.php?page='. ($page + 2) .'>'. ($page + 2) .'';
            if($page + 1 <= $total) $page1right = ' | <a href=index.php?page='. ($page + 1) .'>'. ($page + 1) .'';

            // Вывод меню если страниц больше одной

            if ($total > 1)
            {
            Error_Reporting(E_ALL & ~E_NOTICE);
            //echo "<div class="\&quot;pstrnav\&quot;">";
            echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.
            '</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
            //echo "</div>";
            }

        } else {
            include_once("showInf.php");
        }

2

Re: Підправте код кому не важко)

З бази вибираються всі поля що в таблиці information, а потрібно лише ті в яких id = $id.

га? всі поля?
можливо ви мали на увазі - всі строки?


У нас скоро за вікном 2017 рік буде, а який у вас?
поміняйте mysql_* на mysqli_* спочатку, прикладів у неті - вистачає
(якщо ЛЛ - можете у скайп до мене постукати - підкину прикладів)


Думав що потрібно лише дописати умову where, але мене закидало помилками.

приклади ваших спроб?
текст-код помилок?

якось отак, проте рекомендую mysqli_* та prepared statement (mysqli_prepare, mysqli_stmt_bind_param, ...)

"SELECT * FROM `information` WHERE `id` = '".$id."' ORDER BY `id` DESC LIMIT ".$start.", ".$num." "
Подякували: Kasper1

3

Re: Підправте код кому не важко)

кажись я не там умову ставив) все працює, дякую

221VOLT написав:

З бази вибираються всі поля що в таблиці information, а потрібно лише ті в яких id = $id.

га? всі поля?
можливо ви мали на увазі - всі строки?


У нас скоро за вікном 2017 рік буде, а який у вас?
поміняйте mysql_* на mysqli_* спочатку, прикладів у неті - вистачає
(якщо ЛЛ - можете у скайп до мене постукати - підкину прикладів)


Думав що потрібно лише дописати умову where, але мене закидало помилками.

приклади ваших спроб?
текст-код помилок?

якось отак, проте рекомендую mysqli_* та prepared statement (mysqli_prepare, mysqli_stmt_bind_param, ...)

"SELECT * FROM `information` WHERE `id` = '".$id."' ORDER BY `id` DESC LIMIT ".$start.", ".$num." "