Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2011, 22:09   #11
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

блин... чума какая-то... нужно чтобы после нажатия на вторую кнопку, он не делал $_POST из формы...
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 22:14   #12
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

млин - ну если f5 жать, то он же не делает заново POST... дайте совет плиз...
умаялся уже
Dmitry1983 вне форума Ответить с цитированием
Старый 31.08.2011, 23:03   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Dmitry1983 Посмотреть сообщение
млин - ну если f5 жать, то он же не делает заново POST... дайте совет плиз...
умаялся уже
Не парь себе мозг - два варианта:

1. Делай через jQuery (~10 строк кода - обычный способ решения таких задач) - $.post()

2. Делай через сессию (это откровенный костыль в нынешние времена + перезагрузка страницы).
Andkorol вне форума Ответить с цитированием
Старый 31.08.2011, 23:05   #14
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

А почему не уничтожить $_POST?
Код:
$_POST=array();
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 01.09.2011, 12:48   #15
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

Цитата:
Сообщение от TranceSmile Посмотреть сообщение
А почему не уничтожить $_POST?
Код:
$_POST=array();
можно чуть пояснить?
Dmitry1983 вне форума Ответить с цитированием
Старый 01.09.2011, 15:35   #16
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

http://www.svo.aero/timetable/today/...&city=&day=2-9
вот онлайн расписание Шарика...

выбор параметров, кнопка Найти... и далее результаты уже фильтруются по терминалам, прилету отлету - это java? jquery? мне примерно тоже самое нужно было бы...
сохранить результату "Найти" - и дальше с ними работать
Dmitry1983 вне форума Ответить с цитированием
Старый 01.09.2011, 15:51   #17
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Dmitry1983 Посмотреть сообщение
выбор параметров, кнопка Найти... и далее результаты уже фильтруются по терминалам, прилету отлету - это java? jquery? мне примерно тоже самое нужно было бы...
сохранить результату "Найти" - и дальше с ними работать
Обычного jQuery $.post тут вполне достаточно.

Там делов на ~10 строк - а тема тянется 3-й день.

На то, чтоб освоить базовые функции jQuery(их там всего 20-30 основных) и принцип работы с селекторами - уходит максимум день.
Лень просто..?
Andkorol вне форума Ответить с цитированием
Старый 02.09.2011, 10:15   #18
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Обычного jQuery $.post тут вполне достаточно.

Там делов на ~10 строк - а тема тянется 3-й день.

На то, чтоб освоить базовые функции jQuery(их там всего 20-30 основных) и принцип работы с селекторами - уходит максимум день.
Лень просто..?
нет не лень)) рабочая неделя, в основном по вечерам удается выкроить несколько часов на проект... сегодня вечером ударим "автопробегом" - я уже использовал jquery при автозаполнении - и на этом принципе у меня построены выпадающие списки...
вроде бы все понятно, буду пробовать, но есть слабое место в этом понимании - как jquery (javascript) сочетается с выборкой из БД... как прописывается устанавливается эта связь... просто тут нужно чтобы кто-нить объяснил как говорится на пальцах и дальше веселее пойдет

спасибо за совет anyway - буду пробовать разбираться с jquery ... (но пока "не верю" что 10 строк кода решат проблему)))
Dmitry1983 вне форума Ответить с цитированием
Старый 02.09.2011, 12:54   #19
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Dmitry1983 Посмотреть сообщение
но пока "не верю" что 10 строк кода решат проблему)))
Ну вот вам тестовый пример, раз не верите:
index.php
PHP код:
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    // вот они, наши ~10 строк кода
    $('#update').click(function(){
        $.post('post.php', { action : 'update' }, function(data){
            var content = '';
            $('#dynamic_table').html(''); // очистка таблицы
            for(var i = 0; i < data.num; i++){
                content = content+'<tr><td>'+data.table_data[i].first+'</td>';
                content = content+'<td>'+data.table_data[i].second+'</td>';
                content = content+'<td>'+data.table_data[i].third+'</td></tr>';
            }
            $('#dynamic_table').append(content);
        }, 'json');
    });
    // итого - 12 строк (с форматированием для читабельности)
});
</script>
<style>
#update{ width: 200px; height: auto; margin: 20px; padding: 5px; text-align: center;
         border: 1px solid blue; color: blue; cursor: pointer; }
</style>

<div id="update">Обновить информацию</div>

<table id="main_table" width="500" cellpadding="0" cellspacing="0" border="1" >
    <tr>
        <?php
        
for ($i=1$i <= 3$i++) { 
            echo 
'<th>Заголовок '$i'</th>';
        }
        
?>
    </tr>
    <tr>
        <td colspan="3">
            <table id="dynamic_table" width="100%" cellpadding="10" cellspacing="0" border="1" >
                <?php
                
for($i 1$i <= 3$i++){
                    echo 
'<tr>';
                    for(
$j 1$j <= 3$j++) echo '<td>Значение '$i'.'$j'</td>';
                    echo 
'</tr>';
                }
                
?>
            </table>
        </td>
    </tr>
</table>
post.php
PHP код:
if(!empty($_POST['action']) && ($_POST['action'] == 'update')){
    
/**
     *  здесь может быть любой код для
     *  извлечения информации из БД или файла
     *  приведенный ниже код - для примера
     */
     
    
$output = array();
    
// имитируем разное кол-во строк в ответе
    
$output['num'] = rand(212);
    
    
// формируем выходной массив
    
for ($i=0$i $output['num']; $i++) { 
        
$output['table_data'][] = array(
            
'first' => 'Новое значение ' $i '.1',
            
'second' => 'Новое значение ' $i '.2',
            
'third' => 'Новое значение ' $i '.3'
        
);
    }
    
    
// отправляем ответ сервера
    
echo json_encode($output);

Повторные нажатия на надпись "Обновить информацию" приводят к выводу в таблице разного(случайного) количества строк информации (без перезагрузки страницы).

Код на странице отображения можно совсем упростить, если формировать ответ на стороне сервера в готовый HTML.
Тогда весь процесс замены контента сведется к 2-м командам:
$('#dynamic_table').html('');
$('#dynamic_table').append(data);

При этом нужно учитывать:
1. наличие подключенного jQuery
2. при использовании JSON - информация и документы должны быть в UTF-8.
Andkorol вне форума Ответить с цитированием
Старый 02.09.2011, 16:25   #20
Dmitry1983
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 80
По умолчанию

премного благодарен! сегодня буду изучать пробовать... а так у меня все в utf-8
Dmitry1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
диалоговое окно при нажатии на кнопку sbury JavaScript, Ajax 5 02.02.2011 15:31
Уничтожить кнопку при нажатии на неё же. NoName_emaNoN Общие вопросы Delphi 28 22.01.2011 15:42
при нажатии на кнопку Delete vik85 Помощь студентам 0 20.12.2009 20:34
Скрытие интерфейса при нажатии на кнопку kostghost Общие вопросы Delphi 3 28.08.2009 11:10
прокрутка при нажатии на кнопку neformat JavaScript, Ajax 0 20.06.2008 20:40