Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обединение UPDATE INSERT DELETE [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Без описания
exlant
Отправлено: 02 Марта, 2015 - 20:40:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




можно...
PHP:
скопировать код в буфер обмена
  1.  
  2. ...}else{
  3. echo "не достаточно средств на счете";
  4. }
  5.  

а вообще в переменную текст засунуть, а потом выводить где нужно
 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 20:42:03
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




а то у меня вот
PHP:
скопировать код в буфер обмена
  1. if($result1 == 'true')
  2. {echo "<p>Ваши данные успешно добавлены</p>";}
  3. else {echo "<p>Ваши данные не добавлены</p>";}
  4. if ($result1)


вечно пишет Ваши данные успешно добавлены
(Добавление)

exlant пишет:
можно...

 
PHP:
скопировать код в буфер обмена
  1. ...}else{
  2. echo "не достаточно средств на счете";
  3. }

 

а вообще в переменную текст засунуть, а потом выводить где нужно

чет не выводит

(Отредактировано автором: 02 Марта, 2015 - 20:49:31)

 
 Top
exlant
Отправлено: 02 Марта, 2015 - 20:49:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




PHP:
скопировать код в буфер обмена
  1. mysql_query("UPDATE cp_shards SET shard=shard -25 WHERE acid= $ac_id AND shard >= 25");
  2. //проверяем или хватает денег у юзера
  3.  
  4. mysql_query("INSERT INTO account_premiums (id,setdate,unsetdate) VALUES ('$ac_id',NOW(),NOW() + interval 1 day )  ON DUPLICATE KEY UPDATE setdate=NOW(), unsetdate=NOW() + interval 1 day");
  5. //если в таблице с деньгами все в порядке добавляем пользователя в аккаунт премиумс, если он там уже существовал обновляем его строчку
  6. }else{
  7. $update  = 'false';
  8. }
  9.  
  10. if($update == 'false') {echo "<p>Ваши данные не добавлены</p>";}
  11. else  {echo "<p>Ваши данные успешно добавлены</p>";}

так тоже?
 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 20:52:08
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




вот так вот у меня
PHP:
скопировать код в буфер обмена
  1. $result1 = mysql_query("UPDATE cp_shards SET shard=shard -25 WHERE acid= $ac_id AND shard >= 25");
  2. //проверяем или хватает денег у юзера
  3.  
  4. }else{
  5. echo "не достаточно средств на счете";
  6. }
  7. mysql_query("INSERT INTO account_premiums (id,setdate,unsetdate) VALUES ('$ac_id',NOW(),NOW() + interval 1 day )  ON DUPLICATE KEY UPDATE setdate=NOW(), unsetdate=NOW() + interval 1 day");
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 20:53:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




а почему не так?
PHP:
скопировать код в буфер обмена
  1. $result1 = mysql_query("UPDATE cp_shards SET shard=shard -25 WHERE acid= $ac_id AND shard >= 25");
  2. //проверяем или хватает денег у юзера
  3.  
  4. mysql_query("INSERT INTO account_premiums (id,setdate,unsetdate) VALUES ('$ac_id',NOW(),NOW() + interval 1 day )  ON DUPLICATE KEY UPDATE setdate=NOW(), unsetdate=NOW() + interval 1 day");
  5. }else{
  6. echo "не достаточно средств на счете";
  7. }

я же так писал

(Отредактировано автором: 02 Марта, 2015 - 20:55:14)

 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 20:56:40
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




извиняюсь за тупостиНедовольство, огорчение
(Добавление)
а вот последний вопрос вот кнопочка, как сделать чтоб интервалы ну и суму можно было меня тут :
CODE (html):
скопировать код в буфер обмена
  1.   <form name="forma" action="index.php?p=100" method="post">
  2. <font color="#ff3333">* </font><font size=4 color="#DCDCDC">Премиум на:</font>
  3. <select name="id" CLASS="styled-select" >
  4. <option  value="<? echo "$datag[id]" ?>">1 день</option>
  5. <option  value="<? echo "$datag[id]" ?>">Неделю</option>
  6. <option  value="<? echo "$datag[id]" ?>">Месяц</option>
  7. <input name="submit" type="submit" value="Взять премиум">
  8. </form>

(Отредактировано автором: 02 Марта, 2015 - 21:03:00)

 
 Top
exlant
Отправлено: 02 Марта, 2015 - 21:02:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




что находиться в $datag[id]?
 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 21:03:50
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




exlant пишет:
что находиться в $datag[id]?

Id Аккаунта
(Добавление)
или легче сделать по кнопочке на каждый интервал? ну и сомо собой переписать запросы под кнопки.
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 21:14:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <form name="forma" action="index.php?p=100" method="post">
  2. <font color="#ff3333">* </font><font size=4 color="#DCDCDC">Премиум на:</font>
  3. <select name="period" CLASS="styled-select" >
  4. <option  value="1">1 день</option>
  5. <option  value="7">Неделю</option>
  6. <option  value="31">Месяц</option> //тут сам решайте сколько у вас месяц
  7. <input type="hidden" name="user_id" value="<?php echo $datag[id]; ?>">
  8. <input name="submit" type="submit" value="Взять премиум">
  9. </form>


PHP:
скопировать код в буфер обмена
  1.  
  2. $ac_id = (isset($_POST['user_id'])) ? abs((int)$_POST['user_id'] ) : null;
  3. $period = (isset($_POST['period'])) ? abs((int)$_POST['period'] ) : null;
  4. $result1 = mysql_query("UPDATE cp_shards SET shard=shard -25 WHERE acid= $ac_id AND shard >= 25");
  5. //проверяем или хватает денег у юзера
  6.  
  7. mysql_query("INSERT INTO account_premiums (id,setdate,unsetdate) VALUES ('$ac_id',NOW(),NOW() + interval ".$period." day )  ON DUPLICATE KEY UPDATE setdate=NOW(), unsetdate=NOW() + interval ".$period." day");
  8. }else{
  9. echo "не достаточно средств на счете";
  10. }
  11.  
  12.  
 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 21:15:05
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Даже так что ид сесии аккаунта который авторизован в лк
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 21:18:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




если id юзера в сессии то убрать поле hidden в форме...
 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 21:22:12
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




но в прицепи работает как должно поле хиден не убирал, а как поставить цены на сроки?

(Отредактировано автором: 02 Марта, 2015 - 21:23:30)

 
 Top
exlant
Отправлено: 02 Марта, 2015 - 21:29:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




как то так можно сделать
PHP:
скопировать код в буфер обмена
  1. $ac_id = (isset($_POST['user_id'])) ? abs((int)$_POST['user_id'] ) : null;
  2. $period = (isset($_POST['period'])) ? abs((int)$_POST['period'] ) : null;
  3.  
  4. switch($period){
  5.   case 1 : $cost = 25;
  6.   break;
  7. case 7 : $cost = 7*25;
  8.   break;
  9. case 31 : $cost = 31*25;
  10.   break;
  11. default: $cost = 25;
  12. }
  13.  
  14. $result1 = mysql_query("UPDATE cp_shards SET shard=shard ".$cost." WHERE acid= $ac_id AND shard >= ".$cost);
  15. //проверяем или хватает денег у юзера
  16.  
  17. mysql_query("INSERT INTO account_premiums (id,setdate,unsetdate) VALUES ('$ac_id',NOW(),NOW() + interval ".$period." day )  ON DUPLICATE KEY UPDATE setdate=NOW(), unsetdate=NOW() + interval ".$period." day");
  18. }else{
  19. echo "не достаточно средств на счете";
  20. }

"-" минус упустил в коде
$result1 = mysql_query("UPDATE cp_shards SET shard=shard -".$cost." WHERE acid= $ac_id AND shard >= ".$cost);

(Отредактировано автором: 02 Марта, 2015 - 21:32:04)

 
 Top
f0rs1k
Отправлено: 02 Марта, 2015 - 21:36:30
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




всё получилось отлично спасибо, а почему это тут так default: $cost = 25; ? не могу малость понять по умолчанию 25

PHP:
скопировать код в буфер обмена
  1.   case 1 : $cost = 25;
  2.   break;
  3. case 7 : $cost = 150;
  4.   break;
  5. case 30 : $cost = 450;
  6.   break;
  7. default: $cost = 25;
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 21:38:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




это если не сработает ни один case, то $cost будет 25... эту строчку можно вообще убрать, это так на всякий случай написал!

ведь пользователь может в форме какой то другой период передать...

а вообще все данные из формы нужно проверять!

и вместо mysql использовать mysqli, так как первая уже устарела и будет в следующей версии php удалена!

(Отредактировано автором: 02 Марта, 2015 - 21:45:58)

 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB