Показать сообщение отдельно
  #1 (permalink)  
Старый 07.06.2020, 20:09
Аватар для Безнадежный программист
Интересующийся
Отправить личное сообщение для Безнадежный программист Посмотреть профиль Найти все сообщения от Безнадежный программист
 
Регистрация: 03.05.2020
Сообщений: 17

База данных PMA и PHP-сайт (Денвер)
Здравствуйте еще раз! Я пытаюсь решить это - правильно (конкретно для базы данных и ее кодировки) вывести в PHP таблицу с данными, затем организовать с этим же PHP их добавление и удаление по полям ввода (для добавления - вводить все данные для полей, для удаления - лишь id поля).
Как примерно сейчас выглядит БД на PMA показано ниже. Я надеюсь, что здесь все в порядке, хотя если что будет не так - я слушаю. Разрешение постаралась сделать как можно больше - вроде все видно.

А вот с кодом все сложнее, конечно - как уже упоминалось выше, все данные из базы данных вывелись нормально, в кодировке utf-8 BOM, но когда я пытаюсь добавить записи через форму PHP на русском в БД - весь текст деформируется. Советовали изменить AddDefaultCharset или другие кодировки попробовать - лучше не становилось, к сожалению. Я думала, может смена кодировки для текстовых полей в базе данных как-то поможет, но, я так понимаю, что все-таки надо разбираться именно в php.

Удаление вообще не работало, поэтому я его убрала. Денвер в целом очень часто жалуется на все mysql-и в коде, и я пыталась их менять по-разному, но в итоге пришлось оставить, как есть, на данный момент.

Вот такие коды:

Основная страница с таблицей и кнопками:

<meta http-equiv="content-type" content="text/php; charset=utf-8" />
<?php
  echo "<h1>Создание базы данных</h1><br>";
  echo "<table border=1><tr  align=center><td width=10%><b>Номер</td><td width=30%><b>Название</td><td width=20%><b>Цена</td><td width=20%><b>Количество</td><td width=20%><b>Примечание</td></tr>";
  $sqlhost="localhost"; $sqluser="homeuser"; $sqlpass=""; $bd="TOVAR"; 
  mysql_connect($sqlhost,$sqluser,$sqlpass) or die ("нет доступа!".mysql_error());
  mysql_query("SET NAMES utf8");
  mysql_select_db($bd) or die ("нет соединения".mysql_error());
  $zap="SELECT * FROM tov ORDER BY id";
  $zap_res=mysql_query($zap);
   while (list($id, $name, $cost, $kol, $prim)=mysql_fetch_row($zap_res))
    {
      echo "<tr>  <td>$id</td>   <td>$name</td>   <td> $cost</td>   <td>$kol</td>   <td>$prim</td>  </tr>";
    }
  echo "</table>"; 
?>

</br>
<form action="add.php" method="POST">
  <input type="submit" value="Добавить данные">
</form>

<form method="GET">
  <input type="submit" value="Удалить запись">
  <input type="text" name="id">
</form>


Форма для добавления записи:

<html>

  <head>
    <meta charset="utf-8">
    <title>Add</title>
  </head>

  <body>
    <?php
      if(isset($_POST['id']) && isset($_POST['name']) && isset($_POST['cost']) && isset($_POST['kol']) && isset($_POST['prim'])){
        $sqlhost="localhost"; $sqluser="homeuser"; $sqlpass=""; $bd="TOVAR"; 
        $link = mysqli_connect($sqlhost, $sqluser, $sqlpass, $bd) or die("Ошибка " . mysqli_error($link)); 
    
        $id = htmlentities(mysqli_real_escape_string($link, $_POST['id']));
        $name = htmlentities(mysqli_real_escape_string($link, $_POST['name']));
        $cost = htmlentities(mysqli_real_escape_string($link, $_POST['cost']));
        $kol = htmlentities(mysqli_real_escape_string($link, $_POST['kol']));
        $prim = htmlentities(mysqli_real_escape_string($link, $_POST['prim']));
     
        $query ="INSERT INTO tov VALUES('$id', '$name','$cost', '$kol', '$prim')";     
        $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); 
        if($result) {
          echo "Данные добавлены";
        }
        mysqli_close($link);
      }  
    ?>

    <h2>Введите данные для новой записи в базе данных</h2>
    <form method="POST">
      <p>Номер:
        <br>
        <input type="text" name="id" />
      </p>
      <p>Назание:
        <br>
        <input type="text" name="name" />
      </p>
      <p>Цена:
        <br>
        <input type="text" name="cost" />
      </p>
      <p>Количество:
        <br>
        <input type="text" name="kol" />
      </p>
      <p>Примечание:
          <br>
          <input type="text" name="prim" />
      </p>
      <input type="submit" value="Добавить запись">
    </form>

  </body>
</html>


Простите за общую неказистость - я раньше вообще никогда не работала с БД в таком плане. Как всегда, заранее спасибо за ваше внимание к моей проблеме. Из местной поддержки многое выучила.
Изображения:
Тип файла: jpg php.jpg (16.7 Кб, 7 просмотров)
Тип файла: jpg Tovar.jpg (20.3 Кб, 7 просмотров)
Ответить с цитированием