|
|
|
| Пол дня пропарился. Не могу найти где ошибся. Народ помогите, нужно удалить запись с базы по id, ничего не выходит.
Вот код, часть упущена
[code
...............
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$result = mysql_query("SELECT * FROM $table order by inv_n asc LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow $msg=array();
while ( $msg[] = mysql_fetch_array($result))
?>
<div class="main" style="position:relative;top:-25px;">
<span>
<form action="goto.php" method=POST target="_blank">
Введіть номер запису <input onClick="this.className='onm'" class="tooltip" type="text"
name="inv_n" size="7" title="Введіть номер запису" />
<input type="submit" value="Перейти до запису" />
</form>
</span>
<?
//здесь кнопка удаление
echo '<form action="drop.php" method=POST>';
echo '<input type=hidden name=id value='.$msg['id'].' />';
echo '<input type="submit" value="delete">
</form>';
?>
........................................
][/code]
вот обработчик этой кнопки
drop.php
<?
include ('config.php');
$id=$_POST['id'];
$sapros='delete from herb where id="'.$_POST['id'].'"';
$ath=mysql_query($sapros);
if (!$ath)
{
echo 'Error. Not delete insert.';
exit;
}
//header ('location: redact.php');
?>
|
Такое впечатление что id не передается. Помогите советом пожалуйста. | |
|
|
|
|
|
|
|
для: burgui
(07.06.2010 в 15:08)
| |
<?
include ('config.php');
$id=$_POST['id'];
$sapros=mysql_query("delete from herb where id='".$id."'");
if (!$ath)
{
echo 'Error. Not delete insert.';
exit;
}
//header ('location: redact.php');
?>
|
| |
|
|
|
|
|
|
|
для: Legenda
(07.06.2010 в 15:18)
| | Спасибо за быстрый ответ. Но этот вариант не работает. | |
|
|
|
|
|
|
|
для: burgui
(07.06.2010 в 15:22)
| | попробуйте забрать hidden из input поля id (заменить на text) возможно само поле пустое... | |
|
|
|
|
 149 байт |
|
|
для: vadimka
(07.06.2010 в 15:42)
| | Да Вы правы. Поле пустое, в нем выводится только /. Кажется я все правильно делаю, почему id не проходит не пойму. Прикладываю файлы к сообщению. Народ посмотрите пожалуйста. Помогите.
Спасибо. | |
|
|
|
|
|
|
|
для: burgui
(07.06.2010 в 15:49)
| |
echo '<input type=hidden name=id value='.$msg['id'].' />';
|
замените на
echo "<input type=hidden name=id value=".$msg['id']."/>";
|
| |
|
|
|
|
|
|
|
для: burgui
(07.06.2010 в 15:08)
| | посмотрите в исходном коде, поле id вообще принимает ли значение value?
<input type=hidden name=id value=???/>
<input type="submit" value="delete">
|
| |
|
|
|
|
|
|
|
для: bab-nike
(07.06.2010 в 17:24)
| | Потому что...
while ( $msg[] = mysql_fetch_array($result))
|
значит и надо использовать не как:
echo '<input type=hidden name=id value='.$msg['id'].' />
|
$msg['id']
а как $msg[$i][id'];
где $i - диапозон значений
echo '<input type=hidden name=id value='.$msg[$i]['id'].' />
|
p.s. посмотри, выведи print_r($msg); | |
|
|
|
|
|
|
|
для: Tonik992
(08.06.2010 в 01:13)
| | Вывод print_r($msg);
id идет
Array ( [0] => Array ( [0] => 46 [id] => 46 [1] => 6 [inv_n] => 6 [2] => HAaxon1 [h_taxon] => HAaxon1 [3] => Class1 [class] => Class1 [4] => Fam2 [fam] => Fam2 [5] => Gen1 [gen] => Gen1 [6] => Spec1 [spec] => Spec1 [7] => SpecR
| .
Перепробывал все вищенаведенное, ничего не выходит. Народ помогите, что делать. | |
|
|
|
|
|
|
|
для: burgui
(08.06.2010 в 12:10)
| | Ничем помочь нельзя, пока вы не объясните:
1. Зачем перегонять ресурс полученный в массив?
2. Что вы патаетесь удалить, если кнопка Удалить одна, а id-ключей в массиве может быть несколько? | |
|
|
|
|
|
|
|
для: sim5
(08.06.2010 в 13:13)
| | >Ничем помочь нельзя, пока вы не объясните:
>1. Зачем перегонять ресурс полученный в массив?
>2. Что вы патаетесь удалить, если кнопка Удалить одна, а id-ключей в массиве может быть несколько?
1. А как мне еще вывести запись на правку. В этом окне выводится одна запись на правку, поэтому тут же я хочу предусмотреть возможность удаления этой записи.
2. id-ключ в масиве один, поскольку за один раз выводится только 1 запись.
К сожалению лучше пояснить не могу, поскольку я не программист, а биолог. | |
|
|
|
|
|
|
|
для: burgui
(08.06.2010 в 13:54)
| | по-идее Вам нужно сделать так:
while ( $msg = mysql_fetch_array($result))
|
а инпут:
echo '<input type=text name=id value=".$msg[id]." />';
|
| |
|
|
|
|
|
|
|
для: burgui
(08.06.2010 в 13:54)
| | >$result = mysql_query("SELECT * FROM $table order by inv_n asc LIMIT $start, $num");
>// В цикле переносим результаты запроса в массив $postrow $msg=array();
>while ( $msg[] = mysql_fetch_array($result))
Если одна запись, то к чему вы морочите голову LIMIT $start, $num? Это что, вывод одной записи по вашему? Именно на массив $msg вы ссылаетесь в форме при получении значения, и это как тогда понимать?
Если перед вами стоит задача вывода N сообщений на страницу, и возможностью удаления любого из них, то нет необходимости указывать ее номер, и порождать форму с одной кнопкой чтобы удалить ее. | |
|
|
|
|
|
|
|
для: sim5
(08.06.2010 в 16:22)
| |
>$result = mysql_query("SELECT * FROM $table order by inv_n asc LIMIT $start, $num");
>// В цикле переносим результаты запроса в массив $postrow $msg=array();
>while ( $msg[] = mysql_fetch_array($result))
|
Этот кусок кода отвечает за постраничную навигацию на странице и отображение конкретной одной страницы.
>Если перед вами стоит задача вывода N сообщений на страницу, и возможностью удаления любого из них, то нет необходимости указывать ее номер, и порождать форму с одной кнопкой чтобы удалить ее.
.
Если перед вами стоит задача вывода N сообщений на страницу, и возможностью удаления любого из них, то нет необходимости указывать ее номер, и порождать форму с одной кнопкой чтобы удалить ее
|
Предо мной стоит задача вывести по одной странице записи с базы, с возможностью навигации (вперед, назад, вверх, вниз, переход к конкретной записи по запросу ; внесение правок и их сохранение -- уже сделано) и конечно удаление конкретной записи. Вот на этом месте я что-то ступил. | |
|
|
|