|
|
|
|
|
для: tima2010
(22.09.2011 в 15:15)
| | а такой вариант попробуйте:
<?php
if (sizeof($_POST['myarray'])) {
$valuearrfull = array();
$query = "SELECT * FROM mytable ORDER BY `sorting`";
$res = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($res))
$valuearrfull[$row['sorting']] = $row['myaddtext']." - ".$_POST['myarray'][$row['sorting']];
}
echo "<pre>";
print_r($valuearrfull);
echo "<pre>";
?>
|
| |
|
|
|
|
|
|
|
для: Lotanaen
(22.09.2011 в 15:11)
| | Все понял! Лишние скобки поставил....
Спасибо Lotanaen!!! | |
|
|
|
|
|
|
|
для: Lotanaen
(22.09.2011 в 15:11)
| | не используется :( перед циклом получаю:
Array
(
[5] => Текст пятый
[6] => Текст шестой
)
|
сразу после вашего способа вывожу массив вижу:
Array
(
[5] => Добавили текст 1 ТЕКСТ ПЯТЫЙ // верно
[] => ТЕКСТ ШЕСТОЙ
[6] => Добавили текст 2 ТЕКСТ ШЕСТОЙ // верно
)
|
| |
|
|
|
|
|
|
|
для: tima2010
(22.09.2011 в 14:18)
| | а вы этот массив ранее не используете? перед циклом объявите его | |
|
|
|
|
|
|
|
для: tima2010
(22.09.2011 в 14:18)
| | придется удалять первое значение массива типа unset ? | |
|
|
|
|
|
|
|
для: Lotanaen
(22.09.2011 в 13:57)
| | пожалуйста извините вариант рабочий я не верно понял принцип его работы...
одна проблема в этом варианте, добавляется лишнее значение
Array
(
[] => ТЕКСТ ШЕСТОЙ
[5] => Добавили текст 1 ТЕКСТ ПЯТЫЙ // верно
[6] => Добавили текст 2 ТЕКСТ ШЕСТОЙ // верно
)
|
будто foreach насчитал 3 а не 2
зачем то пихает последнее значение $value еще раз | |
|
|
|
|
|
|
|
для: cheops
(22.09.2011 в 13:52)
| | Код скрипта:
В sql есть данные:
sorting - порядок отображения
myaddtext - добавляемый текст
Форма:
<form method="POST" action="index.php" name="update">
<?php
$query = "SELECT * FROM mytable ORDER BY `sorting`";
$res = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
echo '<input type="text" name="myarray['.$row['sorting'].']"> <br />'; // где sorting это порядок отображения
}
?>
<input type="submit" value="Go" name="mybutton">
</form>
|
После нажатия к каждому введенному тексту через INPUT TEXT нужно добавить значение myaddtext из базы данных И при этом сохранить массив
Обработка массива:
<?php
if (isset($_POST['mybutton'])) {
$query = "SELECT * FROM mytable ORDER BY `sorting`";
$res = mysql_query($query) or die(mysql_error());
foreach($_POST['myarray'] as $key => $value)
{
while ($row = mysql_fetch_array($res)) {
$valuearr = $row['myaddtext']." - ".$value; // сюда не могу передать все значения что бы к каждому добавить нужный текст, передается только первое значение массива myarray
$valuearrfull[$row['sorting']] = $valuearr;
}
}
}
?>
|
в этом коде выводит
Array
(
[5] => Добавили текст 1 текст ПЯТЫЙ // верно
[6] => Добавили текст 2 текст ПЯТЫЙ // не верно, должен быть текст ШЕСТОЙ
)
|
примерно так | |
|
|
|
|
|
|
|
для: tima2010
(22.09.2011 в 13:47)
| | я же вам приводил пример раньше - вас он чем-то не устроил...
<?php
$query = "SELECT * FROM mytable ORDER BY `myid`";
$res = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($res))
$tmp[] = $row;
$i=0;
foreach($_POST['myarray'] as $key=> $value) { // раскрываем массив
$valuearr= $tmp[$i]['myaddtext'].$value; // к содержимому тексту массива добавляем из базы текст
$valuearrfull[$key] = $valuearr; // формируем обратно массив
$i++;
}
echo "<pre>";
print_r($valuearrfull);
echo "<pre>";
/*
Array
(
[myarray] => Array
(
[5] => Добавили текст 1 ТЕКСТ ПЯТЫЙ // верно
[5] => Добавили текст 2 ТЕКСТ ПЯТЫЙ // НЕ ВЕРНО должен быть шестой
)
[mybutton] => Submit
)
*/
?>
|
| |
|
|
|
|
|
|
|
для: tima2010
(22.09.2011 в 13:47)
| | Как у вас сейчас выглядит скрипт и что он выводит? | |
|
|
|
|
|
|
|
для: Lotanaen
(22.09.2011 в 13:30)
| | Уважаемые cheops и Lotanaen, спасибо за терпение но в обоих случаях теперь принимается только второе значение переменной $value в цикле... (
p.s. сошел с ума | |
|
|
|
|