вывод сообщения в браузер

  • Автор темы crazychild
  • Дата начала

crazychild

Guest
вывод сообщения в браузер

люди помогите решить проблему я уже замучался . проблема вот в чем. есть форма она должна удалять сообщения из базы.
1 выводит сообщения
2 функция удаляеть спомощью выделения checkbox'а
3 вывод оставшихся сообщений .
но последне выполняется не правильно.либо надо нажать ещё раз на кнопку либо обновить окно .

PHP:
echo"<form action = $PHP_SELF method='post' >";
       view_new();//функция вывод даных из базы
     delete_new($id);// удаление даных из базы


echo "<input type='submit' name='del' value='удалить' style='color:rgb(51,51,51); background-color:rgb(239,245,252); border-color:rgb(255,153,0); border-style:solid;' >";
echo "</form>";
мне нужно зделать так чтобы нажал на кнопку 'удалить' сообщение удалилось и в браузере сообщение обновились
извините за такой ламерский просьбу, намучался сил нет.
 

Demiurg

Guest
сначала надо удалять а потом уже выводить.
 

crazychild

Guest
какже удалить если сначала выводится все сообщения выделяются ненужные а потом удалияеш (как зделать иначе удаление происходит визуалным способом)
 

sakon

П..и.н..ок
Подсказка. Сначала выводишь, отмечаешь, удаляешь, снова выводишь.
А что значит "удаление происходит визуалным способом"? Поподробнее об этом.
 

crazychild

Guest
Автор оригинала: sakon
Подсказка. Сначала выводишь, отмечаешь, удаляешь, снова выводишь.
А что значит "удаление происходит визуалным способом"? Поподробнее об этом.
всмысле сначала выделяеш потом удаляеш .

я пробывал по разному нечего невыходит .
сначала выводил список сообщений потом удаление
(неполучается выводит старый список, а в базе сообщения нет только если нажать на сабмин еще раз или обновить окно браузера иначе не как сообщения не обновиш - но это не дела )
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
crazychild
тебе сказали как это реализовано у всех.
то, что ты берешь данные из базы после отметки их, но до удаления - не вызывает сомнения, только мне не совсем ясно почему ты еще не переписал свой скрипт по нормальному.
 

Romashov

экспериментатор
Ты мой пост прочитал?

-~{}~ 13.04.05 23:16:

Операция в одно действие - поменять местами две строчки - длится уже 5 дней.
 

crazychild

Guest
Автор оригинала: c0dex
crazychild
тебе сказали как это реализовано у всех.
то, что ты берешь данные из базы после отметки их, но до удаления - не вызывает сомнения, только мне не совсем ясно почему ты еще не переписал свой скрипт по нормальному.
что значить по нармальному?! я пишу как есть и я его только изучаю, а если по нормальному то вопросов то и небыло . Я прошу помочь а не высказывать свое мнение по поводу меня,
нечего толкового еще некто ненаписал извините уж

-~{}~ 16.04.05 17:04:

вот мой код полностью
PHP:
delete.php
  <?
require_once "addnews.php"; 
echo"<form action = $PHP_SELF method='post' >";


     view_new();
     delete_new($id);
echo "<input type='submit' name='del' value='удалить' style='color:rgb(51,51,51); background-color:rgb(239,245,252); border-color:rgb(255,153,0); border-style:solid;' >";
echo "</form>";


?>
addnews.php
<?function view_new()
 {$result=mysql_query("use mynew");
$request = "SELECT `title`,`msg_news`,`ndata`,`author`,`news_id` FROM `newsboard` WHERE 1 ORDER BY `ndata` DESC ";
$result = mysql_query($request);
//if (!mysql_error())
{

// Цикл, вынимающий строку как массив с числовым индексом
  global $i;
  $i=0;
  while ($row = mysql_fetch_row($result))
   {
    window_About($row[1],"Автор: ".$row[3],$row[0],$row[2],$i=$row[4]);

    }
 }

/* в случае ошибки БД программа выводит сообщение сервера (конечно, можно обойтись
без такой проверки, но тогда пользователю посыплются ругательства PHP). */

//else {
// echo "Ошибка БД в запросе $request MySQL пишет ". mysql_error();
// };

/* если дальше предусмотрено выполнение каких-либо операций, лучше всего сразу
очистить память */
mysql_free_result ($result);
}
//=

?>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
не удивительно, что работает не так как ты хочешь
 

sakon

П..и.н..ок
Неужели это так сложно?
PHP:
<form action = <?=$_SERVER['PHP_SELF'];?> method='post' >
<?
if (isset($_POST['del'])) delete_new($id);
view_new();
?> 
 <input type='submit' name='del' value='удалить'>
</form>
 

Romashov

экспериментатор
sakon
Слава Богу, нет :)

crazychild
нечего толкового еще некто ненаписал извините уж
По меньшей мере 5 человек сказали тебе правльный способ, ответ на твой вопрос. Ты всё проигнорировал, да ещё и оскорбил "нечего толкового еще некто ненаписал извините уж"
Поменять две строчки самому - клянчишь расжёванный код

~~~~~~~~~~~~~~
Потом по коду:
1. Почему не структурирован? Это разве сложно.
2.
PHP:
$result=mysql_query("use mynew"); 
$request = "SELECT `title`,`msg_news`,`ndata`,`author`,`news_id` FROM `newsboard` WHERE 1 ORDER BY `ndata` DESC "; 
$result = mysql_query($request);
$result - это что? И что первая строчка означает?
Неудивительно, что блок вывода ошибки закрыт комментами.
Зачем globlal $i ?
Почему твой скрипт не содержит описания функции delete_new();
 

crazychild

Guest
спасибо . извените если что

-~{}~ 22.04.05 21:58:

Автор оригинала: sakon
Неужели это так сложно?
PHP:
<form action = <?=$_SERVER['PHP_SELF'];?> method='post' >
<?
if (isset($_POST['del'])) delete_new($id);
view_new();
?> 
 <input type='submit' name='del' value='удалить'>
</form>
функция delete_new($id) принимает id сообщения поэтому сначала нужнго вывести сообщение, выделеть потом удалить

исходник
function delete_new($id)
{

while(list($key,$val) = each($id))
{
mysql_query("DELETE FROM `newsboard` WHERE `news_id`='$key' "); }


}
 

sakon

П..и.н..ок
Я не телепат и не видел твою форму, поэтому незнаю, что ты в этой форме передаешь...
 

Мутник

Новичок
crazychild

чувак, ты издеваешься над всеми????

смотри: сначала ты проверяешь на то, был ли сабмит на удаление - один из вариантов:
PHP:
if (is_array($_POST)) {
  delete_rows($_POST["rows"]);
}
в функции ты удаляешь все, что было выбрано.
Далее по идее был бы нужен редирект, чтобы.. чтобы правильнее.

а только потом ты делаешь:
PHP:
show_rows();
которые выведут тебе все, что осталось.
ПРошло 22-9 дней, а ты так и не сделал??? хе хе хе...
 
Сверху