Guest User

Untitled

a guest
Feb 2nd, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.62 KB | None | 0 0
  1. <?php
  2. include $_SERVER['DOCUMENT_ROOT'] . '/bookstore/includes/db_connect.php';
  3. include $_SERVER['DOCUMENT_ROOT'] . '/bookstore/includes/magicquotes.inc.php';
  4. ////// Добавить нового автора
  5. if (isset($_GET['add']))
  6.  {
  7.      $pageTitle = 'Новый автор';
  8.      $action = 'addform';
  9.      $nameFirst = '';
  10.      $nameLast = '';
  11.      $id = '';
  12.      $button = 'Добавить автора';
  13.      include 'form.html.php';
  14.      exit();
  15. }
  16.  
  17. if (isset($_GET['addform']))
  18. {
  19.     try {
  20.         $sql = 'INSERT INTO author SET
  21.        nameFirst = :nameFirst,
  22.        nameLast = :nameLast';
  23.         $s = $pdo->prepare($sql);
  24.         $s->bindValue(':nameFirst', $_POST['nameFirst']);
  25.         $s->bindValue(':nameLast', $_POST['nameLast']);
  26.         $s->execute();
  27.  
  28.     }
  29.     catch (Exception $e)
  30.     {
  31.         echo 'Ошибка при добавлении автора' . $e->getMessage();
  32.         exit();
  33.     }
  34.     header('Location: .');
  35.     exit();
  36. }
  37. /////// Редактирование автора
  38. if (isset($_POST['action']) and $_POST['action'] === 'Редактировать')
  39. {
  40.     try {
  41.         $sql = 'SELECT id, nameFirst, nameLast FROM author WHERE id = :id';
  42.         $s = $pdo->prepare($sql);
  43.         $s->bindValue(':id', $_POST['id']);
  44.         $s->execute();
  45.     } catch (Exception $e) {
  46.         echo 'Ошибка при получении автора' . $e->getMessage();
  47.         exit();
  48.     }
  49.     $row= $s->fetch();
  50.  
  51.     $pageTitle = 'Редактировать автора';
  52.     $action    = 'editform';
  53.     $nameFirst = $row['nameFirst'];
  54.     $nameLast  = $row['nameLast'];
  55.     $id        = $row['id'];
  56.     $button    = 'Обновить информацию об авторе';
  57.     include 'form.html.php';
  58.     exit();
  59.  
  60. }
  61.  
  62. if (isset($_GET['editform']))
  63. {
  64.   include $_SERVER['DOCUMENT_ROOT'] . 'bookstore/includes/db.inc.php';
  65.  
  66.   try
  67.   {
  68.     $sql = 'UPDATE author SET
  69.        nameFirst = :nameFirst,
  70.        nameLast = :nameLast
  71.        WHERE id = :id';
  72.     $s = $pdo->prepare($sql);
  73.     $s->bindValue(':id', $_POST['id']);
  74.     $s->bindValue(':nameFirst', $_POST['nameFirst']);
  75.     $s->bindValue(':nameLast', $_POST['nameLast']);
  76.     $s->execute();
  77.   }
  78.   catch (PDOException $e)
  79.   {
  80.     echo $error = 'Error updating submitted author.'
  81.     . $e->getMessage();
  82.     exit();
  83.   }
  84.  
  85.   header('Location: .');
  86.   exit();
  87. }
  88.  
  89. ////// Удаление
  90. if (isset($_POST['action']) and $_POST['action'] === 'Удалить')
  91. {
  92.  
  93. //получаем книги, принадлежащие автору    # code...
  94.  
  95.     try
  96.     {
  97.         $sql = 'SELECT id FROM books WHERE authorid = :id';
  98.         $s = $pdo->prepare($sql);
  99.         $s->bindValue(':id', $_POST['id']);
  100.         $s->execute();
  101.     }
  102.     catch (Exception $e)
  103.     {
  104.         echo 'Ошибка при получении списка книг для удаления' .$e->getMessage();
  105.         exit();
  106.     }
  107.     $result = $s->fetchAll();
  108.     // Удаляем записи о жанрах книг.
  109.     try {
  110.         $sql = 'DELETE FROM bookgenres WHERE bookid = :id';
  111.         $s = $pdo->prepare($sql);
  112.         // Для каждой книги
  113.         foreach ($result as $row)
  114.         {
  115.             $bookid = $row['id'];
  116.             $s->bindValue(':id', $bookid);
  117.             $s->execute();
  118.         }
  119.     }
  120.     catch (Exception $e)
  121.     {
  122.     echo 'Ошибка при удалении жанров книги' . $e->getMessage();
  123.     exit();
  124.     }
  125.     try
  126.     {
  127.         $sql = 'DELETE FROM books WHERE id = :id';
  128.         $s = $pdo->prepare($sql);
  129.         $s->bindValue(':id', $_POST['id']);
  130.         $s->execute();
  131.     }
  132.     catch (PDOException $e)
  133.     {
  134.         echo 'Ошибка при удалении книг' . $e->getMessage();
  135.         exit();
  136.     }
  137.     // Удаляем автора
  138.     try {
  139.         $sql = 'DELETE FROM author WHERE id = :id';
  140.         $s = $pdo->prepare($sql);
  141.         $s->bindValue(':id', $_POST['id']);
  142.         $s->execute();
  143.     }
  144.     catch (Exception $e)
  145.     {
  146.         echo 'Ошибка при удалении автора' . $e->getMessage();
  147.         exit();
  148.     }
  149.     header('Location: .');
  150.     exit();
  151.  
  152. }
  153.  
  154.  
  155.  
  156. // Вывод списка авторов
  157. try
  158. {
  159.     $result = $pdo->query('SELECT id, nameFirst, nameLast FROM author');
  160. }
  161. catch (Exception $e)
  162. {
  163.     echo 'Ошибка извлечения авторов из базы данных!' . $e->getMessage();
  164.     exit();
  165. }
  166.  
  167. foreach ($result as $row)
  168. {
  169.     $authors[] = array('id' => $row['id'], 'nameFirst' => $row['nameFirst'], 'nameLast' => $row['nameLast']);
  170. }
  171.  
  172. include 'authors.html.php';
Add Comment
Please, Sign In to add comment