Создать форум бесплатно: ixbb.ru :: Календарь на Март 2024 года: calendar2008.ru/2024/mart/

  Reply to this topicStart new topicStart Poll

админка сайта

, админка сайта
meravaz
Отправлено: Mar 15 2011, 11:16 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 266
Пользователь №: 1600
Регистрация:
22-May 08



создал файл для ввода данных в БД, (вернее нашел в интернете готовую форму)

но в ней есть только одно поле для ввода лишь одной строки таблицы, то есть только body,
а как добавить остальные?

CODE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
function show_form(){
       // подключаем файл с настройками подключения к БД
       require '../inc/connect.php';

       //делаем запрос к БД, на данный момент на следующие две строчки не стоит обращать внимание, объясню их потом, посокльку на данном этапе они еще не используются.
       $result = mysql_query("SELECT * FROM pages WHERE id = '".$_GET['id']."';", $link);
       $row = mysql_fetch_array($result);
?>
<!-- далее идет обычный HTML -->
<form action="" method="post">
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
 <td><p>Текст страницы</p></td>
</tr>
<tr bgcolor="#ffffff">
 <td>
     <textarea name="body" rows="20" cols="59" class="enter">
               <?// "<?=" тоже самое, что и "<? echo", т.е. вывод на экран, что выводим объясню позже;-) ?>
               <?=stripslashes($row['body']);?>
     </textarea>
 </td>
</tr>
<tr>
 <td bgcolor="#1F2760" align="right">
     <input type="hidden" name="id" value="<?=$_GET['id'];?>">
     <input type="submit" value="отправить" name="edit">
 </td>
</tr>
</table>
</form>
<?php
} // функция show_form() закончилась

function complete(){
     // подключаем файл с настройками подключения - это мы уже знаем.
     require '../inc/connect.php';

     // делаем запрос к БД в котором пытаемся вытащить страничку с указаным id.
     $result = mysql_query("SELECT * FROM pages WHERE id = '".$_POST['id']."';", $link);

     // перекидываем данные из MySQL в пхпшный ассоциативный массив
     $row = mysql_fetch_array($result);

     // проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
     if(empty($row['id']))
           $query = "INSERT INTO pages (body) VALUES ('".mysql_real_escape_string($_POST['body'])."'
)";
     // а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
     else
           $query = "UPDATE pages SET
                                    body = '".mysql_real_escape_string($_POST['body'])."'
                    WHERE id = '".$_POST['id']."';";

     // непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
     mysql_query($query, $link);

     // ну и просто выводим крикливую надпись, что скрипт отработал
     echo '<h3>Данные обновлены</h3>';
}
function show_pages() {
       require '../inc/connect.php';
       echo '
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
 <td>
    <a href="?id=new">Добавить страницу</a>
 </td>
</tr>
</table>';
       echo '
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
 <td>
    <b>Номер страницы</b>
 </td>
</tr>';
       $result = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
       while($row = mysql_fetch_array($result)){
              echo '
<tr bgcolor="#ffffff">
 <td>
    <a href="?id='.$row['id'].'">'.$row['id'].'</a>
 </td>
</tr>';
       }
       echo '
</table>';

}

// функция настолько простая, что мне даже и объяснять там нечего. Опять идет обычный html, в котором встречается запрос к БД, в котором мы просим вывести все наши записи отсортировав их по id. Соответственно, каждый полученный из базы id мы выводим ссылкой, чтобы в него можно было зайти. Короче, ща запустим и будет все понятно;-)

if($_POST['edit']) complete(); // если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
if($_GET['id']) show_form(); // если мы нажали на ссылку в функции show_pages(), то значит мы передали в переменную $_GET['id'] тот самый id, который нас интересует. Поэтому в этом слчае вызываем форму редактирования нашей странички.
else show_pages(); // ну, а если мы не выбрали определенный id - запускаем нашу функцию выбора id.
?>


--------------------
PMEmail Poster
Top
Ilidan
Отправлено: Mar 19 2011, 02:05 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 940
Пользователь №: 508
Регистрация:
30-March 07



А немного подумать...По аналогии =) Пропиши в форму еще одно поле, а вместо этого:
CODE
$query = "INSERT INTO pages (body) VALUES ('".mysql_real_escape_string($_POST['body'])."'
)";

Допиши вот что:
CODE

$query = "INSERT INTO pages (body,your_field) VALUES ('".mysql_real_escape_string($_POST['body'])."','".mysql_real_escape_string($_POST['your_field'])."'
)";


--------------------
;-)
PMEmail PosterICQAOL
Top

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0288 ]   [ 10 queries used ]   [ GZIP выключен ]