|
|
|
|
<?$timeQ="SELECT time FROM actions WHERE date='{$_POST['date']}' AND ispoln = {$_POST['isp']} AND status = ";
$timeAcc[0]=mysql_query($timeQ". 1");
$timeAcc[1]=mysql_query($timeQ". 0");
for($j=0; $j<=1; $j++){
while($time[] = mysql_fetch_array($timeAcc[$j])){}
printf("Занятое время (%sподтверждено):<br/>",$j==0?"":"не ");
print_r($time, false);
for($i=0; $i<=50; $i++){
if(!empty($time[$i]['time']))
echo $time[$i]['time']."<br/>";
else
break;
}
}?>
|
Собственно, из базы извлекаться должно время, когда в указанный день занят тот или иной исполнитель.
print_r($time) выводит:
Занятое время (подтверждено):
Array ( [0] => ) Занятое время (не подтверждено):
Array ( [0] => [1] => Array ( [0] => 10:05 - 13:00 [time] => 10:05 - 13:00 ) [2] => Array ( [0] => 10:05 - 13:01 [time] => 10:05 - 13:01 ) [3] => Array ( [0] => 10:05 - 13:35 [time] => 10:05 - 13:35 ) [4] => Array ( [0] => 13:10 -14:00 [time] => 13:10 -14:00 ) [5] => )
|
| |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:20)
| | Не очень понятно, в что вызывает затруднение? | |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 18:26)
| | то, что время не выводится, хотя по сути оно есть в базе. | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:30)
| | Хм... а в результирующем массиве у вас столько времени, что глаза разбегаются :))) У нас нет таблиц, чтобы воспроизвести ситуацию, если не сложно опишите чуть подробнее, где вы ожидаете вывода и где его нет?
PS time, кстати, ключевое слово, его не худо в обратные кавычки помещать и вообще обрабатывать правильность выполнения SQL-запроса на сервере - будет ошибка PHP об ней не скажет, просто вместо дескриптора будет false. Но если массивы выводятся, дело явно не в этом. | |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 18:35)
| | Так вот же он, вывод:
for($i=0; $i<=50; $i++){
if(!empty($time[$i]['time']))
echo $time[$i]['time']."<br/>";
else
break;
}
|
Только у меня ничего не выводится) | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:38)
| | Вообще странно, если print_r() выводит, должен и этот цикл выводить. | |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 18:55)
| | Если выбрать другого исполнителя - массив пустой по идее должен вернуться (т.к. на него ни одного дела не повешено в базе), но print_r выводит:
Занятое время (подтверждено):
Array ( [0] => )
Занятое время (не подтверждено):
Array ( [0] => [1] => )
|
| |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 18:26)
| | и массивы странные. не понимаю, как они такие образуются | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:31)
| | У вас HTML-кода в таблице actions нет? Не может он вмешиваться? Второй массив нормальный, первый действительно странноватый... так бывает, когда HTML-тэги искажают вывод print_r(). | |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 18:37)
| | Нет, HTML нету вообще. | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:20)
| | обычно при таком обилии циклов и условий бывает полезно их поочередно отключать. | |
|
|
|
|
|
|
|
для: elenaki
(12.02.2012 в 19:05)
| | пробовал уже | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:20)
| |
$timeAcc[0]=mysql_query($timeQ". 1");
$timeAcc[1]=mysql_query($timeQ". 0");
|
даа, тут ошибки, но я их исправил уже, все равно не работает | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 19:07)
| | На всякий случай попробуйте явно обработать сообщения об ошибках - правильно ли выполняются запросы? | |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 19:17)
| | Ошибки не выводятся. | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 19:21)
| | Кусочек SQL-дампа можете прикрепить, чтобы мы могли воспроизвести ошибку? | |
|
|
|
|
 1.6 Кб |
|
|
для: cheops
(12.02.2012 в 19:22)
| | В смысле? Дамп таблицы? | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 19:27)
| | Проблема в том, что мы вам можем только советовать, отладить ничего не можем, так как у нас код не запускается (нет вашей базы данных), а мозг уже давно привык следовать по рабочему коду в работе, в общем просто по статическому коду трудно сказать в чем дело - отлаживать надо (а без базы данных этого сделать нельзя). | |
|
|
|
|
|
|
|
для: cheops
(12.02.2012 в 19:32)
| | Ладно, я пока так оставлю - кое как, да работает. Может, потом поправлю как - то, топишусь тогда. | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 18:20)
| | поставил пока внутренний цикл с началом в единице (0 - пустой, цикл вылетает из-за проверки на пустоту), выводит. Всё же интересно, почему такие неправильные массивы.. | |
|
|
|
|
|
|
|
для: alexander95
(12.02.2012 в 19:25)
| | $timeQ="SELECT time FROM actions WHERE date='{$_POST['date']}' AND ispoln = {$_POST['isp']} AND status = ";
$timeAcc[0]=mysql_query($timeQ". 1");
$timeAcc[1]=mysql_query($timeQ". 0");
Чет я тут не пойму... Где двойная кавычка в конце строки запроса? И как это так в скобках строки непонятно объединяются....? точка же снаружи кавычек должна быть? | |
|
|
|