Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

muldava

Помощ за намаляне на брой в базата данни PHP

Препоръчан отговор


Здравейте, правя един сайт на PHP & MySQL за курсова работа. Сайта представлява един вид магазин за лаптопи. Проблемът ми е, че когато се изпълни формулярът за поръчката на даден лаптоп искам броят му в базата данни да намаля? Задал съм начална бройка 10 в таблицата на марките латопи в базата данни. Благодаря предварително.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Просто при приемането на поръчката вадиш поръчаната бройка от наличността, която имаш. Трябва да решиш дали да провериш дали имаш достатъчно бройки, за да изпълниш поръчката, и какво да стане, ако се окаже, че наличните бройки са по-малко.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
    // Взимам текущото количество    $sql = "SELECT quantity FROM items WHERE item = '$id'";    $result = mysql_query($sql);    $quantity = $row['quantity'];    // Обновявам количеството, като свалям с единица    $new_quantity = $row['quantity'] - 1;    $sql = "UPDATE items SET quantity = '$new_quantity' WHERE item_id = '$id'";    $result = mysql_query($sql);

Кода за такова нещо би трябвало да прилича на нещо такова

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
    // Взимам текущото количество    $sql = "SELECT quantity FROM items WHERE item = '$id'";    $result = mysql_query($sql);    $quantity = $row['quantity'];    // Обновявам количеството, като свалям с единица    $new_quantity = $row['quantity'] - 1;    $sql = "UPDATE items SET quantity = '$new_quantity' WHERE item_id = '$id'";    $result = mysql_query($sql);

Кода за такова нещо би трябвало да прилича на нещо такова

 

 

Тц. Така е грешно.

Ето най-елементарния примерен вариант как трябва да стане:

$quantity = (int) $_POST['quantity'];$id = (int) $_POST['id'];$sql = "UPDATE items SET quantity = quantity - {$quantity} WHERE item_id = {$id}";

Разбира се, логиката и валидацията може още да се постегне. :)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Тц. Така е грешно.

Ето най-елементарния примерен вариант как трябва да стане:

$quantity = (int) $_POST['quantity'];$id = (int) $_POST['id'];$sql = "UPDATE items SET quantity = quantity - {$quantity} WHERE item_id = {$id}";

Разбира се, логиката и валидацията може още да се постегне. :)

 

Е, то е ясно, че е грешно (най-малкото защото mysql умря, вече имаме mysqli) :) просто показвам на къде трябва да се гледа, като метод... все пак домашното не е за нас :)


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Е, то е ясно, че е грешно (най-малкото защото mysql умря, вече имаме mysqli) :) просто показвам на къде трябва да се гледа, като метод... все пак домашното не е за нас :)

 

Ти показваш всичко друго, но не и правилен метод към проблема. То може и още 10 заявки да направиш, за да извършиш операция, която може да се направи и с една заявка. Да не говорим, че изобщо не валидираш данните, които взимаш от формата.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

×
×
  • Добави ново...