Как отправить и получить ответ от php через ajax?

drkrol

Постоялец
Регистрация
6 Мар 2016
Сообщения
112
Реакции
11
Здравствуйте. Не совсем было понятно, где создавать тему (php или js). Если ошибся, приношу свои извинения.
Есть вот такая форма: Для просмотра ссылки Войди или Зарегистрируйся . Данные в таблицу, которую вы лицезреете, записываются вот таким образом
PHP:
$query = "SELECT * FROM main ORDER BY id DESC";
$result = mysqli_query($link, $query);

if (!$result) {
    die(mysqli_error($link));
}
$n = mysqli_num_rows($result);
$articles = array();
for ($i=0; $i < $n; $i++) {
    $row = mysqli_fetch_assoc($result);
    $articles[] = $row;
}
return $articles;
А в html таблица выглядит вот так:
HTML:
<?php foreach($articles as $a): ?>
    <tr>
        <td class="formid"><?=$a['id']?></td>
        <td><?=$a['namenomer']?></td>
        <td><?=$a['datestart']?></td>
        <td><?=$a['dateend']?></td>
        <td><?=$a['nameclient']?></td>
        <td><?=$a['phoneclient']?></td>
    </tr>
<?php endforeach ?>
И вот всё это отлично работает. php обращается к бд, достаёт данные и выводит их в html.
Теперь вернёмся к форме Для просмотра ссылки Войди или Зарегистрируйся . Если вы нажмёте на строку таблицы, то у вас откроется popup окно, где должны быть указаны подробные данные этой строки. Теперь вопрос. Как по ajax отправить значение id строки, на которую мы нажали, чтобы php потом сделал выборку по этому id, и затем вывел данные в popup? И как мне указать переменные?
 
Как по ajax отправить значение id строки, на которую мы нажали, чтобы php потом сделал выборку по этому id, и затем вывел данные в popup? И как мне указать переменные?
Вот примерно так: Для просмотра ссылки Войди или Зарегистрируйся
Получить значение в первой клетке нажатой строки, а потом отправить запрос с этим id на сервер.
 
Получить значение в первой клетке нажатой строки, а потом отправить запрос с этим id на сервер.
А как встретить на сервере?
PHP:
$formid = ЧЕМУ ОН РАВЕН?
$query = "SELECT * FROM main WHERE id = $formid";
 
PHP:
$formid = $_POST['id'];
$query = "SELECT * FROM main WHERE id = $formid";
Сработало. Теперь мне нужно как-то вот эту кучу:
Код:
array(1) { [0]=> array(10) { ["id"]=> string(1) "2" ["namenomer"]=> string(6) "xcvxcv" ["datestart"]=> string(10) "2016-11-16" ["dateend"]=> string(10) "2016-11-30" ["nameclient"]=> string(6) "xcvxcv" ["phoneclient"]=> string(9) "xcvxcvxcv" ["datebron"]=> string(10) "2016-11-17" ["timeofbron"]=> string(8) "07:26:28" ["type"]=> string(3) "xxc" ["pay"]=> string(3) "ccc" } }
В нормальный вид привести, т.е. прописать в div'ах их значения.
$('.popformid').text(['id'])
$('.popformname').text(['namenomer'])

Что я должен указать вместо id и namenomer, чтобы получить 2 и xcvxcv?

P.S. ах, да. Я вместо return прописал vardump...
 
Последнее редактирование:
Что я должен указать вместо id и namenomer, чтобы получить 2 и xcvxcv?
Вардамп не нужен, работай с JSON: Для просмотра ссылки Войди или Зарегистрируйся
PHP:
echo(json_encode($result));
Код:
  $.post('http://site.com/', { "id": id }, function( data ) {
    data = (typeof data === 'string') ? JSON.parse(data) : data;
    $('.popformid').text(data['id']);
    $('.popformname').text(data['namenomer']);
  });
Могу посоветовать: Для просмотра ссылки Войди или Зарегистрируйся
И вот это: Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху