Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Każda wartość jest wyświetlana w nowej tabeli HTML wiersza

Oto cały przykład:

<?php
    $con = mysqli_connect('localhost', 'root', '', 'test') or die(mysqli_error($con));
    $query = "SELECT * FROM personeel INNER JOIN rooster ON rooster.personeel_id = personeel.id";
    $result = mysqli_query($con, $query) or die(mysqli_error($con));

    if (mysqli_num_rows($result) > 0) {
        $arr = array();
        $nam = array();
        $day = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
        while ($row = mysqli_fetch_assoc($result)) {
            $nam[$row['id']] = $row['naam'];
            $arr[$row['id']][$row['dag']] = $row['start'] . ' - ' . $row['eind'];
        }
        echo '<table border="1">';
            echo '<tr>';
                echo '<td>Employees</td>';
                foreach($day as $d){
                    echo '<td>'.$d.'</td>';
                }
            echo '</tr>';
            foreach ($nam as $k=>$n){
                echo '<tr>';
                    echo '<td>'.$n.'</td>';
                    foreach ($day as $d){
                        if(isset($arr[$k][$d])){
                            echo '<td>'.$arr[$k][$d].'</td>';
                        }else{
                            echo '<td>Virj</td>';
                        }
                    }
                echo '</tr>';
            }
        echo '</table>';
    }
?>

Dane wyjściowe to:

Kilka szczegółów:

$nam tablica przechowuje wszystkie pobrane nazwiska z personeel wraz z jego relacją id.

Array
(
    [1] => Tom
    [2] => Jack
)

$arr to główna tablica zawierająca relację między identyfikatorem osoby a jego danymi:

Array
(
    [1] => Array
        (
            [Tuesday] => 12:00 - 21:00
            [Wednesday] => 15:00 - 21:00
        )

    [2] => Array
        (
            [Monday] => 08:00 - 18:30
        )

)

$day jest statyczną tablicą z dniami tygodnia.

Idąc przez oba $nam i $arr tablice dają żądaną tabelę bez żadnych duplikatów. Dodatkowo dostarczone rozwiązanie wykorzystuje mysqli_* funkcje, dzięki czemu można zobaczyć, jak z nich korzystać.

Mam nadzieję, że to pomoże ci rozwiązać twój problem. :)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:Wstawianie wartości z formularza do MySQL

  2. Błąd połączenia MySQL, którego nigdy nie widziałem

  3. Jak zrobić time_to_minute w Mysql?

  4. Wstawianie wartości szesnastkowej w MySQL

  5. Jak zoptymalizować przechowywanie i pobieranie z ogromnej listy w php?