Как вывести методом PDO?

Доброго времени суток.
Только начал изучать язык PHP.
Записи из базы на главную вывел.
Но страницу edit.php не получается переделать...
В поля input данные не получаю.
Вот страница edit.php
<?php include('header.php'); ?>
<title>Редактируем</title>
<?php 

$id = $_GET['id'];

/*$result = mysql_query(" SELECT * FROM my_db WHERE id='$id' ");*/ //было так
$stmt = $db->prepare("SELECT * FROM my_db WHERE id = $id");
$stmt->execute(array($id));

if(isset($_POST['save'])){
  $a_name = strip_tags(trim($_POST['a_name']));
  $z_number = strip_tags(trim($_POST['z_number']));
  $quadrature = strip_tags(trim($_POST['quadrature']));
  $date_a = strip_tags(trim($_POST['date_a']));
  $date_b = strip_tags(trim($_POST['date_b']));
  $f_payment = strip_tags(trim($_POST['f_payment']));
  $amount = strip_tags(trim($_POST['amount']));
  $prepayment = strip_tags(trim($_POST['prepayment']));
  $status = strip_tags(trim($_POST['status']));
  $date_c = strip_tags(trim($_POST['date_c']));
  $b_name = strip_tags(trim($_POST['b_name']));
  $text = strip_tags(trim($_POST['text']));
  $c = $amount - $prepayment;

  mysql_query(" UPDATE my_db SET 
  a_name='$a_name',
  z_number='$z_number',
  quadrature='$quadrature',
  date_a='$date_a',
  date_b='$date_b',
  f_payment='$f_payment',
  amount='$amount',
  prepayment='$prepayment',
  surcharge='$c',
  status='$status',
  date_c='$date_c',
  b_name='$b_name',
  text='$text'
  WHERE id='$id'
  ");

mysql_close();
echo "Заявка изменена!";
}

?>
<form method="post" action="edit.php?id=<?php echo $id ?>">
  Название контрагента<br><input type="text" name="a_name" value="<?php echo addslashes($row['a_name']) ?>"/><br>
  № заявки<br><input type="text" name="z_number" value="<?php echo $row['z_number'] ?>"/><br>
  м2<br><input type="text" name="quadrature" value="<?php echo $row['quadrature'] ?>"/><br>
  Дата приема заявки<br><input type="date" id="start" name="date_a" value="<?php echo $row['date_a'] ?>"><br>
  Дата готовности<br><input type="date" id="start" name="date_b" value="<?php echo $row['date_b'] ?>"><br>
  Форма оплаты<br><input type="text" name="f_payment" value="<?php echo $row['f_payment'] ?>"/><br>
  Сумма<br><input type="number" name="amount" value="<?php echo $row['amount'] ?>"/><br>
  Предоплата<br><input type="number" name="prepayment" value="<?php echo $row['prepayment'] ?>"/><br>
 <input type="hidden" name="surcharge" value="<?php echo $c ?>"/>
  Статус<br>
  <select name="status" multiple value="<?php echo $row['status'] ?>">
    <option>не подтверждена</option>
    <option>Подтверждена</option>
    <option>Запустил</option>
 </select><br>
 Когда забрали<br><input type="date" id="start" name="date_c" value="<?php echo $row['date_c'] ?>"><br>
 Кто забрал<br><input type="text" name="b_name" value="<?php echo $row['b_name'] ?>"/><br>
 Комментарий<br><input type="text" name="text" value="<?php echo $row['text'] ?>"/><br><br>

  <input type="submit" name="save" value="Сохранить">

</form>

</body>
</html>


И аналогичная проблема в add.php
<?php 

include_once("db.php"); 

if (isset($_POST['add'])) {
  $a_name = strip_tags(trim($_POST['a_name']));
  $z_number = strip_tags(trim($_POST['z_number']));
  $quadrature = strip_tags(trim($_POST['quadrature']));
  $date_a = strip_tags(trim($_POST['date_a']));
  $date_b = strip_tags(trim($_POST['date_b']));
  $f_payment = strip_tags(trim($_POST['f_payment']));
  $amount = strip_tags(trim($_POST['amount']));
  $prepayment = strip_tags(trim($_POST['prepayment']));
  $status = strip_tags(trim($_POST['status']));
  $date_c = strip_tags(trim($_POST['date_c']));
  $b_name = strip_tags(trim($_POST['b_name']));
  $text = strip_tags(trim($_POST['text']));
  $surcharge = strip_tags(trim($_POST['amount'])) - strip_tags(trim($_POST['prepayment']));

  mysql_query(" INSERT INTO my_db(a_name, z_number, quadrature, date_a, date_b, f_payment, amount, prepayment, surcharge, status, date_c, b_name, text) 
                VALUES ('$a_name', '$z_number', '$quadrature', '$date_a', '$date_b', '$f_payment', '$amount', '$prepayment', '$surcharge', '$status', '$date_c', '$b_name', '$text')");

  mysql_close();

  echo "Новость успешно добавлена!";
}

?>
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
edit.php
...
$row = mysql_query(" SELECT * FROM my_db WHERE id='$id' ");
...

или
...
$stmt = $db->prepare("SELECT * FROM my_db WHERE id = $id");
$stmt->execute(array($id));
$row = $stmt->fetch();
...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Смотрите error.log или включите вывод ошибок в браузер.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы