У меня есть таблица базы данных с id
, date
, time
, cabinet
столбцы.Таблица очередей с использованием PHP/MySQL
Мне нужно создать таблицу со значениями из базы данных, но она должна выглядеть как таблица очередей.
time 8,9,10,11,12,13,14,15,16
102 -- - + - - + - -
103 -+ - - - - + - -
если время занят будет +
, если бесплатно -
. Итак, я пытаюсь сделать это с помощью этого кода.
Я должен изменить петли .. некоторые идеи? Спасибо!
Также у меня есть столовые приборы с id
, cabinetNumber
, title
столбцы. Мне нужно изменить мой запрос mysql. Должна быть возможность изменить дату (usege datepicker и Ajax) и изменить значения строк таблицы.
$q = $_GET['date'];
$query = mysql_query("SELECT date,cabinet,
SUM(IF(ROUND(`time`)=8,1,0)) as h8,
SUM(IF(ROUND(`time`)=9,1,0)) as h9,
SUM(IF(ROUND(`time`)=10,1,0)) as h10,
SUM(IF(ROUND(`time`)=11,1,0)) as h11,
SUM(IF(ROUND(`time`)=12,1,0)) as h12,
SUM(IF(ROUND(`time`)=13,1,0)) as h13,
SUM(IF(ROUND(`time`)=14,1,0)) as h14,
SUM(IF(ROUND(`time`)=15,1,0)) as h15
FROM `schedule` WHERE date = '".$q."'
GROUP BY cabinet") or die(mysql_error());
?>
<table class="table table-hover">
<tr class=".info"><td>Cab</td><td >8:00</td><td >9:00</td><td >10:00</td><td >11:00</td><td >12:00</td><td >13:00</td><td >14:00</td><td >15:00</td></tr>
<!-- -->
<?php while($data=mysql_fetch_array($query)) :?>
<tr>
<?php $cabinet = $data['cabinet']; ?>
<td><?=$cabinet ?></td>
<?php for($j=8; $j<=15; $j++) : ?>
<?php
$busy = $data['h'.$j];
?>
<?php if($busy>0 && $data['date']===$q): ?>
<td class="busy"><?=$busy?></td>
<?php else: ?>
<td class="free"><?=$cabinet; ?>
<form action="1.php" method="post">
<input type="hidden" name="time" value="<?= $j;?>" /><?=$data['date']?>
<input type="hidden" name="cabinet" value="<?= $cabinet;?>" />
<input type="submit" style="free" value="" name="sub"/>
</form>
</td>
<?php endif?>
<?php endfor ?>
</tr>
<?php endwhile ?>
</table>
$(function() {
$("#datepicker").datepicker({ dateFormat: 'yy-mm-dd' });
});
$(".date").on('change', function(){
var date = $('#datepicker').val();
console.log(date);
$.ajax({
type:'get',
url:'table.php',
data : {
'date' : date
},
success: function(data) {
$('#result').html(data);
}
});
});
Пожалуйста, [прекратить использование '' mysql_ * функции] (http://stackoverflow.com/вопросы/12859942/почему-не должно-и-использование-MySQL-функции-в-PHP). Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленных заявлениях] (http://en.wikipedia.org/wiki/Prepared_statement) и подумайте об использовании [PDO] (http://jayblanchard.net/demystifying_php_pdo.html). –