|
|
|
| В MySQL есть таблица:
CREATE TABLE 'name' (
'id_name' int(11) NOT NULL auto_increment,
'name' tinytext NOT NULL,
'description' text NOT NULL,
PRIMARY KEY ('id_name')
) TYPE=MyISAM;
INSERT INTO 'name' VALUES (1, 'Иванов', 'Описание для фамили Иванов');
INSERT INTO 'name' VALUES (2, 'Петров', 'Описание для фамили Петров');
INSERT INTO 'name' VALUES (3, 'Сидоров', 'Описание для фамили Сидоров');
INSERT INTO 'name' VALUES (4, 'Выбегайло', 'Описание для фамили Выбегайло');
INSERT INTO 'name' VALUES (5, 'Олейник', 'Описание для фамили Олейник');
|
Нужно написать скрипт, который сначала выводит все записи таблицы с checkbox'ом рядом с каждой из них. Затем выбранные записи скрипт выводит в отдельную форму, состоящую из <input type="text">. В этой форме записи можно отредактировать и сохранить.
Мучаюсь уже несколько дней, никак не могу придумать :( | |
|
|
|
|
|
|
|
для: aexb
(21.04.2006 в 14:50)
| |
<?php
// file1.php
if(isset($_POST['names'])){
?>
<form action='file2.php' method='POST'>
<?php
$strtmp = '';
foreach($_POST['names'] as $id){
$strtmp .= " OR id_name={$id} ";
}
$query = mysql_query('SELECT * FROM name WHERE 0'.$strtmp) or die('Ошибка');
while($row = mysql_fetch_array($query)){
print "<input type='text' name={$row['id_name']} value={$row['name']}><br>\n";
}
?>
<input type='submit' value='Редактировать'>
</form>
<?php
}else{
?>
<form action='<? $_SERVER['PHP_SELF'] ?>' method='POST'>
<?php
$query = mysql_query('SELECT * FROM name') or die('Ошибка');
while($row = mysql_fetch_array($query)){
print "<input type='checkbox' name=names[] value={$row['id_name']}> {$row['name']}<br>\n";
}
?>
<input type='submit' value='Редактировать'>
</form>
<?php } ?>
<?php
// file2.php
foreach($_POST as $id => $name){
// обработка
$query = "UPDATE name SET name='{$name}' WHERE id_name=$id";
// и т.д.
}
?>
|
Этого хватит? | |
|
|
|
|
|
|
|
для: ЯR
(21.04.2006 в 15:28)
| | Да, работает. А каким образом можно редактировать ВСЕ поля таблицы? | |
|
|
|
|
|
|
|
для: aexb
(21.04.2006 в 16:57)
| |
<?php
// file1.php
if(isset($_POST['names'])){
?>
<form action='file2.php' method='POST'>
<?php
$strtmp = '';
foreach($_POST['names'] as $id){
$strtmp .= " OR id_name={$id} ";
}
$query = mysql_query('SELECT * FROM name WHERE 0'.$strtmp) or die('Ошибка');
while($row = mysql_fetch_array($query)){
print "<input type='text' name={$row['id_name']}[name] value={$row['name']}><br>\n";
print "<input type='text' name={$row['id_name']}[description] value={$row['description']}><br>\n";
}
?>
<input type='submit' value='Редактировать'>
</form>
<?php
}else{
?>
<form action='<? $_SERVER['PHP_SELF'] ?>' method='POST'>
<?php
$query = mysql_query('SELECT * FROM name') or die('Ошибка');
while($row = mysql_fetch_array($query)){
print "<input type='checkbox' name=names[] value={$row['id_name']}> {$row['name']}<br>\n";
}
?>
<input type='submit' value='Редактировать'>
</form>
<?php } ?>
<?php
// file2.php
$query = '';
foreach($_POST as $id => $name){
// обработка
$query .= "UPDATE name SET name='{$name['name']}', description='{$name['description']}' WHERE id_name=$id;\n";
}
if(mysql_query($query)){
// ...
} else die('Ошибка');
?>
|
примерно так | |
|
|
|
|
|
|
|
для: ЯR
(21.04.2006 в 17:18)
| | О! Вот это действительно то, что нужно. Сейчас переделаю так чтоб под любой таблицей работало и вообще скрипту цены не будет :)
Спасибо! | |
|
|
|
|
|
|
|
для: aexb
(21.04.2006 в 17:48)
| | То есть это прямое редактирование полей в таблице? Если не сложно, хотелось бы ознакомиться с результатом... :) | |
|
|
|
|
|
|
|
для: aexb
(21.04.2006 в 17:48)
| | Покажешь, что получилось? | |
|
|
|