За последние 24 часа нас посетил 37091 программист и 7755 роботов. Сейчас ищут 1765 программистов ...

php забрать данные их таблицы

Тема в разделе "PHP для новичков", создана пользователем 17dtf32, 7 янв 2023.

  1. 17dtf32

    17dtf32 Новичок

    С нами с:
    7 янв 2023
    Сообщения:
    5
    Симпатии:
    0
    У меня только начальная стадия изучения, поэтому прошу сильно не ругаться.

    Нужна помощь в следующем моменте. Есть php-страница с результатами sql-запроса в виде таблицы, примерно такого вида:

    Имя | Номер
    Вася | 2215456
    Дима | 66623232

    Имя - это ссылка на новый пустой файл, например get_info.php

    Как правильно сделать, что бы при нажатии на Вася передавалось get_info.php?2215456, Дима - get_info.php?66623232 и т.д. - т.е. что бы у каждого имени была страница со своим id, которую я буду заполнять очередным sql-запросом индивидуально.

    Заранее спасибо за подробные ответы.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    А в чём проблема? Я, правда, всё же бы сделал, чтоб у параметра было имя типа get_info.php?n=66623232, тогда будет доступно через переменную $_GET['n']
    Но можно и так, как ты нарисовал. Тогда надо разобрать $_SERVER["REQUEST_URI"] с помощью parse_url
     
  3. 17dtf32

    17dtf32 Новичок

    С нами с:
    7 янв 2023
    Сообщения:
    5
    Симпатии:
    0
    $_GET['n'], если я верно понимаю, можно получить из адресной строки браузера.
    А у меня на выходе html-страница с кучей столбцов и из нее необходимо получить уже уникальную ссылку на каждого пользователя.

    get_info.php?n=xxxxxxxx меня вполне устроит, но я не могу понять как забрать из второй ячейки таблицы идентификатор пользователя.
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    Четот - типа
    Код (Text):
    1. < a href="blabla.info?id='.$id.' ">
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Его надо не из ячейки забирать, а из адреса запроса (когда перейдут по ссылке с этим адресом). Как «забирать», вы сами выше написали: $_GET['n'] (только надо проверять, есть ли такой параметр). «Забираете», естественно, в файле-обработчике get_info.php
    --- Добавлено ---
    Есть вариант и попроще: https://gency.ru/comment/125 :)
     
  6. 17dtf32

    17dtf32 Новичок

    С нами с:
    7 янв 2023
    Сообщения:
    5
    Симпатии:
    0
    Прошу Вас, объясните пошагово мои следующие действия для получения уникальной ссылки для каждой записи.

    Моя страница index.php c таким кодом:

    $sqlSelect1 = "SELECT Table1.fio as fio, Table1.number as number FROM Table1";
    $result = mysqli_query($connect,$sqlSelect1) or die (mysqli_error($mysqli));
    for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
    // $result = mysqli_query($data, $row);

    $result = '';

    foreach ($data as $elem){
    $result.='<tr>';

    $result.=<td>'<a href="get_info.php?id=">'.$elem['fio'].</td>';
    $result.='<td>'.$elem['number'].'</td>';

    $result.='</tr>';
    }
    echo$result;
    ?>

    В итоге в браузере я вижу всех людей, выбранных селектом в виде:

    Вася | 2215456
    Дима | 66623232

    В строке моего кода страницы index.php
    $result.=<td>'<a href="get_info.php?id=">'.$elem['fio'].</td>';
    я пытаюсь сделать уникальную ссылку для каждого сотрудника. т.е. при нажатии должен будет подгружаться файл get_info.php с кодом каждого человека из таблицы.

    Как сделать эту ссылку? Как получить и прописать id конкретно в моем случае?
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
    href="get_info.php?id="

    кто подскажет, тому ложкой по одному месту
    --- Добавлено ---
    Чувак, тебя ТС игнорит.
     
  8. 17dtf32

    17dtf32 Новичок

    С нами с:
    7 янв 2023
    Сообщения:
    5
    Симпатии:
    0
    @MouseZver я не игнорю, я туплю.

    $result.=<td>'<a href="get_info.php?id='.$elem['tab_n'].'">'.$elem['fio'].</td>';

    Вот, кажется должно быть так.
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Да, только откр. кавычка не после <td>, а перед :)
    --- Добавлено ---
    Вместо «накапливания» результата можно прямо в шаблоне сделать цикл.
    PHP:
    1. <?php foreach ($data as $item): ?>
    2. <tr>
    3.   <td><a href="get_info.php?id=<?= $item['id'] ?>"><?= $item['name'] ?></a></td>
    4.   <td><?= $item['id'] ?></td>
    5. </tr>
    6. <?php endforeach; ?>
    Хотя зачем светить id в таблице, я не знаю.
    --- Добавлено ---
    Адрес в href можно вообще не хардкодить, например:
    PHP:
    1. <a href="<?= pagelink(0, $item['id'], 'users') ?>">
     
    17dtf32 нравится это.
  10. 17dtf32

    17dtf32 Новичок

    С нами с:
    7 янв 2023
    Сообщения:
    5
    Симпатии:
    0
    @miketomlin спасибо, буду изучать ваш материал.

    Там не совсем ID, там уникальный номер каждого человека. Т.е. это не ID из БД, а поле c присвоенным номером, что то типа табельного номера.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    А что, большой секрет?
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Не :) Я имел в виду, что не совсем понятно, нафига нужна та колонка. Но ТС объяснил.

    @17dtf32, тогда лучше в адресе использовать этот номер (как вы вроде бы и делаете), чтобы у юзера меньше сознание раздваивалось. В общем это тоже идентификатор. Некоторые даже считают его первостепенным, т.к. он (в основном) используется при взаимодействии сайта с юзером.

    На «магический» 0 в последнем примере не обращайте внимания. Взял реальный пример, где назначение этого нуля «все» знают.
     
    #12 miketomlin, 8 янв 2023
    Последнее редактирование: 8 янв 2023
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.840
    Симпатии:
    1.338
    Адрес:
    Лень
    Очень. На практике был момент такой, что когда ид чела подставляет атрибут в форму и js отрабатывает запросом на сервер, то там любой айди напиши и изменит данные профиля какого-то чела или админа.
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Ну тут проблема не то, что айди на фронт пришёл (он всё равно по любому как-то туда обычно должен попасть), а то, что серверный код не проверял, кому можно менять данные профиля, кому нет.