Передать переменную js в переменную php

1.84K
.
(\/)____o_O____(\/)

ramzes, для тех кто с js норм знаком, да, но по мне прям отдачу через echo в php организовать, и дергать аяксом
чисто имхо для меня, конечно json кошернее)

.
Koenig
(\/)____o_O____(\/)

Andrei4ik93, попробуй так, с пхп разберешься я думаю

<html>
<script type="text/javascript">
/* <![CDATA[ */
$.ajax({
    url: "users_ajax.php",
    type: "GET",
    data: {
        /* args */
    },
    dataType: "html"            
    }).done(function (data) {
        $('#users_ajax').html(data); 
        $('#users_ajax').attr('disabled', false); 
}
);
/* ]]> */
</script>
</html>
.
# venom (23.10.2015 / 01:13)
А если пользователей 100500, резать как то нужно...
GET /ajax/userlist.php
type: list
start: 50
end: 100
допустим такого формата запросы и соответственная обработка, можно крутить как угодно. это тот же самый "апи"
.

Koenig, а дисаблед зачем?

.
(\/)____o_O____(\/)

ramzes, да я со своих заначек нарыл

.
Люди берегите воду - пейте пиво...

Примерно так..

ajax (+/-)
<script>
        $(document).ready(function () {
            $("button#users").on('click', function () {
                event.preventDefault();
                $.ajax({
                    type: "POST",
                    url: "ajax.php",
                    dataType: "json",
                    data: ({
                        test: "ok"
                    }),
                    success: function (data) {
                        var len = data.length;
                        for (var cnt = 0; cnt < len; cnt++) {
                            $('#list').append('<p><span style="margin-left: 5px;">' + data[cnt].id + '</span>' +
                                '<span style="margin-left: 5px;">' + data[cnt].name + '</span>' +
                                '<span style="margin-left: 5px;">' + data[cnt].sex + '</span>' +
                                '<span style="margin-left: 5px;">' + data[cnt].lastdate + '</span>' +
                                '<span style="margin-left: 5px;">' + data[cnt].status + '</span>' +
                                '<span style="margin-left: 5px;">' + data[cnt].rights + '</span>' +
                                '</p>');
                        }
                    }
                });
            });
        });
    </script>

php (+/-)

$test = isset($_POST['test']) ? trim($_POST['test']) : '';
if($test == 'ok'){
    $req = mysql_query("SELECT `id`, `name`, `sex`, `lastdate`, `datereg`, `status`, `rights` FROM `users` ORDER BY `id` DESC LIMIT 0, 9");
    $rows = array();
    while ($res = mysql_fetch_array($req))
        $rows[] = $res;
    exit(json_encode($rows));
}
.
__________________________________________________
# venom (23.10.2015 / 03:21)
Примерно так..
[php]<script>
$(document).ready(function () {
$("button#users").on('click', function () {
event.preventDefault();
$.ajax({
Но у меня не mysql,а пдо.
Может какк то неправильно настроено подключение, у меня массив с базы какой то левый идет
.
__________________________________________________
# Koenig (23.10.2015 / 01:23)
ramzes, для тех кто с js норм знаком, да, но по мне прям отдачу через echo в php организовать, и дергать аяксом
чисто имхо для меня, конечно json кошернее)
Вот вот,мне html не охота.
.
Люди берегите воду - пейте пиво...

Andrei4ik93, А какая разница и откуда что json_encode загонять...
Запрос напиши свой ....

.
Люди берегите воду - пейте пиво...

Andrei4ik93, Работает на Джонни с корня сайта.., на другом не проверял , стандартная таблица users...

Файл ajax.php (+/-)

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {

    if (isset($_POST['test']) && trim($_POST['test']) == 'ok') {
        define('_IN_JOHNCMS', 1);
        require('incfiles/db.php');

        try {
            $db = new PDO('mysql:host=' . $db_host . ';dbname=' . $db_name, $db_user, $db_pass);
        } catch (PDOException $e) {
            exit(stripslashes(json_encode($e->getMessage())));
        }
        $s = isset($_POST['s']) ? abs(intval($_POST['s'])) : false;
        $k = isset($_POST['k']) ? abs(intval($_POST['k'])) : false;

        $array = [];
        $q = $db->prepare("SELECT id, name, sex, datereg, mail FROM users ORDER BY id ASC LIMIT ?, ?");
        $q->bindValue(1, $s, PDO:ARAM_INT);
        $q->bindValue(2, $k, PDO:ARAM_INT);
        $q->execute();
        $data = $q->fetchAll();
        foreach ($data as $row) $array[] = $row;
        exit(json_encode($array));
    }
}



Файл users.php (+/-)

<button id="users" type="button">Показать</button>
<table width="100%" class="table" style="display: none;text-align: center;">
    <thead>
    <tr>
        <th>#</th>
        <th>Логин</th>
        <th>Пол</th>
        <th>Дата</th>
        <th>Email</th>
        <th>Действие</th>
    </tr>
    </thead>
    <tbody id="result"></tbody>
</table>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $.date = function (dateObject) {
            var d = new Date(dateObject * 1000), day = d.getDate(), month = d.getMonth() + 1, year = d.getFullYear();
            if (day < 10) day = '0' + day;
            if (month < 10) month = '0' + month;
            return day + '-' + month + '-' + year;
        };
        var start = 0, kmess = 5;
        $("button#users").on('click', function () {
            event.preventDefault();
            $.ajax({
                type: "POST", url: "ajax.php", dataType: "json",
                data: ({test: "ok", s: start, k: kmess}),
                success: function (data) {
                    start = start + 5;
                    var users = $('#users'), len = data.length;
                    $('.table').show("slow");
                    for (var i = 0; i < len; i++) {
                        var datereg = $.date(data[i].datereg), id = data[i].id, name = data[i].name, sex = data[i].sex, mail = data[i].mail;
                        $('#result').append('<tr><th>' + id + '</th>' +
                            '<td><a href="#" target="_blank">' + name + '</a></td>' +
                            '<td>' + (sex == 'm' ? 'Men' : 'Women') + '</td>' +
                            '<td>' + datereg + '</td>' +
                            '<td>' + mail + '</td>' +
                            '<td><a href="#">DEL</a> | <a href="#">EDIT</a></td></tr>');
                        //console.log(data)
                    }
                    (len === 0) ? users.text('Все !!!') : users.text('Показать еще');
                }
            });
        });
    });
</script>


Скрин ниже...
Прикрепленные файлы:
Всего: 32