Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывод информации из бд
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Вывод информации из бд

Страниц (1): [1]
 

1. McLotos - 15 Марта, 2011 - 07:50:56 - перейти к сообщению
Написал страницу, которая должна выводить из таблицы БД информацию о звонках вошедшего пользователя.
PHP:
скопировать код в буфер обмена
  1. echo $tcalls;
  2. $result = mysql_query("SELECT * FROM Calls,users WHERE id='$id' ORDER BY recipient");
  3. $myrow = mysql_fetch_array($result);
  4. do {printf("<tr>
  5.                   <td>%s</td>
  6.                   <td>%s</td>
  7.                   <td>%s</td>
  8.                   <td>%s</td>
  9.                   <td>%s</td>
  10.                   <td>%s</td>
  11.                   <td>%s</td>
  12.                   <td>%s</td>
  13.                   <td>%s</td>
  14.                   ",$myrow['phone_number'],$myrow['date_of_call'],$myrow['time_of_call'],$myrow['duration'],$myrow['cost'],$myrow['recipient'],$myrow['description'],$myrow['connection_type'],$myrow['volume'],$myrow['rouming']);
  15.         }
  16. while($myrow = mysql_fetch_array($result));
  17.                   echo "</tr>
  18.                   </table><br>";  

Страница должна отобрать с БД строки, где в phone_number стоит номер телефона вошедшего пользователя, а она показывает ВСЮ таблицу Calls, только заменяет реальные номера пользователей, на номер вошедшего. Почему?
2. duk - 15 Марта, 2011 - 09:48:58 - перейти к сообщению
В селекте было бы неплохо указать, как именно связаны две таблицы
3. McLotos - 15 Марта, 2011 - 10:05:03 - перейти к сообщению
А можно с этого места подробнее? Я не совсем понял что Вы хотите этим сказать! Я пробовал подключаться при помощи запросов построенных немного по-другому
PHP:
скопировать код в буфер обмена
  1. "SELECT * FROM Calls WHERE phone_number='$phone_number' ORDER BY recipient" //это через сессию, номер берётся в сессии

или к примеру так
PHP:
скопировать код в буфер обмена
  1. "SELECT * FROM Calls WHERE Calls.phone_number=users.phone_number ORDER BY recipient" //номер берётся в БД

Но почему-то оба эти пособа не работают. Они либо ничего не выводят, либо пишут ошибку. А в том варианте, как сейчас. Выводится вся таблица!
4. duk - 15 Марта, 2011 - 13:17:23 - перейти к сообщению
я так понял, что Calls и users две связанные таблицы. То есть в первой хранятся звонки юзеров из второй. Когда пишется селект, то надо указать, как именно ( по какому полю) они связаны
5. McLotos - 16 Марта, 2011 - 05:31:02 - перейти к сообщению
А в моих запросах разве этого нету?

 

Powered by ExBB FM 1.0 RC1