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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Не могу выбрать записи.
 
 автор: Ramzero   (05.08.2010 в 10:04)   письмо автору
 
 

Страница с большим количеством запросов, но в запросах все имена уникальные, между тем я не могу выбрать записи.

Структура таблицы partner (10 полей)
num
name
address
и т.д.

Структура таблицы action (16 полей)
id_action
name
partner
и т.д.

$query = "SELECT * FROM
partner
INNER JOIN
action
ON
partner.num = action.partner";
$prt = mysql_query($query);
if(!$prt) puterror("Ошибка #5");


echo "<h7>".$prt['pname']."</h7>";



В чем может быть причина такого безобразного поведения скрипта?:)

  Ответить  
 
 автор: VL   (05.08.2010 в 10:19)   письмо автору
 
   для: Ramzero   (05.08.2010 в 10:04)
 

$query="Select * FROM partner as p LEFT JOIN on action as a ON p.num=a.partner";

Смотря конеш какая ошибка.
Какие форматы полей у num и partner ? они могут не совпадать.

  Ответить  
 
 автор: Ramzero   (05.08.2010 в 10:28)   письмо автору
 
   для: VL   (05.08.2010 в 10:19)
 

Формат обоих полей int.
Ошибку не выдает. Просто нет решительно ничего.

Переделал запрос:

$query = "SELECT pname FROM partner, action
WHERE num = partner";

Результат тот же.

  Ответить  
 
 автор: Ramzero   (05.08.2010 в 10:37)   письмо автору
 
   для: VL   (05.08.2010 в 10:19)
 

А вот предложенный Вами вариант уже выдает ошибку....

  Ответить  
 
 автор: Trianon   (05.08.2010 в 18:31)   письмо автору
 
   для: Ramzero   (05.08.2010 в 10:04)
 

вы не применили mysql_fetch_assoc() (или что-то аналогичное)
опять же про pname нигде ни слова.

И где ж у Вас все имена уникальные, когда поле name в обеих таблицах живет?

  Ответить  
 
 автор: VL   (06.08.2010 в 03:08)   письмо автору
 
   для: Trianon   (05.08.2010 в 18:31)
 

Да, Trianon верно подметил , а я не обратил внимание что mysql_fetch_assoc() не применено.

  Ответить  
 
 автор: Ramzero   (07.08.2010 в 13:01)   письмо автору
 
   для: VL   (06.08.2010 в 03:08)
 

Большое спасибо:) Между тем я нашел решение без применения mysql_fetch_assoc().
Что касается поля name, то я ошибочно указал в обоих таблицах. Все имена уникальны.

  Ответить  
 
 автор: sim5   (07.08.2010 в 13:05)   письмо автору
 
   для: Ramzero   (07.08.2010 в 13:01)
 

>Между тем я нашел решение без применения mysql_fetch_assoc().

Это какое такое волшебное решение?

  Ответить  
 
 автор: Ramzero   (07.08.2010 в 13:11)   письмо автору
 
   для: sim5   (07.08.2010 в 13:05)
 

Переделал запрос

$query = "
SELECT * FROM
partner,
action,
regions
WHERE
partner.num=action.partner
AND
regions.id=action.region
AND
action.date_from>=now()
AND regions.id ='".$_GET['id']."'
ORDER BY
id
DESC LIMIT 1";

$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к БД");

Вот как-то так. И все прекрасно работает.

  Ответить  
 
 автор: sim5   (07.08.2010 в 13:18)   письмо автору
 
   для: Ramzero   (07.08.2010 в 13:11)
 

Не видно чтобы работало, если конечно под работой не подразумевается исключительно вывод "Ошибка при обращении к БД" и пустой экран без оной.
<?
echo $ctg;

Что выдает?

  Ответить  
Rambler's Top100
вверх

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