День добрый! Есть две функции: первая получает информацию из базы, вторая обновляет информацию в базе (если были изменения)
Первая функция:
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='.....'");
}
}
}
1. Evgeniux - 04 Июля, 2009 - 12:03:15 - перейти к сообщению
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");
в форме корректировки записи таблицы
ставится
<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; ?>
вот фрагмент формы
<?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 - перейти к сообщению
что приезжает в массиве ?