Вот первая страница:
<input type="text" name="r14" value="1000" /> // у строки с id 14 цена 1000но обязательно надо только имена rN использовать, тк помимо этих через запрос пост передаются и другие данные не нужные таблице
<input type="text" name="r22" value="1000" /> // у строки с id 22 цена 1000
<input type="text" name="r31" value="1000" /> // у строки с id 31 цена 1000
Вторая страница:
for($i=0;$i<$_POST;$i++){
$price = $_POST[r'i'];
///$temp_id
$query = "update table set price = $price where id = $temp_id";
//$result = mysql_query($query);
}
чушь написал, по-моему, но нельзя и в субботу работать)
Спустя 2 часа, 46 минут, 13 секунд (19.02.2011 - 18:53) maximka787 написал(а):
Не поможете, ребят? я уже все перебрал. но тут массив не фиксированной длинны.
Спустя 50 минут, 40 секунд (19.02.2011 - 19:43) inpost написал(а):
Может быть:
$_POST['r'.$i]; ?
$_POST['r'.$i]; ?
Спустя 1 день, 6 часов, 1 минута, 1 секунда (21.02.2011 - 01:44) maximka787 написал(а):
Цитата (inpost @ 19.02.2011 - 16:43) |
Может быть: $_POST['r'.$i]; ? |
Ну да, только вопрос не о том. Я даже упростил задачу. Мне надо получить все элементы Пост массива. Количество. Дальше я сам их проверю.
$vsego = ****** //$_POST...
for($i=0;$i<$vsego;$i++){
$_POST['r'.$i];
/////
}
Вот не могу узнать длину
Спустя 21 минута, 3 секунды (21.02.2011 - 02:05) inpost написал(а):
foreach($_POST), count($_POST) ?
Спустя 8 часов, 14 минут, 31 секунда (21.02.2011 - 10:20) maximka787 написал(а):
Цитата (inpost @ 20.02.2011 - 23:05) |
foreach($_POST), count($_POST) ? |
Нет, не пойму о чем ты, эти конструкции не дают результат в таком виде.
Я вот сделал скрипт, но длину поставил произвольную, тк у меня не больше 10 полей. Но пришлось добавить проверку на пустой элемент. Правильней всетаки узнать длину ПОСТ массива
$lengthPOST = 10; //произвольное число
for($i=1;$i<$lengthPOST;$i++){
if(!empty($_POST['r'.$i])){
echo '<br>'.$i.'='.$_POST['r'.$i];
}
}
Спустя 12 минут, 51 секунда (21.02.2011 - 10:33) Ulan написал(а):
эмм, зачем длинна массива, что, foreach не катит?
Спустя 5 минут, 15 секунд (21.02.2011 - 10:38) maximka787 написал(а):
Цитата (Ulan @ 21.02.2011 - 07:33) |
эмм, зачем длинна массива, что, foreach не катит? |
foreach катит, только как я цикл то напишу?
Спустя 1 минута, 37 секунд (21.02.2011 - 10:40) Ulan написал(а):
Цитата (maximka787 @ 21.02.2011 - 07:20) | ||
Нет, не пойму о чем ты, эти конструкции не дают результат в таком виде. |
тебе нужно хелп внимательно почитать
foreach это и есть цикл, который перебирает все элементы массива, независимо от его длинны
Спустя 5 минут, 51 секунда (21.02.2011 - 10:45) maximka787 написал(а):
Вот единственный вариант, посмотрите, пожалуйста, верно сделал?
if($_POST) {
foreach ($_POST as $key => $value) {
if(!empty($value)){
echo '<br>$key'.$key.'='.$value;
}
}
}
Спустя 9 минут, 42 секунды (21.02.2011 - 10:55) Ulan написал(а):
да, только нужно решить нужна ли возможность устанавливать цену равную "0"
if(!empty($value))
Спустя 4 минуты, 14 секунд (21.02.2011 - 10:59) maximka787 написал(а):
Цитата (Ulan @ 21.02.2011 - 07:55) |
да, только нужно решить нужна ли возможность устанавливать цену равную "0"if(!empty($value)) |
Да, конечно это плохо, но иначе выводит и незаполненные поля равные 0. isset не срабатывает почему-то.
Спустя 9 минут, 54 секунды (21.02.2011 - 11:09) maximka787 написал(а):
Вот, получилось))
Только опять проблемка. У меня массив переменные r1,r2,r3 (с буквой r), а он только цифры выводит.
Только опять проблемка. У меня массив переменные r1,r2,r3 (с буквой r), а он только цифры выводит.
if($_POST) {
foreach ($_POST as $key => $value) {
if(!empty($value)){
echo 'ID= '.$key.' price= '.$value;
$query = "update test1 set price='".$value."' where id='".$key."'";
$result = mysql_query($query);
}
}
}
Спустя 46 минут, 55 секунд (21.02.2011 - 11:56) Ulan написал(а):
Он - это кто?
Спустя 6 минут, 12 секунд (21.02.2011 - 12:02) maximka787 написал(а):
Цитата (Ulan @ 21.02.2011 - 08:56) |
Он - это кто? |
У меня в коде $key имеет значение от 1 и до 10 (условно)
а переменные у меня не name="1", name="5"
А
<input type="text" name="r1" value="1000" />
<input type="text" name="r2" value="1000" />
тоесть с буквой r
Спустя 17 минут, 34 секунды (21.02.2011 - 12:20) Ulan написал(а):
ага, понял. можно передавать данные одним массивом r[]
и перебирать в цикле массив $_POST['r']
<p><input type="text" name="r[1]" value = 1000 /></p>
<p><input type="text" name="r[12]" value = 1000 /></p>
<p><input type="text" name="r[10]" value = 1000 /></p>
<p><input type="text" name="r[11]" value = 1000 /></p>
и перебирать в цикле массив $_POST['r']
foreach ($_POST['r'] as $key => $value)
{
if(!empty($value))
echo 'ID= '.$key.' price= '.$value.'<br>';
}
Спустя 10 минут, 50 секунд (21.02.2011 - 12:31) maximka787 написал(а):
Великолепно) Спасибо тебе! Буду реализовывать.
_____________
..Работает - не трогай!