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

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

  • Professor

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

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

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



    $sort="ASC";
    echo &#39;<input name=&quot;Sort&quot; type=&quot;hidden&quot; value=&quot;$sort&quot;>&#39;;



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

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

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


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


    &lt;php>
    &lt;input type=&quot;hidden&quot; value=&quot;&quot; action=&quot;1.php&quot;>
    &lt;/php>
  • NRG

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

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

    &lt;input type=&quot;hidden&quot; value=&quot;&quot; action=&quot;1.php&quot;>

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

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

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

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

    echo &#39;<input name=&quot;Sort&quot; type=&quot;hidden&quot; value=&quot;$sort&quot;>&#39;;

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

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

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




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

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

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

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

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


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


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


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

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

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

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

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

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

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


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


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

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

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

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



    &lt;/select>
    &lt;input type=&quot;hidden&quot; value=&quot;&lt;?php echo $_GET[&#39;sort&#39;]; ?>&quot; name=&quot;sort&quot;>



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

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

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

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

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

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

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

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

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

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

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


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

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


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

    $sort=$_POST[&#39;sort&#39;];

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



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

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

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

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

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