/* ВХОДНЫЕ ДАННЫЕ
Array (
[name] => Array ( [46] => Название1 [47] => Название2 )
[price] => Array ( [46] => 1000 [47] => 2000 )
)
*/
// ОБРАБОТКА
foreach ($_POST['name'] as $key => $value){
$query = "update tab set name='$value' where id='$key'";
$result = mysql_query($query);
}
foreach ($_POST['price'] as $key => $value){
$query = "update tab set price='$value' where id='$key'";
$result = mysql_query($query);
}
Спустя 8 минут, 3 секунды (25.08.2011 - 15:06) linker написал(а):
foreach ($_POST['name'] as $key => $name)
{
$price = $_POST['price'][$key];
$query = "update tab set name='$value', price='$price' where id='$key'";
$result = mysql_query($query);
}
Спустя 7 минут, 44 секунды (25.08.2011 - 15:13) maximka787 написал(а):
linker
да точно, отлично, спасибо большое, а еще вопрос, как мне вытаскивать например многомерный массив из input?
Я сейчас понял, что у меня входные данные не многомерный массив, а их просто два.
Все потому, что форма такая:
или у меня все верно сделано? так обычно вытягивают или делают
product[N][name]
product[N][price]
?
да точно, отлично, спасибо большое, а еще вопрос, как мне вытаскивать например многомерный массив из input?
Я сейчас понял, что у меня входные данные не многомерный массив, а их просто два.
Все потому, что форма такая:
<input type="text" name="name[1]" value="Название 1" />
<input type="text" name="price[1]" value="1000" />
<input type="text" name="name[2]" value="Название 2" />
<input type="text" name="price[2]" value="2000" />
или у меня все верно сделано? так обычно вытягивают или делают
product[N][name]
product[N][price]
?
Спустя 4 минуты, 58 секунд (25.08.2011 - 15:18) ИНСИ написал(а):
Цитата |
$query = "update tab set name='$value', price='$price' where id='$key'"; |
небольшая ошибочка, наверно ты имел в виду:
$query = "update tab set name='$name', price='$price' where id='$key'";
maximka787 в форме:
<input type="text" name="name[]" value="Название 1" />
<input type="text" name="price[]" value="1000" />
в php, так как показал linker, если у тебя форма отправляется через POST
Спустя 1 минута, 12 секунд (25.08.2011 - 15:19) linker написал(а):
Вытаскиваются также как и с одномерным.
Спустя 3 минуты, 31 секунда (25.08.2011 - 15:23) maximka787 написал(а):
INSIDIOUS
А разве это не тоже самое, что и я писал?
я имею ввиду есть ли возможность вытащить данные так:
Array = product Array (id => 1, name=> xxxx, price => 1000 );
?
как форму надо сделать в html?
<input type="text" name="name[]" value="Название 1" />
<input type="text" name="price[]" value="1000" />
А разве это не тоже самое, что и я писал?
я имею ввиду есть ли возможность вытащить данные так:
Array = product Array (id => 1, name=> xxxx, price => 1000 );
?
как форму надо сделать в html?
Спустя 2 минуты, 16 секунд (25.08.2011 - 15:25) maximka787 написал(а):
Ладно ребят, спасибо, не буду отвлекать, почитаю сам, вроде начинаю понимать что тут школа.
Спустя 7 минут, 5 секунд (25.08.2011 - 15:32) maximka787 написал(а):
Разобрался.
<input type="text" name="product[<?=$row['id']?>][name]" value="<?=$row['name']?>" />
<input type="text" name="product[<?=$row['id']?>][price]" value="<?=$row['price']?>" />
Спустя 4 минуты, 8 секунд (25.08.2011 - 15:36) ИНСИ написал(а):
Цитата |
А разве это не тоже самое, что и я писал? |
То же самое, просто тебе облегчил жизнь, чтобы потом не пришлось цифры ставить :)
Цитата |
Array = product Array (id => 1, name=> xxxx, price => 1000 ); |
можно через цикл for сделать:
for($i = 0; $i < sizeof($product); $i++) {
echo $product[$i]['id'];
}
Цитата |
как форму надо сделать в html? |
<input type="text" name="name[]['name']" value="Название 1" />
<input type="text" name="price[]['price']" value="1000" />
Спустя 3 минуты, 44 секунды (25.08.2011 - 15:40) linker написал(а):
INSIDIOUS
Почти те же яйца, только ещё хуже. Как и сказал ТС, надо оставить так
Почти те же яйца, только ещё хуже. Как и сказал ТС, надо оставить так
<input type="text" name="product[<?=$row['id']?>][name]" value="<?=$row['name']?>" />
<input type="text" name="product[<?=$row['id']?>][price]" value="<?=$row['price']?>" />
Спустя 50 секунд (25.08.2011 - 15:41) maximka787 написал(а):
INSIDIOUS
ну да уже как раз делаю так. как же удобно это "многомерные массивы"))
Вот вторая часть.
ну да уже как раз делаю так. как же удобно это "многомерные массивы"))
Вот вторая часть.
foreach ($_POST['product'] as $key => $value){
$name = $_POST['product'][$key]['name'];
$price = $_POST['product'][$key]['price'];
$query = "<br>UPDATE `product_attribute` SET `name` = '$name' AND `price` = '$price' where id = '$key'";
...
}
Спустя 10 минут, 59 секунд (25.08.2011 - 15:52) ИНСИ написал(а):
linker пока я писал ответ на предыдущее, ТС уже написал другой вариант, где присваивал уже id для ключа и засунул в product
Спустя 1 минута, 47 секунд (25.08.2011 - 15:54) ИНСИ написал(а):
maximka787 новый вариант лучше старого
_____________
..Работает - не трогай!