Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача параметра в view 
V
    Опции темы
xber9
Дата 21.9.2012, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



народ подсткажите
есть такое представление
Код

CREATE OR REPLACE DEFINER = 'root'@'localhost' VIEW interes1_sitedate.view1
AS
SELECT creative_authors.ID
     , creative_authors.name
     , creative_authors.surname
     , poetry.caption
     , poetry.authorID
     , poetry.path
FROM
  poetry
INNER JOIN creative_authors
ON poetry.authorID = creative_authors.ID
WHERE
  poetry.caption = ?
ORDER BY
  poetry.caption;


как к нему обратиться из php станици и при этом передать параметр  '?'
PM MAIL   Вверх
bars80080
Дата 21.9.2012, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а прямо не работает?

Код

$sql = 'CREATE OR REPLACE DEFINER = 'root'@'localhost' VIEW interes1_sitedate.view1
AS
SELECT creative_authors.ID
     , creative_authors.name
     , creative_authors.surname
     , poetry.caption
     , poetry.authorID
     , poetry.path
FROM
  poetry
INNER JOIN creative_authors
ON poetry.authorID = creative_authors.ID
WHERE
  poetry.caption = '.$parametr.'
ORDER BY
  poetry.caption;';

$q = mysql_query($sql);

PM MAIL WWW   Вверх
skyboy
Дата 21.9.2012, 22:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



что за СУБД?
как в этой СУБД вообще потом работать с параметризированным представлением?
Цитата(bars80080 @  21.9.2012,  18:20 Найти цитируемый пост)
а прямо не работает?

идея представления в том, что он потом сможет запрашивать данные от имени interes1_sitedate.view1 вместо этой сложной конструкции. а движок СУБД будет уже делать этот немалый запрос незаметно для клиента.
PM MAIL   Вверх
xber9
Дата 27.9.2012, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 21.1.2007

Репутация: нет
Всего: нет




Цитата(skyboy @  21.9.2012,  22:37 Найти цитируемый пост)

то за СУБД?
как в этой СУБД вообще потом работать с параметризированным представлением?

идея представления в том, что он потом сможет запрашивать данные от имени interes1_sitedate.view1 вместо этой сложной конструкции. а движок СУБД будет уже делать этот немалый запрос незаметно для клиента. 


mysql  
как  не знаю потому и спрашиваю*
а про идею да точно я про тоже

Это сообщение отредактировал(а) xber9 - 27.9.2012, 12:51
PM MAIL   Вверх
Sanchezzz
Дата 27.9.2012, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



по идеии во view мне кажется нет такого, чтобы передать параметр как "?" так как вы view используете как 
Код

select * from interes1_sitedate.view1 where caption = 'значение'
 я могу и ошибается моих знаний о вьюхах в мускуле поверхностные и я их некогда не применял, не было надобности.

Это сообщение отредактировал(а) Sanchezzz - 27.9.2012, 15:12


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Fortop
Дата 27.9.2012, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(xber9 @  21.9.2012,  12:47 Найти цитируемый пост)
есть такое представление

Цитата(xber9 @  27.9.2012,  12:46 Найти цитируемый пост)
mysql  

А оно там работает?

Вы вообще проверяли?



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Fortop
Дата 27.9.2012, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Код

mysql> create view samplefiles as select fb.block_id, fi.canonical_name from files_blocks as fb JOIN files_info as fi ON fb.file_id = fi.id where block_id in ( 555556, 555555);
Query OK, 0 rows affected (0.00 sec)

mysql> select * from samplefiles where block_id =555555;
+----------+----------------+
| block_id | canonical_name |
+----------+----------------+
|   555555 | water_land     |
+----------+----------------+
1 row in set (0.01 sec)

mysql> select * from samplefiles where block_id =555556;
+----------+---------------------------------------------------+
| block_id | canonical_name                                    |
+----------+---------------------------------------------------+
|   555556 | 2004_Jeff_Beck_Live_B_B_King_Blues_Club_And_Grill |
+----------+---------------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from samplefiles;
+----------+---------------------------------------------------+
| block_id | canonical_name                                    |
+----------+---------------------------------------------------+
|   555555 | water_land                                        |
|   555556 | 2004_Jeff_Beck_Live_B_B_King_Blues_Club_And_Grill |
+----------+---------------------------------------------------+
2 rows in set (0.00 sec)




--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
skyboy
Дата 27.9.2012, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вообще-то, view в mysql подобной вольности не допускают. и мне не известна СУБД, которая допускает.
но. быстрое гугление привело к решению или, скорее, воркэраунду:
Цитата

Код

create function p1() returns INTEGER DETERMINISTIC NO SQL return @p1;

and view:

Код

create view h_parm as
select * from sw_hardware_big where unit_id = p1() ;

Then you can call a view with a parameter:

Код

select s.* from (select @p1:=12 p) parm , h_parm s;


но не могу придумать причины для такого изврата.
вьюхи мне кажутся средством повышения абстракции(выбор из одной вьюхи вместо явного джойна по пяти таблицам — уменьшить зависимость кода от структуры) и управления доступом(ко всей таблице доступа нет — только ко вьюхе на определенные элементы).
с другой стороны, параметризированные запросы — средство повысить производительность.
параметризированные вьюхи или воркэраунд для них — непонятный гибрид.
PM MAIL   Вверх
xber9
Дата 27.9.2012, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



пасибо вопрос снят
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0571 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.