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

Форум MySQL

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

 

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

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

тема: Ограничение выборки
 
 автор: Fratyr   (07.03.2008 в 01:54)   письмо автору
 
 

Здравствуйте товарищи.

Я тут новенький, мой первый пост.
Хотел бы попытать удачу и спросить у знатоков кое какой вопрос.

Я новичек в работе с РНР+MySQL, и мне бы хотел немного поглубже уйти с головой в работу в этой области. Меня интересует один вопрос который я не смог найти ни в каких документациях, т.е это более сложный метод выборки данных из базы.

Если кто-нибудь сможет написать запрос выборки (можно и с комментариями) я буду очень признателен.

Ознакомившись с базовыми запросами и обработкой данных, Я бы хотел сделать подобные операции и желательно на псевдо коде увидеть как это делают другие:
1) Как правильно работать с LEFT JOIN, т.е как объединять таблицы лучшим способом? Допустим есть таблица с ID пользователей, есть таблица с их статьями, т.е первые 10 скажем, принадлежат к ID = 1, остальные 40 к ID = 2. Как можно вызвать сразу таблицу пользователей и статей и выбрать и вывести в массив статьи определенного пользователя? Скажем только от пользователя 2 все его статьи.

2) Та же ситуация, только я хочу вызвать статьи пользователя 2 с 25 по 30 например, а остальные отсечь. Как делается такая выборка?

3) Та же ситуация, но мне нужно выбрать статьи пользователя 2 которые находятся на странице 2 или 3, а не на первой. Скажем на странице 10 статей. т.е 20-30 находятся на первой странице, 30-40 на второй, 40-50 на третьей странице. Как вызвать с опр. страницы?
Создать таблицу, сделать категорию или ID для каждой страницы и.... дальше не знаю как подключить номер страницы и вызвать определенные статьи.

Извините за длинный текст, но я думаю довольно красиво и чисто описал всё, буду очень и оень признателен если кто-то откликнится и поможет чем сможет.

Sirencely, Fratyr.

   
 
 автор: Furst   (07.03.2008 в 02:07)   письмо автору
 
   для: Fratyr   (07.03.2008 в 01:54)
 

1)
в таблице atricles должен быть внешний ключ на юзера

SELECT articles.name FROM articles WHERE articles.id_user = 1;


2)

SELECT articles.name FROM articles WHERE articles.id_user = 1 LIMIT 24, 5;

выведет начиная с 25ой 5 записей.

3)
также с помощью LIMIT

   
 
 автор: Fratyr   (07.03.2008 в 03:42)   письмо автору
 
   для: Furst   (07.03.2008 в 02:07)
 

Благодарю!
Мир спасен. Крепкий Орешек не потребовался. С меня пиво.

Кстати, а как еще можно, извините за нахальство, изменить какой-то таблице или одному из её поля кодировку? скажем с cp1251 на utf-8?

И как по умолчанию сделать так чтобы таблица или вся база создавалась только на utf-8? :-)

Ох и радости у меня, жаль с ног валюсь, устал учить. Спасибо еще раз.

   
 
 автор: Furst   (07.03.2008 в 04:00)   письмо автору
 
   для: Fratyr   (07.03.2008 в 03:42)
 

>Кстати, а как еще можно, извините за нахальство, изменить какой-то таблице или одному из её поля кодировку? скажем с cp1251 на utf-8?
>

ALTER TABLE `tbl_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


>И как по умолчанию сделать так чтобы таблица или вся база создавалась только на utf-8? :-)

CREATE DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

   
Rambler's Top100
вверх

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