За последние 24 часа нас посетил 19041 программист и 1613 роботов. Сейчас ищут 659 программистов ...

вывод данных с базы данных

Тема в разделе "Прочие вопросы по PHP", создана пользователем danila, 14 мар 2011.

  1. danila

    danila Активный пользователь

    С нами с:
    11 мар 2011
    Сообщения:
    5
    Симпатии:
    0
    добрый вечер форумчане.
    суть проблемы:
    есть админ панель, которая заносит новости в саму базу mysql и потом выводит на сайт.
    а как мне изменить код, чтобы при удалении записи вручную с базы данныз текущий ид смещался на один и выводило его на страницу.
    вот код админ панели:
    Код (Text):
    1. <?
    2. function show_form(){
    3.         // подключаем файл с настройками подключения к БД
    4.         require '../inc/connect.php';
    5.  
    6.         //делаем запрос к БД, на данный момент на следующие две строчки не стоит обращать внимание, объясню их потом, поскольку на данном этапе они еще не используются.
    7.         $result = mysql_query("SELECT * FROM zzz WHERE id = '".$_GET['id']."';", $link);
    8.         $row = mysql_fetch_array($result);
    9. ?>
    10.  
    11. <form action="" method="POST">
    12. <table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
    13. <tr bgcolor="#B0ADC3">
    14.   <td><p>Текст страницы</p></td>
    15. </tr>
    16. <tr bgcolor="#ffffff">
    17.   <td>
    18.  
    19. <input type="text" size="100" name="title">
    20. <? ?>
    21. <?=stripslashes($rows['title']); ?>
    22.  
    23. </td></tr>
    24. <BR>
    25. <tr bgcolor="#ffffff">
    26.   <td>
    27. <textarea rows="20" cols="100" class="enter" name="body">
    28. <?  ?>
    29. <?=stripslashes($rows['body']); ?>
    30. </textarea>
    31. </td>
    32. </tr>
    33. <tr>
    34.   <td bgcolor="#1F2760" align="right"> <input type="hidden" name="id" value=" <?=$_GET['id']; ?> ">
    35. <input type="submit" value="ОТПРАВИТЬ" name="edit">
    36.  </td>
    37. </tr>
    38. </table>
    39. </form>
    40.  
    41. <?php
    42. } // функция закончилась
    43.   function complete(){
    44.         // подключаем файл с настройками подключения - это мы уже знаем.
    45.         require '../inc/connect.php';
    46.  
    47.         // делаем запрос к БД в котором пытаемся вытащить страничку с указаным id. На данный момент мы не сделали еще ни одной страницы, посему запрос вернет пустой ряд.
    48.         $result = mysql_query("SELECT * FROM zzz WHERE id = '".$_POST['id']."';", $link);
    49.  
    50.         // перекидываем данные из MySQL в пхпшный ассоциативный массив
    51.         $row = mysql_fetch_array($result);
    52.  
    53.         // проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
    54.         if(empty($row['id']))
    55.               $query = "INSERT INTO zzz (title, body) VALUES ('".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['body'])."')";
    56.         // а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
    57.         else
    58.               $query = "UPDATE zzz SET
    59.                                       title = '".mysql_real_escape_string($_POST['title'])."', body = '".mysql_real_escape_string($_POST['body'])."'
    60.                       WHERE id = '".$_POST['id']."';";
    61.  
    62.         // непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
    63.         mysql_query($query, $link);
    64.  
    65.         // ну и просто выводим крикливую надпись, что скрипт отработал
    66.         echo '<h3>Данные обновлены</h3>';
    67.    }
    68. show_form();
    69.  
    70. if($_POST['edit']) complete();
    71. ?>
    и вот сам код вывода данных с базы данных
    Код (Text):
    1.  
    2. <?  
    3.         require 'inc/connect.php';
    4.  
    5.         //htmlspecialchars() Преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались.
    6.         $_GET['id'] = htmlspecialchars($_GET['id']);
    7.  
    8.         // если у нас не запрашивали никакую определенную страницу, то будем выводить нашу самую первую. Если Вы ее давно удалили, поставьте вместо единички идентификатор той странички, которую Вы хотели бы грузить по умолчанию
    9.         if(empty($_GET['id'])) $_GET['id'] = 1;
    10.         $result = mysql_query("SELECT * FROM zzz WHERE id = '".$_GET['id']."';", $link);
    11.         $row = mysql_fetch_array($result);
    12. ?>
    13. <html>
    14. <head>
    15.   <title></title>
    16. </head>
    17. <body>
    18. <!-- меню делаем ручками, по принципу: -->
    19. <a href="?id=10">первая страница</a>
    20. <a href="?id=11">вторая страница</a>
    21. <a href="?id=12">контакты</a><br /><br />
    22. <?//stripslashes() - Удаляет экранирование символов - а их мы понаставили в админке, когда загружали данные в базу с помощью функции mysql_real_escape_string()?>
    23. <?=stripslashes($row['title']);?>
    24. <hr>
    25. <?//stripslashes() - Удаляет экранирование символов - а их мы понаставили в админке, когда загружали данные в базу с помощью функции mysql_real_escape_string()?>
    26. <?=stripslashes($row['body']);?>
    27. </body>
    28. </html>
    помогите. сутки ищу как это осуществить и ничто не получается.
    заранее спасибо