@anonim5909
Студентка программистка )

Как сделать вывод из БД в input?

Здравствуйте, у меня возникла следующая проблема: нужно сделать вывод в input'ы данные из базы данных по определённой услуге и определённого лицевого счёта.

HTML:
<html>
<head>
</head>
<body> 
<h1 align = "middle">Передайте показания</h1>
<p>Используя данную форму, Вы можете отправить нам текущие показания своих счетчиков.</p>
<form action="bd.php" method="POST" >
<p>ФИО отправителя (обязательно)<br/>
<input type="text" pattern="[А-Яа-яЁё\s]+$" name="your_name" required oninvalid="this.setCustomValidity('Введите свою фамилию,имя и отчество')" oninput="setCustomValidity('')" placeholder="Обязательное поле" value="" size="40"/></p> <!-- любое слово на русском с пробелами -->
<p>Контактный телефон (обязательно)<br/>
<input type="tel"  name="contactnumber" required oninvalid="this.setCustomValidity('Введите номер телефона')" oninput="setCustomValidity('')" placeholder="Обязательное поле" value="" size="40"  aria-required="true"/> </p>
<p>Номер квартиры (обязательно)<br/>
<input type="number" pattern="[0-9]{3}" name="apartment" required oninvalid="this.setCustomValidity('Введите номер своей квартиры')" oninput="setCustomValidity('')" placeholder="Обязательное поле" value="1" size="40" /> </p>
<p>Холодная вода<br/>
<input type="text" pattern="[0-9]{6}" name="coldwater"  value="0"  size="40"/> </p>
<p>Горячая вода<br />
<input type="text" pattern="[0-9]{6}" name="hotwater"  value="0" size="40" maxlength="6"/> </p>
<p>Электричество<br/>
<input type="text" pattern="[0-9]{6}" name="electricity"  value="0" size="40" maxlength="6"/> </p>
<p>Газ<br />
<input type="text" pattern="[0-9]{6}" name="gas"  value="0" size="40" maxlength="6"/> </p>
<p>Отопление<br/>
<input type="text" pattern="[0-9]{6}" name="heating"  value="0" size="40" maxlength="6"/> </p>
<p><input type="checkbox" id="qwe" name="option1" value="a1" required > &nbsp;&nbsp;Пожалуйста поставьте галочку чтобы мы удостоверились что вы не робот.</p>
<p><input type="submit" value="Отправить"/></p>
<p><input type="reset" value="Очистить поля"/></p>
</form>

PHP:
<?php 
echo "<link rel='stylesheet'  href='\Ignatjev\style.css'>";
if (isset($_POST['your_name']) && isset($_POST['contactnumber'])&& isset($_POST['apartment']))
{
// Переменные с формы
$your_name = $_POST['your_name'] ;
$contactnumber = $_POST['contactnumber'];
$apartment = $_POST['apartment'];
$coldwater = $_POST['coldwater'];
$hotwater = $_POST['hotwater'];
$electricity = $_POST['electricity'];
$gas = $_POST['gas'];
$heating = $_POST['heating'];
// Параметры для подключения
$db_host = "localhost"; 
$db_user = "root"; // Логин БД
$db_password = "masterkey"; // Пароль БД
$db_base = 'mydatabase'; // Имя БД
$db_table = "mytable"; // Имя Таблицы БД
// Подключение к базе данных
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);
$mysqli->set_charset("utf8");
// Если есть ошибка соединения, выводим её и убиваем подключение
if ($mysqli->connect_error) 
{
    die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
//проверка на предыдущее показание
$sql = "SELECT * FROM ".$db_table." WHERE `apartment` = '$apartment' LIMIT 1";
$result = $mysqli->query($sql);
$row = $result->fetch_assoc();
if ($row["coldwater"] > $coldwater)
{
echo"Cледующее показание по холодной воде не может быть меньше предыдущего <br> ";
echo '<a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>';
echo "<html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>";
exit();
}
if ($row["hotwater"] > $hotwater) 
{
  echo "Cледующее показание по горячей воде не может быть меньше предыдущего <br>";
  echo '<a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>';
  echo "<html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>";
  exit();
}
if ($row["electricity"] > $electricity)
{	
echo "Cледующее показание по электричеству не может быть меньше предыдущего <br>";
echo '<a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>';
echo "<html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>";
exit();
}
if ($row["gas"] > $gas)
{
echo "Cледующее показание по газу не может быть меньше предыдущего <br>";
echo '<a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>';
echo "<html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>";
exit();
}
if ($row["heating"] > $heating)
{	
echo "Cледующее показание по отоплению не может быть меньше предыдущего <br>";
echo '<a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>';
echo "<html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>";
exit();
}
//Добавление
$sql = "INSERT INTO ".$db_table."
 (fullname,contactnumber,apartment,coldwater,hotwater,electricity,gas,heating)
 VALUES ('$your_name','$contactnumber','$apartment','$coldwater','$hotwater','$electricity','$gas','$heating')";
 echo '$sql = '.$sql;
$result = $mysqli->query($sql);
 
if ($result == true)
{
  echo "Информация занесена в базу данных";
    echo "<html><head><meta http-equiv='Refresh' content='0; URL=index.php'></head><body></body></html>";
}
else
{
   die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
   echo "Информация не занесена в базу данных" ;
}
}
?>

MySQL:
drop database if exists mydatabase;
create database mydatabase;
use mydatabase;
CREATE TABLE mytable (
  ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  fullname varchar(255) CHARACTER SET utf32 NOT NULL,
  contactnumber BIGINT(20) NOT NULL,
  apartment INT,
  coldwater INT,
  hotwater INT,
  electricity INT,
  gas INT,
  heating INT 
);
CREATE TABLE svyaz (
  ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  firstname varchar(255) CHARACTER SET utf32 NOT NULL,
  email varchar(255) NOT NULL,
  message mediumtext character set utf8
);

  • Вопрос задан
  • 889 просмотров
Пригласить эксперта
Ответы на вопрос 1
leni_m
@leni_m
ЧупаКобрус
Раз вы используете php, то меняйте все расширения html на php.
В пэхапэ файле, если будет html код - ничего срашного, а php код в html файле - то будут проблемы.
вставляйте нужные данные в атрибут value="" у инпута,
например:
<input value="<?php echo $my_value; ?>" />
Ну вы и наплодили echo, на статические строки, когда их просто можно вынести вне пхп тегов, например конструкции
if ($row["coldwater"] > $coldwater)
{
echo"Cледующее показание по холодной воде не может быть меньше предыдущего <br> ";
echo '<a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>';
echo "<html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>";
exit();
}

можно заменить на
<?php if ($row["coldwater"] > $coldwater): ?>
    Cледующее показание по холодной воде не может быть меньше предыдущего <br> 
    <a href="http://localhost/Ignatjev/Index.php"><button>Главная страница</button></a> <br>
    <html><head><meta http-equiv='Refresh' content='10; URL=index.php'></head><body></body></html>
<?php exit(); endif; ?>
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
от 300 000 до 500 000 ₽
05 мая 2024, в 23:43
8000 руб./за проект
05 мая 2024, в 23:39
3000 руб./за проект
05 мая 2024, в 23:36
3000 руб./за проект