2013-08-28 2 views
1

Как именно вычитать значения из базы данных с помощью php? Я вижу много примеров использования статических переменных, такие какКак вычесть значения db с помощью php

<?php 
$first_number = 10; 
$second_number = 2; 
$third_number = 3; 
$sum_total = $third_number + $second_number * $first_number; 
print ($sum_total); 
?> 

Однако я ищу вычесть одно значение из базы данных из другого источника, а затем умножить это значение на другое значение дб. Чтобы дать более подробную информацию, у меня есть база данных инвентаря, где я повторяю значения в таблице, я пытаюсь вычесть общее количество элемента из минимальной величины, чтобы увидеть, сколько нужно заказывать, затем умножить количество деталей, которые нам нужно заказать по стоимости этой части. Я порылся и нашел несколько возможных способов, таких как

$query = "SELECT `db`, 
     (`minimumquantity` - `totalquantity`) AS `quantitytoorder` 
     FROM `db` 
     WHERE id ='".$id."';" 

и

<?php 
$minimumquantity = $_GET['minimumquantity']; 
$totalquantity = $_GET['totalquantity']; 

$quantitytoorder = $minimumquantity - $totalquantity; 
print ($quantitytoorder); 
?> 

Пожалуйста, прежде чем вы смеетесь, я очень начинающий, может кто-нибудь мне точку в правильном направлении, или предоставить мне соответствующие примеры? Мой единственный реальный ресурс - это сеть, и большинство примеров, которые я нахожу, очень высокоуровневые.

Field    Type  Null  Key Default Extra 
id    int(3)  NO  PRI NULL  auto_increment 
partnumber  varchar(20) NO    NULL 
description  varchar(20) NO    NULL 
tonerprice  int(20)  NO    NULL 
totalquantity  int(20)  NO    NULL 
minimumquantity int(20)  NO    NULL 
quantitytoorder int(20)  NO    NULL 
replencost  int(20)  NO    NULL 
+0

Вы пробовали что-нибудь из этого? Пример SQL выглядит приличным. Вы знаете, как извлекать данные из базы данных с помощью PHP и просто выводить его? – deceze

+2

Почему это было проголосовано? Это совершенно правильный вопрос, и он включает в себя код, а ОП предпринял некоторые исследовательские усилия. –

+0

Все ценности, которые вы играете d анализировать уже в базе данных? Если это так, вставьте здесь таблицу (макет) вашей схемы db с помощью инструкции SQL «DESCRIBE table_name_here» http://dev.mysql.com/doc/refman/4.1/en/describe.html – Cups

ответ

0

Так если вы знаете, как работать с SQL в PHP, это так просто, как это:

// STOP USING mysql, use mysqli or PDO, for demonstration purposes only 
$results = mysql_query('SELECT foo, bar, baz FROM table'); 

while ($row = mysql_fetch_assoc($results)) { 
    echo $row['foo'] - $row['bar'] * $row['baz']; 
} 

Предполагая, что столбцы все числовые, это все, что вам нужно сделать, чтобы вычитать и умножать значения из базы данных в PHP.

+0

Итак, когда я вычитаю свое общее количество из минимальной величины, чтобы получить количество деталей, которые мне нужно заказать, нужно ли мне передать это в db, прежде чем я смогу принять это значение и умножить его на стоимость? –

+0

Я не знаю, что вы имеете в виду. Вы можете сделать это где угодно. Вы можете делать вычитания в SQL, как в примере, который вы видите в своем вопросе. Затем MySQL выполнит математику как часть запроса и вернет вам некоторое расчетное значение. Или вы получаете все значения из базы данных и выполняете вычисления на PHP, как показано в моем ответе. Как PHP, так и MySQL, возможно, очень легко выполняют математику. Где это делать, зависит от ваших обстоятельств. Если все значения, необходимые для расчета, находятся внутри базы данных, имеет смысл позволить SQL сделать это и просто вернуть вам значения. В противном случае сделайте это в PHP. – deceze

+0

Моя ошибка в вашем примере уже ответила, мой вопрос, однако я получаю отрицательное число, спасибо за вашу помощь !! Мне просто пришлось добавить() вокруг моего вычитания –

0

Во-первых, вам нужно будет изучить mysql внутри php. Php имеет встроенный класс, специально созданный для этого. Документация, примеры и все остальное нужны новичкам here.

Во-вторых, запрос вы пытаетесь сделать, это возможно, и вы на правильном треками, попробовать что-то вроде этого:

$query = "SELECT (minimumquantity - totalquantity) AS quantitytoorder, (quantitytoorder * costofpart) AS totalcost FROM db WHERE id = '".$id."';"; 

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

0

Попробуйте этот запрос

SELECT (значение2-значение1), как minimumquantity ((value1 + value2) * value3) в totalquantity FROM table WHERE ID = «» $ ID. "";";

Смежные вопросы