На главную страницу Написать письмо Добавить в избранное Сделать www.comprog.ru стартовой

Пример кода, работающего с MySQL

Самая классическая задача при работе с базой данных - это приложение вида форма-таблица.
Таблица отображает записи, лежащие в БД, а форма служит для их добавледния/редактирования.

Вот код скрипта, который и реализует упрощенную схему такого приложения.
В таблице имеется только одно поле - name
Удаление в данном примере не предусмотрено, н при желании, его нетрудно добавить. Особенно учитывая тот факт, что записи желательно не удалять, а помечать, как непоказываемые. то есть, удаление сведется к апдейту.


<?
mysql_connect
();
mysql_select_db("new");
$table="test";
if(
$_SERVER['REQUEST_METHOD']=='POST') {
  if (
$id=intval($_POST['id'])) {
    
$query="UPDATE $table SET name='".mysql_real_escape_string($_POST['name'])."' WHERE id=$id";
  } else {
    
$query="INSERT INTO $table SET name='".mysql_real_escape_string($_POST['name'])."'";
  }
  
mysql_query($query);
  
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
  exit;
}
if (!isset(
$_GET['id'])) {
  
$LIST=array();
  
$query="SELECT * FROM $table";
  
$res=mysql_query($query);
  while(
$row=mysql_fetch_assoc($res)) $LIST[]=$row;
  include
'list.php';
} else {
  if (
$id=intval($_GET['id'])) {
    
$query="SELECT * FROM $table WHERE id=$id";
    
$res=mysql_query($query);
    
$row=mysql_fetch_assoc($res);
    foreach (
$row as $k => $v) $row[$k]=htmlspecialchars($v);
  } else {
    
$row['name']='';
    
$row['id']=0;
  }
  include
'form.php';
}
?>

form.php
<form method="POST">
<input type="text" name="name" value="<?=$row['name']?>"><br>
<input type="hidden" name="id" value="<?=$row['id']?>">
<input type="submit"><br>
<a href="?">Return to the list</a>
</form>

list.php
<a href="?id=0">Add item</a>
<? foreach ($LIST as $row): ?>
<li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
<? endforeach ?>

  Поиск по сайту
  
Яндекс цитирования