26

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

// Формирование строки времени из целых чисел.
$time = sprintf("%02d:%02d", $hour, $min);

Теперь переменную $time можно сравнивать с переменной $PR_VREMYA.

В этой строке вряд ли что-то будет работать, но я не знаю что за переменные $PERS_PN_S и $PERS_PN_DO.
for ($hour =''.$PERS_PN_S[0].''+''.$PERS_PN_S[1].''; $hour <= ''.$PERS_PN_DO[0].''+''.$PERS_PN_DO[1].''-1; $hour++)

Эту надо поправить, чтобы было целое число, а не строка.
for ($min = 0; $min < 60; $min += 20)

Это переписать для сравнения строк времени.
if ($time != $PR_VREMYA)

27 (изменено: Саша, 2011-05-23 17:41:20)

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

Исправила код, только проблема - условие   if ($time != $PR_VREMYA)  находит в таблице БД только одно значение времени, даже если на самом деле их там несколько.
Скажите, пожалуйста, как можно сделать, чтобы все значения учитывались.

$Sootvetsvie ="SELECT * from PRIEM WHERE  PR_DOC='"."$PERS_ID"."' AND PR_DATA='".$pn."'";
    $result2 = ibase_query($Sootvetsvie,$link);
    $row2 = ibase_fetch_object($result2);
    $PR_VREMYA = $row2->PR_VREMYA;
for ($hour =8; $hour <= 18; $hour++) 
{
 for ($min = '00'; $min < 60; $min += 20) 
{  
 $time = sprintf("%02d:%02d", $hour, $min);  
 if ($time != $PR_VREMYA) 
echo '<tr><td align=center BGCOLOR=#94d4dc><a href="http://127.0.0.1/write_s.php?db=insert&time=' . urlencode(''.$time.'') . '&date='.urlencode(''.$pn.''). 

'">'.$time.'</a>';

28

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

Саша сказал:

находит в таблице БД только одно значение времени, даже если на самом деле их там несколько.

Покажите пример того что находит, а что нет. Правильнее было бы отловить ошибку в скрипте, попробуйте проверить переменную $time, чтобы понять почему она не срабатывает.

Поменяйте строку на целое число.
for ($min = 0; $min < 60; $min += 20)

29

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

for ($min = 0; $min < 60; $min += 20) исправила.
Переменная $time срабатывает.  Думаю, что дело в переменной $PR_VREMYA

"SELECT * from PRIEM WHERE  PR_DOC='"."$PERS_ID"."' AND PR_DATA='".$pn."'";
    $result2 = ibase_query($Sootvetsvie,$link);
    $row2 = ibase_fetch_object($result2);
    $PR_VREMYA = $row2->PR_VREMYA; 

она берется из БД(таблица PRIEM), но дело в том, что под условие WHERE  PR_DOC='"."$PERS_ID"."' AND PR_DATA='".$pn."'" подходит несколько значений PR_VREMYA, а выводится только одно (которое последнее вносится в БД)

30

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

Сделайте цикл, только так можно несколько строк с данными выбрать.

$result2 = ibase_query($Sootvetsvie, $link);
while ($row2 = ibase_fetch_object($result2)) {
    // ...
}

31 (изменено: Саша, 2011-05-24 19:22:57)

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

Добрый вечер! я все мучаюсь со своей задачкой(
Данные о времени, которые уже есть в БД заношу в массив  $PR_VREMYA[]

$Sootvetsvie ="SELECT * from PRIEM WHERE  PR_DOC='"."$PERS_ID"."' AND PR_DATA='".$pn."'";
    $result2 = ibase_query($Sootvetsvie,$link);
    while ($row2 = ibase_fetch_object($result2))
{
    $PR_VREMYA[]  = "$row2->PR_VREMYA";  
 }
for ($hour =8; $hour <= 16; $hour++) {
for ($min = 0; $min < 60; $min += 20)  { 
$time = sprintf("%02d:%02d", $hour, $min); 
if ($PR_VREMYA[0]!=$time and $PR_VREMYA[1]!=$time  and $PR_VREMYA[2]!=$time and 
$PR_VREMYA[3]!=$time)     
 echo '<tr><td align=center BGCOLOR=#94d4dc><a href="http://127.0.0.1/write_s.php?
db=insert&time=' . urlencode(''.$time.'') . '&date='.urlencode(''.$pn.'').  '">'.$time.'</a>';
}  
}

if ($PR_VREMYA[0]!=$time and $PR_VREMYA[1]!=$time  and $PR_VREMYA[2]!=$time and
$PR_VREMYA[3]!=$time)... когда каждый элемент массива сравниваю с $time  получается именно то, что нужно.
вопрос в том, возможно ли как-то другим способом орбатиться к каждому элементу массива и сравнить с $time?

32

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

Саша сказал:

возможно ли как-то другим способом орбатиться к каждому элементу массива и сравнить с $time?

Конечно можно.

if ( !in_array($time, $PR_VREMYA) ) ...

33

Re: Вывод данных из таблицы, которая связана с другой внешним ключом

Здорово!!!  огромное СПАСИБО!