Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Обновление страницы при добавлении информации


Автор: posthuman 28.3.2011, 10:08
Здравствуйте. Тут такая проблемка. Имеется поле типа select и в нем информация выводится из БД.
Код

    $change_prof = ''; //Переменная с option для тега select name=all_prof
    //Делаем запрос к таблице
    $select_prof = mysql_query('SELECT * FROM prof');
    //В следующем цикле мы присваиваем option со значениями из БД
    while ($result = mysql_fetch_assoc($select_prof)) {
        $change_prof .= "<option value=\"{$result['id_prof']}\">{$result['prof']}</option>";
    }
    //Теперь можно выводить все в браузер
    echo "<td><select name=\"change_prof\">$change_prof</select></td>";


Также имеется поле и кнопка для добавления в этот список. вот код добавления:
Код

//Если существует в глобальном массиве $_POST['prof'] определенная ячейка, то мы создаем простую переменную из нее. Если переменная пустая, то уничтожаем переменную.
if (isset($_POST['prof'])) {$prof = addslashes($_POST['prof']); if($prof == '') {unset($prof);} }
$prof_result = mysql_query ('SELECT prof FROM prof WHERE prof="'.$prof.'"');
if(mysql_num_rows($prof_result)>0){
    echo"Такая профессия уже есть";
} else {
    //Здесь пишем что можно заносить информацию в базу
    if (isset($prof)) {
        $result = mysql_query ("INSERT INTO prof (prof) VALUES ('$prof')");
        if ($result == 'true') { echo "<p>Вы добивили новую профессию.</p>";}
        else {echo "<p>Ваша профессия не добавлена.</p>";}
    }
    else
    { echo "<p>Вы ввели профессию.</p>";}
}


Но при добавлении записи в БД, информация в поле select отображдается не сразу. Необходимо обновить страницу в браузере. Можно как-то сделать, чтобы информация выводилась сразу при добавлении в БД???

Автор: ayax2005 28.3.2011, 10:48
можно. jquery.ajax(), prototype.updater(), etc

Автор: posthuman 28.3.2011, 12:30
эту функцию подключать в onClick кнопки добавления??? фаил jquery.js подключил.

Автор: bars80080 28.3.2011, 13:37
после добавления (запрос insert) делаем перезагрузку страницы:

Код

header('Location: тут адрес на который надо перезагрузиться');


Автор: posthuman 28.3.2011, 14:47
Возникает ошибка
Warning: Cannot modify header information - headers already sent by (output started at Y:\home\localhost\www\web\test\new_test.php:10) in Y:\home\localhost\www\web\test\new_test.php on line 65

Автор: bars80080 28.3.2011, 14:51
значит уже что-то отправил в вывод. скорее всего у тебя там до него было echo

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)