yassey adlı üyeden alıntı: mesajı görüntüle
aşağıda fikir vermesi açısından örnek bir uygulama paylaştım. SQL de tutmak istiyorsanız burdaki dizi yapısına uygun tablolar oluşturabilirsiniz. Böyle birşeyi sınıf ile yapmak daha güzel olacaktır

<?php

$categories = [
    1 => [
            'category'  => 'Test Arıza',
            'user'      => 'İbrahim Kılıçaslan'
    ],
    2 => [
            'category'  => 'Ağır Bakım',
            'user'      => 'Alper Sızar'
    ],
    3 => [
            'category'  => 'Bakım',
            'user'      => 'Sezer Şimşek'
    ],
    4 => [
            'category'  => 'Muhtelif Bakım',
            'user'      => 'Recep Yılmaz'
    ]
];

$periods = [
    1 => [
        'time1' => '08:35',
        'time2' => '09:35',
        'text'  => '08:35 - 09:35'
    ],
    2 => [
        'time1' => '09:35',
        'time2' => '10:35',
        'text'  => '09:35 - 10:35'
    ],
    3 => [
        'time1' => '10:35',
        'time2' => '11:35',
        'text'  => '10:35 - 11:35'
    ],
    4 => [
        'time1' => '11:35',
        'time2' => '12:35',
        'text'  => '11:35 - 12:35'
    ],
    5 => [
        'time1' => '12:35',
        'time2' => '13:35',
        'text'  => '12:35 - 13:35'
    ]
];

$jobs = [
    1 => [
        'date'      => '2017-12-24',
        'category'  => 1,
        'period'    => 1,
        'text'      => '01 AD 02<br /> Lift No : 2<br /> Sorun : Ses Gelmesi'
    ],
    2 => [
        'date'      => '2017-12-24',
        'category'  => 3,
        'period'    => 3,
        'text'      => '01 AD 02<br /> Lift No : 2<br /> Sorun : Test Sorun'
    ],
    3 => [
        'date'      => '2017-12-24',
        'category'  => 4,
        'period'    => 1,
        'text'      => '01 AD 02<br /> Lift No : 2<br /> Sorun : Ses Geliyor'
    ],
    4 => [
        'date'      => '2017-12-25',
        'category'  => 4,
        'period'    => 1,
        'text'      => '01 AD 02<br /> Lift No : 2<br /> Sorun : Ses Gitmiyor'
    ]
];

function now_jobs($jobs) {
    if($jobs['date'] == date('Y-m-d'))
        return true;
    return false;
}

$now_jobs = array_filter($jobs, 'now_jobs');

?>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
    table, td, th{border: 1px solid #ccc;}
</style>
</head>
<body>
<table width="100%">
    <thead>
        <tr>
            <th></th>
            <?php echo '<th>' . implode(array_column($categories,'category'), '</th><th>') . '</th>' ?>
        </tr>
        <tr>
            <th>Çalışma Saatleri</th>
            <?php echo '<th>' . implode(array_column($categories,'user'), '</th><th>') . '</th>' ?>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($periods as $per_key => $period) { ?>
        <tr>
            <td><?php echo $period['text']; ?></td>
            <?php foreach ($categories as $cat_key => $category) { ?>
                <td>
                    <?php foreach ($now_jobs as $now_job) { ?>
                        <?php if($now_job['category'] == $per_key && $now_job['date'] == date('Y-m-d') && $now_job['period'] == $cat_key) { ?>
                        <?php echo $now_job['text']; ?>
                        <?php } ?>
                    <?php } ?>
                </td>
            <?php } ?>
        </tr>
        <?php } ?>
    </tbody>
</table>
</body>
</html>
hocam gerçekten muhteşem bir örnek yani haftalardır aradığım algoritmayı yazmışsınız gerçekten tebrik ediyorum elimle koymuş gibi buldum gerçekten çok sağolun hocam bu arada ufak bir hatanız vardı if dönügsünde categoryi = per key demişsiniz yani categoriyle period kaymış bunu değiştirdim tam oturdu bu arada algoritmanız efsane olduğundan birşey daha danışsam şimdi randevu veriyor fakat randevu dolu olan saat ve katergoriye randevu seçtirirken nasıl gizleyebiliriz yani çalışan select menüyü açınca o saati gözükmesin