#php #html
#php #HTML
Вопрос:
Пытаюсь отобразить результаты моего массива post. Для строки
print "<tr><td>$prodqty</td>......"
Мне нужно, чтобы моя {$gear{prodnum}[1]}
последняя скобка закрывала элемент массива. Но по какой-то причине последняя закрывающая скобка становится частью моего оператора print (для тех, кто знаком с NetBeans, эта скобка становится оранжевой, а не черной, как предполагалось), и поскольку у меня их несколько if/else statements
, закрывающая скобка перемещается дальше по строкам (особенно после ; чего я не понимаю), и я не могу понять, как заставить этот элемент массива закрыться.
Я пробовал оба {$gear{$prodnum}[1]}
и {$gear{$prodnum[1]}}
, и в любом случае это не сработает. Я также попробовал () вместо скобок для $prodnum.
Мой профессор был тем, кто помог мне написать этот раздел, и это работало, пока я не попытался добавить больше операторов if, а затем это прекратилось.
if(array_key_exists('submit',$_POST))
{
echo "<table><table align='center'><th colspan='3'>Total</th><tr>
<td>Quantity</td><td>Item</td><td>Extended Price</td></tr>";
foreach($_POST['qty'] as $prodnum=>$prodqty){
if($prodqty>0){
print "<tr><td> $prodqty </td> <td>{$gear{$prodnum}[1]**}**</td>";
print "<td>".($prodqty*$gear{$prodnum}[3])."</td></tr>";
}
};
elseif($prodqty==null)
{;
}
else {
echo "Please enter a quantity.";
}
};
В идеале я хотел бы, чтобы prodqty шел после prodnum, но это не сработало бы таким образом. Также будут с благодарностью приняты любые предложения о том, как распечатать результаты $ POST, в которых добавлены значения, и забыть о тех, которые этого не делают. Я пытаюсь написать операторы if, требующие от отправителя ввода числа (без букв или слов) и исключающие другие элементы массива, если они не вводили для них количество.
Спасибо!
Комментарии:
1.
{$gear{$prodnum}[1]**}**
Я думаю, вы имеете в виду${gear['prodnum'][1]}
или что-то в этом роде2. Кроме того, к чему относится это повисшее значение
};
?3. Наконец, теперь, когда я исправил ваш отступ, вы можете заметить, что что-то не так с их размещением
elseif
(что, кстати, ничего не дает) иelse
4. Не связано, но вам не нужно
;
после закрытия блока.
Ответ №1:
Ваше if
и else
размещение показалось мне неправильно выровненным. Попытался реконструировать ваше утверждение наилучшим образом, как я думаю, вы пытаетесь достичь
if(array_key_exists('submit',$_POST))
{
echo "<table><table align='center'><th colspan='3'>Total</th><tr>
<td>Quantity</td><td>Item</td><td>Extended Price</td></tr>";
foreach($_POST['qty'] as $prodnum=>$prodqty){
if($prodqty>0){
print "<tr><td> $prodqty </td> <td>".$gear[$prodnum][1]."</td>";
print "<td>".($prodqty*$gear[$prodnum][3])."</td></tr>";
} elseif($prodqty==null)
{
}
};
} else {
echo "Please enter a quantity.";
}
Комментарии:
1. Я изменил номер $ gear prod на, как вы предложили, и это сработало! Большое вам спасибо.
2. приятно! рад, что смог помочь. Не забудьте отметить вопрос как отвеченный