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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите, пожалуйста дописать скрипт запроса в базу

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Опрос
как вы относитесь к AJAX?
Для голосования и просмотра результатов опроса войдите или зарегистрируйтесь

> Описание: есть часть скрипта для обновления данных в базе, нужно дописать маленькую функцию обновления
Evgeniux
Отправлено: 04 Июля, 2009 - 12:03:15
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




День добрый! Есть две функции: первая получает информацию из базы, вторая обновляет информацию в базе (если были изменения)
Первая функция:
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='.....'");
}
}
}
 
 Top
mshdn
Отправлено: 04 Июля, 2009 - 13:44:07
Post Id


Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Обычно я делал так:
в форме корректировки записи таблицы
ставится
<input type=hidden name="id" value="<?=$id ?>">
где id - из записи таблицы, которую коррект.

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

$sql= mysql_query("UPDATE `name` SET name='.... ', lastname='....' WHERE id=$id");

(Отредактировано автором: 04 Июля, 2009 - 13:47:21)

 
 Top
Evgeniux
Отправлено: 04 Июля, 2009 - 14:07:23
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Извиняюсь, я не полностью описал процесс: есть страница с формой, когда пользователь открывает её происходит запрос в базу и выводятся данные в поля (если есть данные в базе), затем пользователь их редактирует, ставит галочку (чтобы пометить те поля, которые необходимо изменить). когда происходит щелчок по кнопке обновления, данные передаются в функцию 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; ?>
 
 Top
valenok
Отправлено: 05 Июля, 2009 - 15:47:27
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




А проблема в чем ?
Что не получается ? Передать данные на сервер, ошибка в запросе, сгорает блок питания ?


-----
Truly yours, Sasha.
 
My status
 Top
Evgeniux
Отправлено: 06 Июля, 2009 - 09:28:58
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Проблема в том, что не могу передать данные на сервер из-за того, что не получается составить запрос на обновление информации в базе.
 
 Top
Viper
Отправлено: 06 Июля, 2009 - 10:05:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




PHP:
скопировать код в буфер обмена
  1. function updatePeople() {
  2. echo '<pre>';
  3. print_r($_POST);
  4. echo '</pre>';
  5. }


что приезжает в массиве ?

(Отредактировано автором: 06 Июля, 2009 - 10:06:09)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Evgeniux
Отправлено: 06 Июля, 2009 - 11:33:49
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




вот что приезжает:
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] => Обновить
)
 
 Top
Stierus Супермодератор
Отправлено: 06 Июля, 2009 - 12:00:17
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Опрос шикарен Улыбка сижу и думаю, какой бы вариант себе выбрать Улыбка))))
 
My status
 Top
Evgeniux
Отправлено: 06 Июля, 2009 - 12:07:54
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




что не так?
 
 Top
Stierus Супермодератор
Отправлено: 06 Июля, 2009 - 12:11:13
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




как вы относитесь к AJAX?
1. Уже осваиваю, но на практике еще не применял
2. Слышал, но не пробовал еще
3. Что это?


ты считаешь, людей, которые полноценно с этим работают, не существует ?Улыбка А где вариант "Я его ненавижу всеми фибрами своей души" ?
 
My status
 Top
Evgeniux
Отправлено: 06 Июля, 2009 - 12:13:44
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




а, это! да, согласен! времени было мало, поэтому такие варианты ответов вышли.
 
 Top
Evgeniux
Отправлено: 08 Июля, 2009 - 16:32:26
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




все, разобрался!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB