Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как $_POST поместить в цикл ?
 
 автор: vorobey   (27.03.2010 в 21:14)   письмо автору
 
 

Как $_POST поместить в цикл ?
Array
(
    [price1] => 104.5
    [amount1] => 1
    [price2] => 114
    [amount2] => 4
    [price3] => 123.5
    [amount3] => 0
    [price4] => 133
    [amount4] => 0
    [price5] => 142.5
    [amount5] => 0
    [price6] => 152
    [amount6] => 0
    [price7] => 161.5
    [amount7] => 0
    [price8] => 199.5
    [amount8] => 0
.................................
.................................
    [price36] => 579.5
    [amount36] => 0
    [price37] => 589
    [amount37] => 0
    [price38] => 598.5
    [amount38] => 0
    [price39] => 608
    [amount39] => 0
    [price40] => 617.5
    [amount40] => 0
    [price41] => 627
    [amount41] => 0
    [price42] => 636.5
    [amount42] => 5
    [submit] => продолжить заказ
)

Не писать же мне так ... 84 строки!!!.
 if (isset($_POST['amount1']))   {$amount1=$_POST['amount1'];    if($amount1=='')    {unset($amount1);}}
................................
 if (isset($_POST['amount42']))   {$amount42=$_POST['amount42'];    if($amount42=='')    {unset($amount42);}}


Как поместить в цикл "while{ }" т.е. в место $amount40 сделать $amount1-42; ?

  Ответить  
 
 автор: Slo_Nik   (27.03.2010 в 21:59)   письмо автору
 
   для: vorobey   (27.03.2010 в 21:14)
 

подумайте по поводу использования цикла foreach(),......

  Ответить  
 
 автор: vorobey   (28.03.2010 в 00:24)   письмо автору
 
   для: Slo_Nik   (27.03.2010 в 21:59)
 

Японял что надо испльзовать
   $massif = $_POST;
   foreach($massif as $value)
   {
      echo("$value <br />");
   }

, а как мне присвоить переменным $amount41 и $prise41 значения из $value ?

  Ответить  
 
 автор: Trianon   (28.03.2010 в 00:31)   письмо автору
 
   для: vorobey   (28.03.2010 в 00:24)
 

Вам не требуется (не нужно, не следует) применять переменные именно с такими именами.
Для этого есть массивы.

  Ответить  
 
 автор: vorobey   (28.03.2010 в 01:13)   письмо автору
 
   для: Trianon   (28.03.2010 в 00:31)
 

Тоесть foreach ненужно ?
>Для этого есть массивы.
а как мне из массива выдернуть значение , чтоб в базу записать?

  Ответить  
 
 автор: oliss   (28.03.2010 в 01:44)   письмо автору
 
   для: vorobey   (28.03.2010 в 01:13)
 

<?
echo $_POST['price1'].'<br />'//=> 104.5 

  Ответить  
 
 автор: neadekvat   (28.03.2010 в 01:52)   письмо автору
 
   для: oliss   (28.03.2010 в 01:44)
 

Trianon говорил о том, что следует избегать переменных типа price1, price2...price1313
для этого существуют массивы: $price[0], $price[1]..
Более того, существуют многомерные массивы. Таким образом, чтобы обратиться к "price1" (который в массиве будет $price[0]) - $_POST['price'][0]
В принципе, чтобы проще было врубиться, что к чему, можно $price1 -> $price[1]
Но я думаю в данном случаи это не принципиально..с таким то количеством..

  Ответить  
 
 автор: oliss   (28.03.2010 в 03:05)   письмо автору
 
   для: neadekvat   (28.03.2010 в 01:52)
 

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

  Ответить  
 
 автор: neadekvat   (28.03.2010 в 03:09)   письмо автору
 
   для: oliss   (28.03.2010 в 03:05)
 

М, а я и не знал..

  Ответить  
 
 автор: vorobey   (28.03.2010 в 10:54)   письмо автору
 
   для: neadekvat   (28.03.2010 в 01:52)
 

>который в массиве будет $price[0]) - $_POST['price'][0]
Я понял
как мне в этот запрос вставить $price[0]) - $_POST['price'][0].....$price[40]) - $_POST['price'][40] и чтоб каждй [8] начинался с новой таблицы ?

$query="INSERT INTO zakaz (status,price1,price2,price3,price4,price5,price5,price6,price7) VALUES ('$status','$price1','$price2','$price3','$price4','$price5','$price6','$price7' WHERE mail='$mail')"; 

  Ответить  
 
 автор: Trianon   (28.03.2010 в 11:11)   письмо автору
 
   для: vorobey   (28.03.2010 в 10:54)
 

Вы хотите мерзкого.

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

Гадость в кубе.

  Ответить  
 
 автор: vorobey   (28.03.2010 в 11:53)   письмо автору
 
   для: Trianon   (28.03.2010 в 11:11)
 

Что посоветуете?

  Ответить  
 
 автор: sim5   (28.03.2010 в 12:18)   письмо автору
 
   для: vorobey   (28.03.2010 в 11:53)
 

От куда появляется этот массив? Если это товары со страницы, то где их идентификаторы?

  Ответить  
 
 автор: vorobey   (28.03.2010 в 13:34)   письмо автору
 
   для: sim5   (28.03.2010 в 12:18)
 

Вот здесь скрипт.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=72800&page=1

  Ответить  
 
 автор: sim5   (28.03.2010 в 13:36)   письмо автору
 
   для: vorobey   (28.03.2010 в 13:34)
 

Выбросить.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования