stimblasta
Писатель
- Регистрация
- 10 Июл 2010
- Сообщения
- 6
- Реакции
- 1
- Автор темы
- #1
Всем привет! Я не так хорошо знаю PHP , но стараюсь и изучаю по тихоньку. После создание своей ( простой ) CMS мне захотелось для пользователей сделать Магазин с подарками за баллы.
Т.е пользователь набирает определённое кол- во баллов( администратор к примеру добавляет их) и выбирает подарок по стоимости.
Скрипт написал примитивный, но может кому понадобится.
Делал на своей система авторизации.
____
Таблица magazin
Поле Тип Null По умолчанию Комментарии
id_podarka int(5) Нет
podarok varchar(255) Нет
cena int(5) Нет
title varchar(255) Нет
_____
Таблица podarki
id int(4) Нет
user_id int(7) Нет
id_podarka int(7) Нет
podarok varchar(255) Нет
comment text Нет
otkogo varchar(255) Нет
Думаю тут всё понятно, теперь приступим к самому коду.
Сам магазинчик.. форма с выбором подарка, добавление комментарий и какому пользователю отправить)
и обработчик!
Сразу говорю, тухлыми помидорами не кидаться)) Делал для себя, но выкладываю, может кому то пригодится)И я только продолжаю учится!)
Вот как выглядит у меня.
Для просмотра ссылки Войдиили Зарегистрируйся
Т.е пользователь набирает определённое кол- во баллов( администратор к примеру добавляет их) и выбирает подарок по стоимости.
Скрипт написал примитивный, но может кому понадобится.
Делал на своей система авторизации.
____
Таблица magazin
Поле Тип Null По умолчанию Комментарии
id_podarka int(5) Нет
podarok varchar(255) Нет
cena int(5) Нет
title varchar(255) Нет
_____
Таблица podarki
id int(4) Нет
user_id int(7) Нет
id_podarka int(7) Нет
podarok varchar(255) Нет
comment text Нет
otkogo varchar(255) Нет
Думаю тут всё понятно, теперь приступим к самому коду.
Сам магазинчик.. форма с выбором подарка, добавление комментарий и какому пользователю отправить)
PHP:
<form action="magazin_o.php" method="post">
<?
$result20 = mysql_query("SELECT * FROM magazin ORDER BY cena DESC");
$myrow20 = mysql_fetch_array($result20);
$id_podarka = addslashes($id_podarka);
do
{
printf ("<p><input name='id_podarka' type='radio' value='%s'><label>%s <img src='images/podarki/%s'> | Цена: %s баллов</label></p>",$myrow20["id_podarka"],$myrow20["title"],$myrow20["podarok"],$myrow20['cena']);
}
while ($myrow20 = mysql_fetch_array($result20));
?>
<p>
<label>Выберите получателя <br>
<select name="id">
<?
$result30 = mysql_query("SELECT login,id FROM users",$db);
if (!$result30)
{
echo "<p>Запрос на выборку данных из базы не прошел.</p>";
exit(mysql_error());
}
if (mysql_num_rows($result30) > 0)
{
$myrow = mysql_fetch_array($result30);
do
{
printf ("<option value='%s'>%s</option>",$myrow["id"],$myrow["login"]);
}
while ($myrow = mysql_fetch_array($result30));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>
</select>
</label>
</p>
<p>
<label>Введите комментарий к подарку:<br>
<textarea name="comment" id="comment" cols="40" rows="6"></textarea>
</label>
<p> <input name="submit" type="submit" value="Купить!"></p>
</form>
и обработчик!
PHP:
<?php
$comment = stripslashes($comment);
$comment = htmlspecialchars($comment);
$result20 = mysql_query("SELECT * FROM magazin WHERE id_podarka='$id_podarka' ",$db); // из магазина дастаем подарок с id 13
$myrow20 = mysql_fetch_array($result20); // пихаем его в массив
$podarok = $myrow20['podarok'];
$result = mysql_query("SELECT * FROM users WHERE id='$ids' ",$db); // достаем данные авторизованного юзера
$myrow = mysql_fetch_array($result); // пихаем их в массив
if($myrow['dengi'] < $myrow20['cena']) // если у пользователя меньше денег, чем цена подарка
{
echo "Извините, но у вас недостаточно баллов на счету для покупки этого подарка. ";
}
else
{
$dengi = $myrow['dengi'];
$dengi = $dengi - $myrow20['cena'];
mysql_query("UPDATE users SET dengi='$dengi' WHERE id='$ids' ",$db);
//Далее в какой то другой базе ставим метку, что пользователь купил подарок,
mysql_query("INSERT INTO podarki (user_id,id_podarka,podarok,comment,otkogo) VALUES ('$id','$id_podarka','$podarok','$comment','$login')",$db);
echo "Поздравляем! Подарок куплен."; // кидаем юзера на другую страницу и показываем сообщение, подарок успешно приобретен...
}
?>
Сразу говорю, тухлыми помидорами не кидаться)) Делал для себя, но выкладываю, может кому то пригодится)И я только продолжаю учится!)
Вот как выглядит у меня.
Для просмотра ссылки Войди