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

Форум MySQL

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

 

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

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

тема: Извлечение данных из таблицы
 
 автор: tavila2010   (14.08.2009 в 19:55)   письмо автору
 
 

Есть запрос:
$ctg = mysql_query("SELECT DISTINCT tip_catalog FROM catalog ORDER BY tip_catalog");
Надо бы из записи вытащить ещё 3 поля -
id_foto
small
big
при уникальном tip_catalog
Как это правильно записать?
Так он тащит только tip_catalog и вместо фотографий печатает пустые окошки.
http://iisus-hristos.com/paleh/index.php?m=catalog&lang=eng - вот здесь можно запустить. Там слева на красном фоне.

  Ответить  
 
 автор: Trianon   (14.08.2009 в 20:03)   письмо автору
 
   для: tavila2010   (14.08.2009 в 19:55)
 

>Есть запрос:
>$ctg = mysql_query("SELECT DISTINCT tip_catalog FROM catalog ORDER BY tip_catalog");
>Надо бы из записи вытащить ещё 3 поля -
>id_foto
>small
>big

>при уникальном tip_catalog
Из каких записей?

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 21:33)   письмо автору
 
   для: Trianon   (14.08.2009 в 20:03)
 

из этой же записи что по запросу найдет.

  Ответить  
 
 автор: Trianon   (14.08.2009 в 21:43)   письмо автору
 
   для: tavila2010   (14.08.2009 в 21:33)
 

Так если tip_catalog неуникален - как быть-то?

DISTINCT отлавливает не записи, а значения.

Вопрос не имеет смысла без указания структуры таблицы.
То есть он и с ней-то ущербен, но без - просто неотчего отталкиваться.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 21:57)   письмо автору
 
   для: Trianon   (14.08.2009 в 21:43)
 

там слева видите распечатывается 3 типа каталогов. Жирным выделены типы каталогов.
http://iisus-hristos.com/paleh/index.php?m=catalog&lang=eng
1 ikoni eng
1 Палехские Иконы eng
2 Иконы Иваново анг
3 из киева а
2 suveniri eng
1 браслет а
3 derevjannaja eng
1 Игрушка1 анг
Т.е. есть куча икон от разных производителей.
В структуре записи
tip_catalog - по этому полю делаю DISTINCT
big
small
как бы ещё и эти 2 поля отловить. Из этой найденной уникальной записи. Или надо отдельный запрос написать?

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:06)   письмо автору
 
   для: tavila2010   (14.08.2009 в 21:57)
 

Дамп структуры и данных таблицы можно посмотреть на закладке Экспорт программы phpMyAdmin.

все строки данных необязательно. Достаточно фрагмент.

Дай мне Бог терпения

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:10)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:06)
 

Про терпение - не смешно. Вы всегда так Ёрничаете. Это я уже давно заметила. Не хотите не отвечайте. Вас никто не заставляет.

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:11)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:10)
 

Мне тоже не смешно. И я не ерничаю.Это раз.

Не на всякий вопрос можно ответить.
Я пытаюсь помочь Вам его сформулировать, чтобы ответ можно было дать. Это два.


Я не делаю попыток оценить Ваше поведение и манеры.
А Вы на это в отношении меня пошли. Это три.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:18)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:11)
 

Сама разберусь - не трудитесь

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:21)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:18)
 

К Вам можно обратиться с личной просьбой?

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:22)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:21)
 

нет нельзя!

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:22)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:11)
 

Аминь и Дай мне Бог терпения - это обязательно надо было писать? При Ваших знаниях у Вас удивительная способность раздражать. вы всегда здесь с кем-то что-то выясняете. Извините конечно!

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:29)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:22)
 

Первое было взято назад, как сказанное в раздражении.
Второе было адресовано не Вам.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:33)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:29)
 

Да ладно! Вы всёравно умница! Кто старое помянет - тому глаз вон! Вы хороший и умный, я это точно знаю! Лезем к Вам все с глупостями. Я бы ещё и не так взорвалась! Я недавно сайт знакомств сделала - приглашаю! http://spasi-i-sohrani.com/startz.php
Всего Вам самого доброго. :)))

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:34)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:33)
 

И кто из нас ерничает? :)

Дамп-то покажете? Хотя бы структуру.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:37)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:34)
 

щас

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:39)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:37)
 

Глаза обещаю не трогать.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:48)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:39)
 

:)))))))))))))))))))))))))))))))

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:46)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:37)
 

Вот http://iisus-hristos.com/7.jpg Там big и small - это о фотографии товаров.

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:49)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:46)
 

в этой таблице куча полей.

Вы пытаетесь выбрать уникальные занчения top_catalog

Очевидно, при произвольных данных, одному конкретному значению в поле top_catalog будут соответствовать несколько разных записей в таблице.
Этот момент понятен?

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:50)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:49)
 

ну да. Мне вот надо выловить любую картинку с таким ТИПОМ каталога. Любую. Т.е. эти big и small или хотябы id_foto Наверно всётаки ещё запрос надо писать.

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:54)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:50)
 

Сервер БД и язык SQL устроены так, что (за очень редким исключением) должны давать четкий определенный ответ, на заданный запрос.
У Вас же ситуация такова, что сервер не сможет определиться, какую из записей ему предложить (из тех что подходят по top_catalog)

Грубо говоря, сервер можно просить "дай первую" , "дай последнюю" , "дай самую маленькую" но не
"дай любую".
Он даже не сможет дать "первую попавшуюся". Честно.

Как только человек определяется с намерениями - задачу можно решать.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:55)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:54)
 

а первую никак здесь не вытащить без доп. запроса? Хочется грамотно это сделать.

  Ответить  
 
 автор: Trianon   (14.08.2009 в 22:58)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:55)
 

Первую - можно.

Подробне отвечу чуть погодя.
Надо домой вернуться успеть.

  Ответить  
 
 автор: tavila2010   (14.08.2009 в 22:59)   письмо автору
 
   для: Trianon   (14.08.2009 в 22:58)
 

спасибо большое.

  Ответить  
 
 автор: Trianon   (15.08.2009 в 00:04)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:59)
 

SELECT c.*
  FROM (
    SELECT top_catalog AS tc, MIN(id_foto) AS idf
      FROM catalog 
      GROUP BY top_catalog ) AS t
    JOIN catalog c ON t.idf = c.id_foto
  ORDER BY c.top_catalog

  Ответить  
 
 автор: tavila2010   (15.08.2009 в 01:42)   письмо автору
 
   для: Trianon   (15.08.2009 в 00:04)
 

Бррррррррр! Абракадабра какая! Обалдеть.!

  Ответить  
 
 автор: Trianon   (15.08.2009 в 02:01)   письмо автору
 
   для: tavila2010   (15.08.2009 в 01:42)
 

Ничего подобного.
Всё просто, как домашний тапочек.

получить самый первый номер id_foto
SELECT MIN(id_foto) 
  FROM catalog 



Для каждого top_catalog получить самые первые номера id_foto в группах с одинаковыми top_catalog
SELECT top_catalog, MIN(id_foto) 
    FROM catalog 
    GROUP BY top_catalog  



То же самое, но названиями выходных полей результата
SELECT top_catalog AS tc, MIN(id_foto) AS idf
    FROM catalog 
    GROUP BY top_catalog  



Обозвать этот запрос как t
(SELECT top_catalog AS tc, MIN(id_foto) AS idf
    FROM catalog 
    GROUP BY top_catalog ) AS t 


Прицепить к нему таблицу catalog по условию равенства номеров записей
t JOIN catalog с ON t.idf = c.id_foto


Получить все записи из прицепленной таблицы и отсортировать их по top_catalog
SELECT c.*
  FROM t
    JOIN catalog c ON t.idf = c.id_foto
  ORDER BY c.top_catalog 


C учетом подстановки t

SELECT c.*
  FROM (
    SELECT top_catalog AS tc, MIN(id_foto) AS idf
      FROM catalog 
      GROUP BY top_catalog ) AS t
    JOIN catalog c ON t.idf = c.id_foto
  ORDER BY c.top_catalog 

  Ответить  
 
 автор: sim5   (15.08.2009 в 00:10)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:33)
 

При разрешении большим чем 1200 по горизонтали, непорядок.... девочку жалко ;-)

  Ответить  
 
 автор: Commander   (15.08.2009 в 04:52)   письмо автору
 
   для: tavila2010   (14.08.2009 в 22:33)
 

У вас на сайте на первой странице орфографическая ошибка - слово новичёк через О пишется - новичок.

  Ответить  
 
 автор: tavila2010   (15.08.2009 в 08:30)   письмо автору
 
   для: Commander   (15.08.2009 в 04:52)
 

Спасибо. Исправлю. :)))

  Ответить  
 
 автор: Revil   (26.08.2009 в 23:21)
 
   для: tavila2010   (15.08.2009 в 08:30)
 

Девушки такие вещи создают, пишут, разбираются...приятно...побольше бы таких :)

  Ответить  
 
 автор: serjinio   (28.08.2009 в 14:42)   письмо автору
 
   для: tavila2010   (14.08.2009 в 19:55)
 

Каким шрифтом написано Home в меню на картинке ?..понравился :)))

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

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