За последние 24 часа нас посетили 22854 программиста и 1246 роботов. Сейчас ищут 807 программистов ...

Переменные в мультизапросе

Тема в разделе "PHP и базы данных", создана пользователем shiyri, 8 июн 2019.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @shiyri молодец, доделай этот запрос:
    PHP:
    1. select ft.fio, pr.propusk, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk
     
  2. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @shiyri, так учиться надо от простого к сложному. Сначала теория (хотя бы одну книгу) потом практика.
     
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @Valick ты ж в курсе как я учился. А если нет, то в таком порядке:

    1. html - видосики на ютубе
    2. jquery - видосики на ютубе
    3. codeigniter - видосики на ютубе
    4. javascript - видосики на ютубе + какие то статьи
    5. ms sql - видосики которые полная туфта
    6. php - этот форум + видосики в которых нифига не понятно, то ли дело codeigniter :D
    7. дошел до книжек и начал потихоньку разбираться...

    С первого по седьмой пункт где то годик :)
    --- Добавлено ---
    да и теория должна идти параллельно с практикой, больше профита.
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Artur_hopf, начал бы с 7-го пункта всё было бы гораздо быстрее и правильнее. Ну и в конце концов ты уникальный случай, набиваешь себе шишки на чужих граблях. Благо энергии у тебя хоть отбавляй :)
     
  5. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    С седьмого пункта бы не получилось. Устроился на работу программистом, надо было делать работу, хоть как нибудь =)
     
  6. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    Тут я не понимаю, почему надо начинать с времени входа, этих строк еще нет, они появляются позже, когда кто то пройдет пост. Мне кажется начинать надо с fio, потому что таблица постоянно заполнена, и к ней подтягивать выборку с prohod. Получилось то идеально!

    fio [​IMG] 1 status time_vh time_vih time_ar
    Артемьева Полианна Рудольфовна NULL NULL NULL NULL
    Бобров Емельян Макарович 1 19:43:12 NULL NULL
    Герасимова Надежда Михаиловна NULL NULL NULL NULL
    Дмитриев Денис Валерьевич NULL NULL NULL NULL
    Елисеев Климент Сергеевич 1 09:45:54 NULL NULL
    Князев Михаил Матвеевич NULL NULL NULL NULL
    Маслова Эльмира Геласьевна NULL NULL NULL NULL
    Назаров Абрам Владимирович NULL NULL NULL NULL
    Некрасов Эрик Аркадьевич NULL NULL NULL NULL
    Петров Пётр Петрович NULL NULL NULL NULL
    Сидоров Сидор Сидорович NULL NULL NULL NULL
    Хохлова Силика Яковлевна NULL NULL NULL NULL
    Хренова Гадя Петрович NULL NULL NULL NULL
    Цветкова Ляля Вячеславовна NULL NULL NULL NULL
    апвпвапвпа NULL NULL NULL NULL
    Прямо то что надо.
     
  7. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Если этого времени нет то null. Все же логично, что не так?
     
  8. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    Код (Text):
    1. select ft.fio, pr.propusk, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk where pr.status > 0 or data > CURDATE() or data is null ORDER BY fio
    --- Добавлено ---
    Вот так работает :)))))
    вроде как....
     
  9. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @shiyri неа, а если человек за день пару раз зайдет и выйдет?)
     
  10. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Artur_hopf, всё конечно хорошо и ты молодец, но ты уверен, что БД организована правильно? :)
     
  11. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Нет, но он учится. Когда вопрос встанет о данных за прошлые смены, тогда и переделает =)
    --- Добавлено ---
    А пока и так пойдет =)
     
  12. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Artur_hopf, и охота тебе себе жизнь усложнять? :) Хочешь помочь человеку не в ущерб себе, задавай грамотные наводящие вопросы. И первым вопросом должен быть дамп структуры БД.
     
  13. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @Valick вот и задавай. Сидишь в сторонке, поглядываешь хихикая :) у меня в сотню раз меньше знаний чем у тебя. Помогаю как умею =)
    --- Добавлено ---
    @Valick по идее я же тоже учусь верно, так что:
    g8xx9h.jpg

    Но мне кажется он не поймет что его спрашивают. Поэтому считаю что все он правильно делает пока что:)
     
  14. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    дык пусть курсирует, это устраевает, в каждой строчке есть данные вход выход.
    у меня с выводом затруднения :)))))
    PHP:
    1. require_once 'connection.php'; // подключаем скрипт
    2. $link = mysqli_connect($host, $user, $password, $database)
    3.     or die("Ошибка " . mysqli_error($link));
    4.           mysqli_query($link,"SET CHARACTER SET 'utf8'");
    5. mysqli_query($link,"SET SESSION collation_connection ='utf8_unicode_ci'");
    6. $query ="select ft.fio, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk where pr.status > 0 or data > CURDATE() or data is null ORDER BY fio";
    7. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    8. if($result)
    9. {
    10.     $rows = mysqli_num_rows($result); // количество полученных строк
    11.    
    12.     echo "";
    13.     for ($i = 0 ; $i < $rows ; ++$i)
    14.     {
    15.         $row = mysqli_fetch_row($result);
    16.         echo "<tr>";
    17.            echo "<td  colspan=2><font size=5>$row[fio]</td ><td>$row[status]</td><td>$row[time_vh]</td><td>$row[time_vih]</td><td>$row[time_ar]</td>";
    18.         echo "</tr>";
    19.     }
    20.     echo "";
    21.    
    22.     // очищаем результат
    23.     mysqli_free_result($result);
    24. }
    25. mysqli_close($link);
    одни пустые ячейки получаются
    --- Добавлено ---
    Я хз, что это значит. Структура или что?
     
  15. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    покажи что возвращает:

    PHP:
    1. <?php
    2. $link = mysqli_connect($host, $user, $password, $database);
    3.  
    4.  
    5.     printf("Соединение не удалось: %s\n", mysqli_connect_error());
    6.     exit();
    7. }
    8.  
    9. $query = "select ft.fio, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk where pr.status > 0 or data > CURDATE() or data is null ORDER BY fio";
    10.  
    11. if ($result = mysqli_query($link, $query)) {
    12.      $array = [];
    13.  
    14.     while ($row = mysqli_fetch_assoc($result)) {
    15.         $array[] = $row;
    16.     }
    17.  
    18.     print_r($array);
    19.     mysqli_free_result($result);
    20. }
    21.  
    22. mysqli_close($link);
    23. ?>
     
  16. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    Вот
     

    Вложения:

    • 123.png
      123.png
      Размер файла:
      550,5 КБ
      Просмотров:
      3
  17. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    Вру, чистый лист, вообще ничего.

     
  18. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    значит запрос не правильный =)
     
  19. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    PHP:
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    2. <html>
    3. <head>
    4.   <meta  http-equiv="refresh" content="5"; charset="utf-8">
    5.   <title>Проходная</title>
    6.  
    7. </head>
    8. <?php include('head.php');?>
    9.     <tr>
    10.   <td colspan="2"><font size="5"><center>ФИО</td>
    11.   <td width="50"><font size="5"><center>Статус</td>
    12.   <td width="130"><font size="5"><center>Время входа</td>
    13.   <td width="150"><font size="5"><center>Время выхода</td>
    14.   <td width="200"><font size="5"><center>Время пребывания</td>
    15.   </tr>
    16. <?php
    17. require_once 'connection.php'; // подключаем скрипт
    18. $link = mysqli_connect($host, $user, $password, $database)
    19.     or die("Ошибка " . mysqli_error($link));
    20.           mysqli_query($link,"SET CHARACTER SET 'utf8'");
    21. mysqli_query($link,"SET SESSION collation_connection ='utf8_unicode_ci'");
    22. $query ="select ft.fio, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk where pr.status > 0 or data > CURDATE() or data is null ORDER BY fio";
    23. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    24. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    25. if($result)
    26. {
    27.     $rows = mysqli_num_rows($result); // количество полученных строк
    28.    
    29.     echo "";
    30.     for ($i = 0 ; $i < $rows ; ++$i)
    31.     {
    32.         $row = mysqli_fetch_row($result);
    33.         echo "<tr>";
    34.             for ($j = 0 ; $j < 5 ; ++$j) echo "<td><font size=5>$row[$j]</td >";
    35.         echo "</tr>";
    36.     }
    37.     echo "";
    38.  
    39.     // очищаем результат
    40.     mysqli_free_result($result);
    41. }
    42. mysqli_close($link);
    43. ?>
    44. </table>
    45. </body>
    46. </html>
    вот так только криво выходит
     

    Вложения:

    • 234234243.png
      234234243.png
      Размер файла:
      124,2 КБ
      Просмотров:
      2
  20. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    что это?:
    HTML:
    1. <tr>
    2.   <td colspan="2"><font size="5"><center>ФИО</td>
    3.   <td width="50"><font size="5"><center>Статус</td>
    4.   <td width="130"><font size="5"><center>Время входа</td>
    5.   <td width="150"><font size="5"><center>Время выхода</td>
    6.   <td width="200"><font size="5"><center>Время пребывания</td>
    7.   </tr>
     
  21. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    шапка
    --- Добавлено ---
    согласен убрал;)
     
  22. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    вот нормальная структура твоей таблицы:
    PHP:
    1. <!doctype html>
    2.  
    3. <html lang="en">
    4.   <head>
    5.     <meta charset="utf-8">
    6.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    7.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    8.     <title>table</title>
    9.   </head>
    10.   <body>
    11.   <div class="container-fluid">
    12.   <div class="row">
    13.     <div class="col-12">
    14.       <table class="table text-center table-bordered">
    15.         <thead class="thead-dark">
    16.             <tr>
    17.                 <th style="width: 30%">Главная</th>
    18.                 <th>Вход</th>
    19.                 <th>Выход</th>
    20.                 <th>Добавить</th>
    21.                 <th>Удалить</th>
    22.                 <th>Отчет</th>
    23.             </tr>
    24.         </thead>
    25.         <tbody>
    26.             <tr>
    27.                 <th colspan="4">Проходная</th>
    28.                 <th>Сегодня</th>
    29.                 <th><?=date('d.m.Y')?></th>
    30.             </tr>
    31.             <tr>
    32.                 <th colspan="2">ФИО</th>
    33.                 <th>Статус</th>
    34.                 <th>Время входа</th>
    35.                 <th>Время выхода</th>
    36.                 <th>Время пребывания</th>
    37.             </tr>
    38.             <tr>
    39.                 <td>test</td>
    40.                 <td>test</td>
    41.                 <td>test</td>
    42.                 <td>test</td>
    43.                 <td>test</td>
    44.                 <td>test</td>
    45.             </tr>
    46.         </tbody>
    47.       </table>
    48.       </div>
    49.     </div>
    50.   </div>
    51. </body>
    52. </html>
    скопируй куда нибудь, и посмотри тебе надо ставить в цикле там где test
     
  23. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    PHP:
    1. <!doctype html>
    2. <html lang="en">
    3.   <head>
    4.     <meta charset="utf-8"  http-equiv="refresh" content="5"; >
    5.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    6.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    7.     <title>Проходная</title>
    8.   </head>
    9.   <body>
    10.   <div class="container-fluid">
    11.   <div class="row">
    12.     <div class="col-12">
    13.       <table class="table text-center table-bordered">
    14.         <thead class="thead-dark">
    15.             <tr>
    16.                 <th style="width: 65%">Главная</th>
    17.                 <th>Вход</th>
    18.                 <th>Выход</th>
    19.                 <th>Добавить</th>
    20.                 <th>Удалить</th>
    21.                 <th>Отчет</th>
    22.             </tr>
    23.         </thead>
    24.         <tbody>
    25.             <tr>
    26.                 <th colspan="4">Проходная</th>
    27.                 <th>Сегодня</th>
    28.                 <th><?=date('d.m.Y')?></th>
    29.             </tr>
    30.             <tr>
    31.                 <th colspan="2">ФИО</th>
    32.                 <th>Статус</th>
    33.                 <th>Время входа</th>
    34.                 <th>Время выхода</th>
    35.                 <th>Время пребывания</th>
    36.             </tr>
    37.            
    38.                <?php
    39. require_once 'connection.php'; // подключаем скрипт
    40. $link = mysqli_connect($host, $user, $password, $database)
    41.     or die("Ошибка " . mysqli_error($link));
    42.           mysqli_query($link,"SET CHARACTER SET 'utf8'");
    43. mysqli_query($link,"SET SESSION collation_connection ='utf8_unicode_ci'");
    44. $query ="select ft.fio, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk where pr.status > 0 or data > CURDATE() or data is null ORDER BY fio";
    45. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    46. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    47. if ($result = mysqli_query($link, $query)) {
    48.      $array = [];
    49.     while ($row = mysqli_fetch_assoc($result)) {
    50.         $array[] = $row;
    51.     }
    52.     print_r($array);
    53.     mysqli_free_result($result);
    54. }
    55. mysqli_close($link);
    56. ?>
    57.            
    58.         </tbody>
    59.       </table>
    60.       </div>
    61.     </div>
    62.   </div>
    63. </body>
    64. </html>

    с выводом архива вот так вылезло с верху
     

    Вложения:

    • 34234343.png
      34234343.png
      Размер файла:
      135,2 КБ
      Просмотров:
      3
  24. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. <?php
    2. require_once 'connection.php'; // подключаем скрипт
    3. $link = mysqli_connect($host, $user, $password, $database)
    4.     or die("Ошибка " . mysqli_error($link));
    5.           mysqli_query($link,"SET CHARACTER SET 'utf8'");
    6. mysqli_query($link,"SET SESSION collation_connection ='utf8_unicode_ci'");
    7. $query ="select ft.fio, pr.status, pr.time_vh, pr.time_vih, pr.time_ar from fio_table as ft left join prohod as pr on ft.propusk=pr.propusk where pr.status > 0 or data > CURDATE() or data is null ORDER BY fio";
    8. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    9. $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    10. if ($result = mysqli_query($link, $query)) {
    11.      $table = '';
    12.     while ($row = mysqli_fetch_assoc($result)) {
    13.         $table .= '<tr>
    14.                  <td>'.$row['fio'].'</td>
    15.                 <td>test</td>
    16.                 <td>test</td>
    17.                 <td>test</td>
    18.                <td>test</td>
    19.                 <td>test</td>
    20.          </tr>';
    21.     }
    22.     mysqli_free_result($result);
    23. }
    24. mysqli_close($link);
    25. ?>
    26. <!doctype html>
    27. <html lang="en">
    28.   <head>
    29.     <meta charset="utf-8"  http-equiv="refresh" content="5"; >
    30.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    31.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    32.     <title>Проходная</title>
    33.   </head>
    34.   <body>
    35.   <div class="container-fluid">
    36.   <div class="row">
    37.     <div class="col-12">
    38.       <table class="table text-center table-bordered">
    39.         <thead class="thead-dark">
    40.             <tr>
    41.                 <th style="width: 65%">Главная</th>
    42.                 <th>Вход</th>
    43.                 <th>Выход</th>
    44.                 <th>Добавить</th>
    45.                 <th>Удалить</th>
    46.                 <th>Отчет</th>
    47.             </tr>
    48.         </thead>
    49.         <tbody>
    50.             <tr>
    51.                 <th colspan="4">Проходная</th>
    52.                 <th>Сегодня</th>
    53.                 <th><?=date('d.m.Y')?></th>
    54.             </tr>
    55.             <tr>
    56.                 <th colspan="2">ФИО</th>
    57.                 <th>Статус</th>
    58.                 <th>Время входа</th>
    59.                 <th>Время выхода</th>
    60.                 <th>Время пребывания</th>
    61.             </tr>
    62.             <?=$table?>
    63.         </tbody>
    64.       </table>
    65.       </div>
    66.     </div>
    67.   </div>
    68. </body>
    69. </html>
     
  25. shiyri

    shiyri Активный пользователь

    С нами с:
    8 июн 2019
    Сообщения:
    111
    Симпатии:
    0
    Спасибо, ляпота!!! :)))))
     

    Вложения:

    • 00000.png
      00000.png
      Размер файла:
      137,6 КБ
      Просмотров:
      7