Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: помогите, пожалуйста дописать скрипт запроса в базу
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » помогите, пожалуйста дописать скрипт запроса в базу

Страниц (1): [1]
 

1. Evgeniux - 04 Июля, 2009 - 12:03:15 - перейти к сообщению
День добрый! Есть две функции: первая получает информацию из базы, вторая обновляет информацию в базе (если были изменения)
Первая функция:
function getPeople() {
$query=mysql_query("SELECT * FROM `name`");
$result=mysql_fetch_array($query);

$people = array();

while ($row = mysql_fetch_assoc($result)) {
array_push($people, array(
'id' =>$row["id"],
          'name' => $row["name"],
'lastname' => $row["lastname"],
));
}

return $people;
}






помогите дописать функцию обновления информации в базе данных. вот часть скрипта:
function updatePeople()
{
foreach ($_POST['data'] as $v ) {
if (isset($v['update'])) {
$sql= mysql_query("UPDATE `name` SET name='.... ', lastname='....' WHERE id='.....'");
}
}
}
2. mshdn - 04 Июля, 2009 - 13:44:07 - перейти к сообщению
Обычно я делал так:
в форме корректировки записи таблицы
ставится
<input type=hidden name="id" value="<?=$id ?>">
где id - из записи таблицы, которую коррект.

в функции Update выполняешь
$id=$_POST['id'];
...

$sql= mysql_query("UPDATE `name` SET name='.... ', lastname='....' WHERE id=$id");
3. Evgeniux - 04 Июля, 2009 - 14:07:23 - перейти к сообщению
Извиняюсь, я не полностью описал процесс: есть страница с формой, когда пользователь открывает её происходит запрос в базу и выводятся данные в поля (если есть данные в базе), затем пользователь их редактирует, ставит галочку (чтобы пометить те поля, которые необходимо изменить). когда происходит щелчок по кнопке обновления, данные передаются в функцию updatePeople()
вот фрагмент формы

<?php if (isset($people) && is_array($people) && count($people)): ?>
<?php foreach($people as $n => $p): ?>
<tr>
<td><input name="data[<?php echo $p['id'] ?>][name]" type="text" size="10" maxlength="15" value="<?php echo $p['name'] ?>" /></td>
<td><input name="data[<?php echo $p['id'] ?>][lastname]" type="text" size="10" maxlength="15" value="<?php echo $p['lastname'] ?>" /></td>
<td><input name="data[<?php echo $p['id'] ?>][birth]" type="text" size="10" maxlength="15" value="<?php echo $p['birth'] ?>" /></td>
<td><input name="data[<?php echo $p['id'] ?>][age]" type="text" size="10" maxlength="15" value="<?php echo $p['age'] ?>" /></td>
<td><input name="data[<?php echo $p['id'] ?>][update]" type="checkbox" value="aha!" /></td>
<td><?php echo $p['id'] ?></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="6">Тут никого нет</td>
</tr>
<?php endif; ?>
4. valenok - 05 Июля, 2009 - 15:47:27 - перейти к сообщению
А проблема в чем ?
Что не получается ? Передать данные на сервер, ошибка в запросе, сгорает блок питания ?
5. Evgeniux - 06 Июля, 2009 - 09:28:58 - перейти к сообщению
Проблема в том, что не могу передать данные на сервер из-за того, что не получается составить запрос на обновление информации в базе.
6. Viper - 06 Июля, 2009 - 10:05:53 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function updatePeople() {
  2. echo '<pre>';
  3. print_r($_POST);
  4. echo '</pre>';
  5. }


что приезжает в массиве ?
7. Evgeniux - 06 Июля, 2009 - 11:33:49 - перейти к сообщению
вот что приезжает:
Array
(
[data] => Array
(
[1] => Array
(
[name] => Петр
[lastname] => Иванькоd
[birth] => 29.06.78
[age] => 31
[update] => aha!
)

[2] => Array
(
[name] => Игорь
[lastname] => Ивановb
[birth] => 27.04.79
[age] => 30
[update] => aha!
)

)

[submit] => Обновить
)
8. Stierus - 06 Июля, 2009 - 12:00:17 - перейти к сообщению
Опрос шикарен Улыбка сижу и думаю, какой бы вариант себе выбрать Улыбка))))
9. Evgeniux - 06 Июля, 2009 - 12:07:54 - перейти к сообщению
что не так?
10. Stierus - 06 Июля, 2009 - 12:11:13 - перейти к сообщению
как вы относитесь к AJAX?
1. Уже осваиваю, но на практике еще не применял
2. Слышал, но не пробовал еще
3. Что это?


ты считаешь, людей, которые полноценно с этим работают, не существует ?Улыбка А где вариант "Я его ненавижу всеми фибрами своей души" ?
11. Evgeniux - 06 Июля, 2009 - 12:13:44 - перейти к сообщению
а, это! да, согласен! времени было мало, поэтому такие варианты ответов вышли.
12. Evgeniux - 08 Июля, 2009 - 16:32:26 - перейти к сообщению
все, разобрался!

 

Powered by ExBB FM 1.0 RC1