php новичок ищет советы по кодированию количества инвентаря - PullRequest
0 голосов
/ 04 апреля 2011

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

Код, с которого я начал, таков:

<?php
$HTML = "";
// Get all specific result from the "inventory" table
$result = mysql_query("SELECT * FROM inventory WHERE catagory='catname'") or die(mysql_error());  
while($row = mysql_fetch_array($result)){
    if($row['instock'] != 0){

$HTML .= <<< eof
<option cost="$row[listPrice]" id_num="$row[itemid]" name="$row[itemName]">$row[description]</option>
eof;
}
}
echo $HTML;


?>

Однако я не хочу, чтобы покупатели могли добавлять товары в корзину, если номер «в наличии» равен 0 или меньше (потому что у нас не будет ничего продавать!) С моим ограниченным пониманием и некоторыми исследованиями, я думаю, мне нужно добавить где-то здесь утверждение else или elseif, по принципу

elseif($row['instock'] <= 0)
{
echo 'Sorry this item is out of stock.'
}

Однако везде, гдеКажется, я всегда получаю синтаксическую ошибку всякий раз, когда пытаюсь запустить скрипт.Я пытался выяснить, как работают все фигурные скобки и $ HTML, но я полностью потерян!

Мне также интересно, нужно ли мне что-то там дополнительное, поскольку у каждого товара есть поле для ввода текста, которое заполняется до того, как товар (-ы) добавлен в корзину, поэтому я думаю, что что-то может понадобитьсянеобходимо добавить, чтобы, если клиент введет в поле число, которое больше, чем на складе, и нажмет «добавить в корзину», у него появится какое-то всплывающее окно, чтобы сообщить ему, что он выбрал больше, чем доступно в настоящее время.Если это так, я хотел бы получить несколько советов о том, как это сделать!

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

Просто добавьте ; в конце вашего echo заявления.

0 голосов
/ 04 апреля 2011

Логика, которую вы желаете, уже есть:

if($row['instock'] != 0){

Если предположить, что instock - это количество единиц в подсчете запасов, и если ваша система инвентаризации никогда не опустится ниже нуля, то этот тест делает то, что вы хотите.

Если вы имеете в виду, что хотите добавить явное сообщение об отсутствии на складе, то что-то вроде этого должно работать

while($row = mysql_fetch_array($result)){
    if($row['instock'] != 0) {
        $HTML .= <<< eof
<option cost="$row[listPrice]" id_num="$row[itemid]" name="$row[itemName]">$row[description]</option>
eof;
        }
    else
        $HTML .= 'Sorry this item is out of stock.';
}
echo $HTML;
...