ФорумПрограммированиеPHP для идиотов → JavaScript + PHP (передача данных)

JavaScript + PHP (передача данных)

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 20 ноября 2008 г. 8:04, спустя 27 минут 14 секунд

    Люди, надо на примере обьяснять! =)
    relictx, создаешь еще поле



    $sort="ASC";
    echo '<input name="Sort" type="hidden" value="$sort">';



    А в PHP доступ к этому полю
    echo $_POST['Sort'];
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 20 ноября 2008 г. 8:10, спустя 5 минут 13 секунд


    Забудь пока слово аякс. Обычное хидден поле, обычная отправка формы.


    <php>
    <input type="hidden" value="" action="1.php">
    </php>
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 20 ноября 2008 г. 8:29, спустя 19 минут 23 секунды

    <input type="hidden" value="" action="1.php">

    зачем инпуту action ?
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 20 ноября 2008 г. 8:47, спустя 17 минут 58 секунд

    <select name="perpage" onchange="document_collection_setbatching();">
    <?php
    if(isset($_POST['Sort']))
    {
    $sort=$_POST['Sort'];
    }
    else
    {
    $sort="ASC";
    }

    echo '<input name="Sort" type="hidden" value="$sort">';

    for ($perpage=1;$perpage<4;$perpage++){
    if ($perpage*10==$page_size){
    echo "<option value=\"".($perpage*10)."\" selected=\"true\">".($perpage*10)."</option>";
    }
    else {echo "<option value=\"".($perpage*10)."\">".($perpage*10)."</option>";}
    }
    ?>
    </select></td>
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 20 ноября 2008 г. 9:25, спустя 38 минут 10 секунд




    Спасибо. сейчас уже дома, потестю завтра) РЕспект!
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 26 ноября 2008 г. 8:09, спустя 5 дней 22 часа 43 минуты

    При таком подходе у нас вообще исчезают цифры "10" , "20" , "30".
    Да и это не совсем то что нужно. Попытаюсь объяснить более понятней:

    Нажимаем на название столбца, происходит сортировка по ASC:
    Ссылка выглядит так:
     a.php?field=famil&sort=ASC&page=1 


    жмем еще раз, по DESC:
    Ссылка выглядит так:
     a.php?field=famil&sort=DESC&page=1 


    Внизу таблицы, тоесть в foot'ере, переключатель количества отображаемых данных. При переключении, сортировка не сохраняется.
    Ссылка выглядит так:
     a.php 


    Я думаю, мне недостаточно хранить результат сортировки, а переходить по ссылкем типа:
    '.$_SERVER['PHP_SELF'].'?field='.$_POST['field'].'&sort='.$_POST['sort'].'&page='.$i.'

    Только как это сделать, пока мне лично в голову ничего не приходит.
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 26 ноября 2008 г. 8:20, спустя 11 минут 2 секунды

    Мля, потому что не $_POST, а $_GET
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 26 ноября 2008 г. 8:33, спустя 13 минут 15 секунд


    Мля, потому что не $_POST, а $_GET


    Причем тут это? Я спрашиваю про переключатель количества страниц. Там надо дописать код, чтобы при переключении переход осуществлялся по ссылке, а не про саму структуру ссылки.

    <select name="perpage" onchange="document_collection_setbatching();">
    <?php
    for ($perpage=1;$perpage<4;$perpage++){
    if ($perpage*10==$page_size){
    echo "<option value=\"".($perpage*10)."\" selected=\"true\">".($perpage*10)."</option>";
    }
    else {echo "<option value=\"".($perpage*10)."\">".($perpage*10)."</option>";}
    }
    ?>
    </select></td>
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 26 ноября 2008 г. 8:37, спустя 4 минуты 8 секунд



    </select>
    <input type="hidden" value="<?php echo $_GET['sort']; ?>" name="sort">



    или $_POST … не могу внятно понять где-ты чем передаешь
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 26 ноября 2008 г. 9:02, спустя 24 минуты 53 секунды

    Код переключателя я выложил выше.

    Передаю ссылки названиям столбцов и номерам страниц. Изменение вида сортировки осуществлено в body.
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 26 ноября 2008 г. 9:13, спустя 10 минут 32 секунды

    Я ваще ничего не понял в последней мессаге.
    Короче, какого фига ты упорно игнорируешь советы добавить хидден поле?
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 26 ноября 2008 г. 10:00, спустя 47 минут

    AlexB правильно написал.


    <select name="perpage" onchange="document_collection_setbatching();">
    <?php
    // здесь проверяется, если еще не сортировалось , то сортируется по ASC
    isset($_GET['sort'])
    ? $sort=$_GET['sort'];
    : $sort="ASC";
    ?>
    <input type="hidden" value="<?php echo $sort; ?>" name="sort"> //здесь сохраняется выбранная сортировка

    <?php
    for ($perpage=1;$perpage<4;$perpage++){
    if ($perpage*10==$page_size){
    echo "<option value=\"".($perpage*10)."\" selected=\"true\">".($perpage*10)."</option>";
    }
    else {echo "<option value=\"".($perpage*10)."\">".($perpage*10)."</option>";}
    }
    ?>
    </select></td>


    А в обработчике который из таблици данные получает, Не забудьте указать

    $sort=$_POST['sort'];

    "SELECT * FROM `table` ORDER BY `ID` $sort Limit 0, тут переменная определяющая количество элементов"



    Или я не понял вас(
  • Fujin

    Сообщения: 23 Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 15:12, спустя 1361 день 4 часа 11 минут

    думаю да, только не могу понять в какую дырку вас имеют?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!