Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выборка из 2х таблиц

Сообщения:  [1-10]   [11-13] 

 
 автор: Trianon   (16.03.2006 в 21:51)   письмо автору
 
   для: Юный Хакер   (20.01.2006 в 14:46)
 

Он и не будет работать. SQL не транслирует квалифицированные имена. Нужно явно прописывать необходимые поля и алиасы именам столбцов при соединении таблиц. Либо брать ячейки не по имени, а по номеру.
Попробуйте сделать echo "<pre>"; print_r($result) - Вам всё станет ясно.

   
 
 автор: WebTech   (21.01.2006 в 18:35)   письмо автору
 
   для: Юный Хакер   (21.01.2006 в 17:51)
 

Хм... У меня все работает.

   
 
 автор: Юный Хакер   (21.01.2006 в 17:51)   письмо автору
 
   для: WebTech   (21.01.2006 в 17:03)
 

Пожалуйста:)

-- 
-- Структура таблицы 'authors'
-- 

CREATE TABLE 'authors' (
  'id' int(11) NOT NULL auto_increment,
  'name' text NOT NULL,
  'registration' int(11) NOT NULL default '0',
  'permission' enum('other','moder','admin') NOT NULL default 'other',
  'last_active' int(11) NOT NULL default '0',
  PRIMARY KEY  ('id')
) TYPE=MyISAM AUTO_INCREMENT=3 ;

-- 
-- Дамп данных таблицы 'authors'
-- 

INSERT INTO 'authors' VALUES (1, 'Admin', 1137851962, 'admin', 1137851962);
INSERT INTO 'authors' VALUES (2, 'Moder', 1137852999, 'moder', 1137852999);

-- --------------------------------------------------------

-- 
-- Структура таблицы 'news'
-- 

CREATE TABLE 'news' (
  'id' int(11) NOT NULL auto_increment,
  'text' text NOT NULL,
  'date' int(11) NOT NULL default '0',
  'id_author' int(11) NOT NULL default '0',
  'visible' enum('y','n') NOT NULL default 'y',
  PRIMARY KEY  ('id')
) TYPE=MyISAM AUTO_INCREMENT=3 ;

-- 
-- Дамп данных таблицы 'news'
-- 

INSERT INTO 'news' VALUES (1, 'Тест:)', 1137851962, 1, 'y');
INSERT INTO 'news' VALUES (2, 'и еще раз тест:)', 1137852999, 2, 'y');

   
 
 автор: WebTech   (21.01.2006 в 17:03)   письмо автору
 
   для: Юный Хакер   (21.01.2006 в 13:42)
 

Можете сделать дампы таблиц news и authors?

   
 
 автор: Юный Хакер   (21.01.2006 в 13:42)   письмо автору
 
   для: WebTech   (21.01.2006 в 13:39)
 

Дык, проверял:)
Данные совпадают...

   
 
 автор: WebTech   (21.01.2006 в 13:39)   письмо автору
 
   для: Юный Хакер   (21.01.2006 в 13:22)
 

Получается что нет ни одного id из таблицы authors равного id_authors из таблицы news. Проверьте данные, может быть это на самом деле так...

   
 
 автор: Юный Хакер   (21.01.2006 в 13:22)   письмо автору
 
   для: cheops   (21.01.2006 в 13:10)
 

Выводит 0

   
 
 автор: cheops   (21.01.2006 в 13:10)   письмо автору
 
   для: Юный Хакер   (21.01.2006 в 12:31)
 

Измените код следующим образом
<?php 
  $query
=mysql_query("SELECT * FROM news, authors WHERE news.id_author=authors.id LIMIT 10"); 
  if(!
$result) exit(mysql_error());
  echo 
mysql_num_rows($query); 
?>

что-нибудь дополнительно выводится?

   
 
 автор: Юный Хакер   (21.01.2006 в 12:31)   письмо автору
 
   для: WebTech   (21.01.2006 в 10:57)
 

нет, не работает:((

   
 
 автор: WebTech   (21.01.2006 в 10:57)   письмо автору
 
   для: Юный Хакер   (21.01.2006 в 07:59)
 

А так?

<?php 
$query
=mysql_query("SELECT * FROM news, authors WHERE news.id_author=authors.id LIMIT 10"); 
$result=mysql_fetch_array($query); 
echo 
$result['name']; 
?>

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования