Здравствуйте еще раз! Я пытаюсь решить это - правильно (конкретно для базы данных и ее кодировки) вывести в 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>
Простите за общую неказистость - я раньше вообще никогда не работала с БД в таком плане. Как всегда, заранее спасибо за ваше внимание к моей проблеме. Из местной поддержки многое выучила.