|
|
|
| Возник другой вопрос. В некоторых языках программирования есть такая функция возвращения на какую-либо строку кода. У меня такая ситуация:
<?
//выбор из базы цены предмета
//вывод цены и количества
echo $cena;
echo $kolichestvo;
if($cena*$kolichestvo>400){
//вот тут мне хотелось бы чтобы скрипт вернулся к началу выбрал другие цены из базы и продолжил дальше
}
echo "Всего ".$cena*$kolichestvo;
?>
|
Хотел сначала все данные помещать во временный буфер, потом выводить только те цены которые удовлетворяют моему условию... Немного некрасиво получается, думаю можно решить эту ситуацию проще, вот и вспомнился "return 14"-возвращаемся к 14-й строке кода, но в PHP нет такой функции, если есть то не так называеться...
Заранее спасибо | |
|
|
|
|
|
|
|
для: Ученик
(20.03.2006 в 15:19)
| | В некоторых языках программирования ...
===================================
не в некоторых, а в линейных (Basic). а PHP - структрурный. | |
|
|
|
|
|
|
|
для: Ученик
(20.03.2006 в 15:19)
| | А на структурных языках это пишется примерно так:
<?
// что-то в самом начале
do
{
//выбор из базы цены предмета
//вывод цены и количества
echo $cena;
echo $kolichestvo;
//вот тут мне хотелось бы чтобы скрипт вернулся к началу выбрал другие цены из базы и продолжил дальше
} while($cena*$kolichestvo>400)
echo "Всего ".$cena*$kolichestvo;
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 15:35)
| | Вы немного не поняли, мне не нужно выполнять скрипт в скобках до
Мне нужно: если сумма больше 400, то выводяться не розничные цены, а оптовые. а эти значения храняться в БД, просто в другом поле. | |
|
|
|
|
|
|
|
для: Ученик
(20.03.2006 в 15:40)
| | BMECTO:
while($cena*$kolichestvo>400)
->
if ($cena*$kolichestvo>400) | |
|
|
|
|
|
|
|
для: Ученик
(20.03.2006 в 15:40)
| | Тогда из таблицы БД надо выбирать сразу оба поля.
$cena = $crozn_cena*$kolichestvo < 400 ? $rozn_cena
: $opt_cena ;
$stoimost = $cena * $kolichestvo;
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 16:09)
| | Ладно сейчас сделаю пример, чтобы на пальцах не показывать... | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 16:09)
| |
<?
$name=array(
предмет1,
предмет2,
предмет3);
$cena_rozn=array(
30,
40,
45);
$cena_opt=array(
26,
35,
37);
//например выбрали предмет2-100шт, предмет3-500шт
echo "$name[2] 100шт по цене $cena_rozn[2]";
echo "$name[3] 500шт по цене $cena_rozn[3]";
echo "Сумма ".$cena_rozn[2]*100+$cena_rozn[3]*500;
// Сумма 26500.
// Допустим при сумме больше 20к нужно считать по оптовым ценам.
//Значит мне не нужно выводить сумму и все пересчитывать по оптовым ценам...
?>
|
Другого как переделать нижнюю часть на
<?
$sum=$cena_rozn[2]*100+$cena_rozn[3]*500;
if($sum<=20000){
echo "Сумма $sum";
}
else{
$sum=$cena_opt[2]*100+$cena_opt[3]*500;
echo "Сумма $sum";
?>
|
я не придумал. Здесь вроде все красиво. Но мне же и цены нужно поменять которые выведуться пользователю | |
|
|
|
|
|
|
|
для: Ученик
(20.03.2006 в 18:07)
| | А если выбрано не 100 и не 500 шт или не 2-й и 3-й предметы, Вы программу будете переписывать? :) | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2006 в 18:29)
| | Спасибо попробую ;-)
>А если выбрано не 100 и не 500 шт или не 2-й и 3-й предметы, Вы программу будете
>переписывать? :)
Да нет это я просто за 3мин написал примерчик.. ;-) | |
|
|
|
|
|
|
|
для: Ученик
(20.03.2006 в 18:07)
| |
<?
$cena = $cena_rozn;
$sum=$cena[2]*100+$cena[3]*500;
if($sum>=20000)
{
$cena = $cena_opt;
$sum = $cena[2]*100+$cena[3]*500;
}
echo "${name[2]} 100шт по цене ${cena[2]}";
echo "${name[3]} 500шт по цене ${cena[3]}";
echo "Сумма = $sum";
?>
|
| |
|
|
|