Перейти к публикации

Формы и скрипты для работы с данными в БД


Рекомендованные сообщения

Озадачили системой учета дисконтных карт на сети автосервисов... с просьбой прицепить оную к сайту.

Проблему решил, яндекс помог и знание нерусского языка тоже...

Но вполне можно приспособить данную систему для самых разных целей, к примеру - те же интернет-магазины и прочее..

Форма 1 - регистрация карточки

форма

Регистрация новой карточки<br></br>

<form id="form1" name="cards-reg" method="post" action="./regcards.php">

<table width="40%">

<tr>

<td>Номер дисконтной карты</td><td><input name="cardnumber" type="text" /></td>

</tr>

<tr>

<td>Марка автомобиля</td><td><input name="cartm" type="text" /></td>

</tr>

<tr>

<td>Модель автомобиля</td><td><input name="carmodel" type="text" /></td>

</tr>

<tr>

<td>Гос. рег. номер</td><td><input name="carnumber" type="text" /></td>

</tr>

<tr>

<td>Полное имя</td><td><input name="fslname" type="text" /></td>

</tr>

<tr>

<td>Дата выдачи карты</td><td><input name="regdate" type="text" /></td>

</tr>

<tr>

<td>Дата рождения</td><td><input name="birdth" type="text" /></td>

</tr>

<tr>

<td>Контактный телефон</td><td><input name="phone" type="text" /></td>

</tr>

<tr>

<td>VIN номер автомобиля</td><td><input name="vin" type="text" /></td>

</tr>

</table>

<input name="submit" type="submit" value="Ввести" />

</form>

исполнительный файл

<html>

<head>

<title>Вставка данных в БД</title>

</head>

<body>

<?php

// Соединение с сервером БД

mysql_connect("mysql_server", "user_name", "sezam") or die (mysql_error ());

// Выбор БД

mysql_select_db("target_db") or die(mysql_error());

// Построение SQL-оператора

$strSQL = "INSERT INTO dle_cards (cardnumber,cartm,carmodel,carnumber,fslname,regdate,birdth,phone,vin) VALUES('" . $_POST["cardnumber"] . "','" . $_POST["cartm"] . "','" . $_POST["carmodel"] . "','" . $_POST["carnumber"] . "','" . $_POST["fslname"] . "','" . $_POST["regdate"] . "','" . $_POST["birdth"] . "','" . $_POST["phone"] . "','" . $_POST["vin"] . "')";

// SQL-оператор выполняется

mysql_query($strSQL) or die (mysql_error());

// Закрытие соединения

mysql_close();

?>

<META HTTP-EQUIV='Refresh' CONTENT='2; URL="/target_page.html"'>

<h1>БД обновлена!</h1>

</body>

</html>

Форма 2 - просмотр списка карт

форма

Поиск по базе<br></br>

<form id="form2" name="cards-search" method="post" action="./searchcards.php">

<table width="40%">

<input name="submit" type="submit" value="Искать" />

</form>

исполнительный файл

<?php

// Соединение с сервером БД

mysql_connect("mysql_server", "user_name", "sezam") or die (mysql_error ());

// Выбор БД

mysql_select_db("target_db") or die(mysql_error());

mysql_query('SET NAMES cp1251');

// SQL-запрос

$strSQL = "SELECT * FROM dle_cards";

// Выполнить запрос (набор данных $rs содержит результат)

$rs = mysql_query($strSQL);

// Цикл по recordset $rs

// Каждый ряд становится массивом ($row) с помощью функции mysql_fetch_array

//while($row = mysql_fetch_array($rs)) {

// Записать значение столбца FirstName (который является теперь массивом $row)

echo "<center>";

echo "<table border='1'>

<tr>

<th>№№<br>п/п</th>

<th>Номер карты</th>

<th>Марка машины</th>

<th>Модель машины</th>

<th>Государственный<br>регистрационный номер</th>

<th>Полное имя</th>

<th>Дата выдачи</th>

<th>Дата рождения</th>

<th>Контактный<br>телефон</th>

<th>VIN</th>

</tr>";

while($row = mysql_fetch_array($rs)) {

echo "<tr>";

echo "<td>" . $row['id'] . "</td>";

echo "<td>" . $row['cardnumber'] . "</td>";

echo "<td>" . $row['cartm'] . "</td>";

echo "<td>" . $row['carmodel'] . "</td>";

echo "<td>" . $row['carnumber'] . "</td>";

echo "<td>" . $row['fslname'] . "</td>";

echo "<td>" . $row['regdate'] . "</td>";

echo "<td>" . $row['birdth'] . "</td>";

echo "<td>" . $row['phone'] . "</td>";

echo "<td>" . $row['vin'] . "</td>";

echo "</tr>";

}

// Закрыть соединение с БД

mysql_close();

?>

Форма 3 - удаление карточек

форма

Удаление записей

<form id="form3" name="cards-delete" method="post" action="./deletecards.php">

<table width="40%">

<tr>

<td>Номер порядковой записи</td><td><input name="id" type="text" /></td>

</tr>

</table>

<input name="submit" type="submit" value="Удалить" />

</form>

исполнительный файл

<html>

<head>

<title>Удаление данных из БД</title>

</head>

<body>

<?php

// Соединение с сервером БД

mysql_connect("mysql_server", "user_name", "sezam") or die (mysql_error ());

// Выбор БД

mysql_select_db("target_db") or die(mysql_error());

mysql_query('SET NAMES cp1251');

// Выполнить запрос (набор данных $rs содержит результат)

$rs = mysql_query($strSQL);

// SQL-оператор, удаляющий запись

$strSQL = "DELETE FROM dle_cards WHERE id = '" . $_POST["id"] . "'";

mysql_query($strSQL);

// Закрыть соединение с БД

mysql_close();

?>

<META HTTP-EQUIV='Refresh' CONTENT='2; URL="/cards.html"'>

<h1>БД обновлена!</h1>

<h1>Запись удалена!</h1>

</body>

</html>

алгоритм то везде будет один, поля можно заточить под собственные нужды. также для себя именовать и сами формы и исполнительные файлы, у регистрации и удаления - как пример - внизу вставка автовозврата на исходную статическую страницу. можно использовать, можно - нет. Я как раз сделал страничку "Учет карт" и возврат идет на нее.

Изменено пользователем Klemanso
Ссылка на сообщение
Поделиться на других сайтах

Объяснительная

У друзей есть сеть автосервисов. Они сделали себе дисконтные карты для постоянных клиентов. на 5 и 10 % скидки. Как учесть кому выдано? как проверить - это сам владелец илди он передал кому-то карточку? Как восстановить данные или заменить, если карта утеряна, повреждена и т.д. ? да и масса других проблем

вот и напрягли с утра....

так выглядит статическая станица под именем "Учет карт":

card.JPG

так выглядит выводимая таблиц данных в поиске:

search.JPG

ну а примерно так - всплеск эмоций после внесения - удаления записей:

DB.JPG

после чего идет автоматический возврат на исходную страницу

Ссылка на сообщение
Поделиться на других сайтах

Нормуль. где нибудь в хозяйстве сгодится

Изменено пользователем alex32
Ссылка на сообщение
Поделиться на других сайтах

сегодня экспериментнул от безделья...

практически легко приспособимы к любой ключевой таблице, к кторой придется часто обращаться

попробую прикрутить вариативный поиск, т.е. одно поле ввода и там любой текст, чтобы искала по совпадениям и не выводила все прочие записи одновременно

Ссылка на сообщение
Поделиться на других сайтах

ну вот, поднапрягся и принял решение

итого имеем = поиск по выбору (зависимые поля).. выбирал довольно долгое время, но остановился на данном варианте почему-то....

Форма:

<form id="form2" name="cards-search" action="./script.php" method="POST">

<select name="field">

<option value="cardnumber">Номер карты</option>

<option value="cartm">Марка машины</option>

<option value="carmodel">Модель машины</option>

<option value="carnumber">Гос.рег.номер</option>

<option value="fslname">Полное имя</option>

<option value="regdate">Дата выдачи</option>

<option value="birdth">Дата рождения</option>

<option value="phone">Контактный телефон</option>

<option value="vin">VIN</option>

</select>

&nbsp;

<select name="operand"> ---- тут можно добавлять операнды при необходимости

<option value="=">=</option>

</select>

&nbsp;

<input type="text" name="value">

<input type="submit" value="Искать">

</form>

Скрипт:

<?php

// Соединение с сервером БД

mysql_connect("mysql_server", "user_name", "sezam") or die (mysql_error ());

// Выбор БД

mysql_select_db("target_db") or die(mysql_error());

mysql_query('SET NAMES cp1251');

//script.php

extract($_POST);

$sql = "SELECT * FROM `dle_cards` WHERE `".$field."`".$operand."'".$value."'";

$result = mysql_query($sql);

// Записать значение столбца FirstName (который является теперь массивом $row)

echo "<center>";

echo "<table border='1'>

<tr>

<th>№№<br>п/п</th>

<th>Номер карты</th>

<th>Марка машины</th>

<th>Модель машины</th>

<th>Государственный<br>регистрационный номер</th>

<th>Полное имя</th>

<th>Дата выдачи</th>

<th>Дата рождения</th>

<th>Контактный<br>телефон</th>

<th>VIN</th>

</tr>";

while($row = mysql_fetch_array($rs)) {

echo "<tr>";

echo "<td>" . $row['id'] . "</td>";

echo "<td>" . $row['cardnumber'] . "</td>";

echo "<td>" . $row['cartm'] . "</td>";

echo "<td>" . $row['carmodel'] . "</td>";

echo "<td>" . $row['carnumber'] . "</td>";

echo "<td>" . $row['fslname'] . "</td>";

echo "<td>" . $row['regdate'] . "</td>";

echo "<td>" . $row['birdth'] . "</td>";

echo "<td>" . $row['phone'] . "</td>";

echo "<td>" . $row['vin'] . "</td>";

echo "</tr>";

}

// Закрыть соединение с БД

mysql_close();

?>

за двое суток сбора аналитики = полет нормальный, сбоев нет

мои клиенты счастливы.

Изменено пользователем Klemanso
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...