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

Форум MySQL

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

 

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

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

тема: вывести элемент с определённым id первым

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

 
 автор: cheops   (22.08.2005 в 02:02)   письмо автору
 
   для: Mootch   (21.08.2005 в 18:58)
 

В первом SELECT-запросе имя должно быть тоже catname
<?php
$param
="select name as catname from m_d WHERE id=1 UNION select name as catname from m_category WHERE id=1";
?>

Вообще говоря странно... а что вы хотите добиться этим запросом? Осуществить самообъединение? Так не получится UNION вернёт значение из первого и второго запроса и подставит друг под другом. Какова ваша исходная цель, что требуется сделать?

   
 
 автор: Mootch   (21.08.2005 в 18:58)   письмо автору
 
   для: cheops   (21.08.2005 в 17:34)
 

как нет?
а это ?

$param="select name as dname from m_d WHERE id=1 UNION select name as catname from m_category WHERE id=1";

   
 
 автор: cheops   (21.08.2005 в 17:34)   письмо автору
 
   для: Mootch   (21.08.2005 в 15:46)
 

У вас нет этого столца в SELECT-запросе, необходимо либо добавить его либо использовать форум SELECT * FROM

   
 
 автор: Mootch   (21.08.2005 в 15:46)   письмо автору
 
   для: Mootch   (18.08.2005 в 20:18)
 


 $param="select name as dname from m_d WHERE id=1 UNION select name as catname from m_category WHERE id=1";

 $result = mysql_query($param,$link);
 $name_row = mysql_fetch_array($result);
 print $name_row[вname]."->".$name_row[catname]."<br>";


почему не работает catname ?

раззве нельзя получить результат без цикла While ?!

   
 
 автор: Loki   (19.08.2005 в 15:28)   письмо автору
 
   для: WebTech   (19.08.2005 в 14:11)
 

Если верить Cheops'y, то у большинства хостеров временные таблицы запрещены, так как это реальная возможность кривым кодом повесить сервер. Так что либо юнион, либо в два запроса... можно еще сделать нормальную таблицу, которую использовать как временную, но тут никакого выигрыша не будет.

   
 
 автор: WebTech   (19.08.2005 в 14:11)   письмо автору
 
   для: Loki   (19.08.2005 в 09:26)
 

Да, поспешил я с заявлением :-) Union введен с 4-й версии. В более ранних версиях можно использовать временные таблицы. Сделать запрос вроде этого:

CREATE TEMPORARY TABLE tmp SELECT * FROM table_name WHERE id=3;
INSERT INTO tmp SELECT * FROM table_name WHERE id!=3;
SELECT * FROM tmp;

   
 
 автор: Loki   (19.08.2005 в 09:26)   письмо автору
 
   для: WebTech   (18.08.2005 в 20:06)
 

Это объединение двух запросов в один. Если не ошибаюсь, введено в четвертой верcии mysql.
id !=$id - это мы выбираем оставшиеся записи так, чтобы среди них не попалась та, которую мы выбрали первой.

   
 
 автор: Mootch   (18.08.2005 в 20:18)   письмо автору
 
   для: Loki   (18.08.2005 в 19:51)
 

огромное спасибо! Вы мне очень помогли! :)

   
 
 автор: WebTech   (18.08.2005 в 20:06)   письмо автору
 
   для: Loki   (18.08.2005 в 19:51)
 

Это что-то типа вложенного select? У меня такой запрос не работает :-( Это для какой версии годится? И что такое id !=$id?

   
 
 автор: Loki   (18.08.2005 в 19:51)   письмо автору
 
   для: WebTech   (18.08.2005 в 19:39)
 

>похоже это невозможно сделать средствами тольно MySQL
Да на самом деле - легко:)

SELECT * FROM 'table' WHERE id =$id UNION SELECT * FROM 'table' 
WHERE id !=$id LIMIT 5 

где $id - тот id, который нужно вывести первым.

   

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

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

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