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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP запрос в MySQL с переменным названием поля 
V
    Опции темы
terya
Дата 18.4.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Мне надо сделать запрос такого типа "SELECT id FROM table WHERE $shop_id=$code"

Пример таблицы:

id  |  1  |   2  |   3   |  4  |   5
1     23    A1    25     25    12
2     c2     21    02     1C    s3
3     zx     2e    45     78    78

мне нужно будет узнать есть ли в столбце $shop_id значение переменной $code
PM MAIL ICQ Skype   Вверх
bars80080
Дата 18.4.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



не помню, чтобы имена полей были чисто числовые

но что мешает написать так:

Код

$sql = 'SELECT id FROM table WHERE `field1`='.$code.' OR `field2`='.$code.' OR `field3`='.$code.' OR `field4`='.$code.' OR `field5`='.$code;
?
PM MAIL WWW   Вверх
terya
Дата 18.4.2010, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



пока я так и сделал, но предстоит более сложная задача, таких столбцов будет очень большое количество и эта цепочка будет очень длинная, хотелось бы избежать этого. Как мне вместо названия поля переменную поставить (пусть даже поля будут не числовые)?
PM MAIL ICQ Skype   Вверх
Fortop
Дата 18.4.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



terya, не делать так со столбцами
хранить все в такой таблице

id, id_shop, id_item


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


Шустрый
*


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

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



Мне подскажите имя столбца брать из переменной в запрос возможно как-нибудь.
к примеру будет переменная $col, которая может иметь значение col1 или col2 или col3 ... colN.
вот такой запрос нужен
Код

$sql = "SELECT id FROM table WHERE ".$col."=$code"

переменная $code случайная последовательность

Только этот запрос не работает, php не понимает что я от него хочу
PM MAIL ICQ Skype   Вверх
Fortop
Дата 18.4.2010, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Мда, что в лоб, что по лбу.

Цитата(terya @  18.4.2010,  21:27 Найти цитируемый пост)
 php не понимает что я от него хочу 

php все понимает, но конретно вам не дает делать дурость.

Повторяю еще раз.
Не надо так делать. Вообще.

Храните все в одной таблице с 3мя столбцами.

и запрос будет 
Код

SELECT id FROM table WHERE col_name = $col AND code = $code




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


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



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

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



сделайте 

Код

echo $sql.' '.mysql_error();


и покажите, что напишет
PM MAIL WWW   Вверх
terya
Дата 19.4.2010, 21:09 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



подскажите возможно ли в запрос вместо имени поля вставить переменную содержащую значение равное имени поля
PM MAIL ICQ Skype   Вверх
azesmcar
Дата 19.4.2010, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(terya @  19.4.2010,  21:09 Найти цитируемый пост)
подскажите возможно ли в запрос вместо имени поля вставить переменную содержащую значение равное имени поля 

можно узнать зачем ты обратился за помощью, если не слушаешь ответов?
Да! Можно, но тебе уже 2 раза сказали так не делать.
PM   Вверх
Guedda
Дата 20.4.2010, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


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

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



Цитата(terya @  19.4.2010,  22:09 Найти цитируемый пост)
подскажите возможно ли в запрос вместо имени поля вставить переменную содержащую значение равное имени поля 

Да. Можно. Ответ удовлетворил? Помечай тему решенной (если не хочешь слушать ответы профессионалов).


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
terya
Дата 20.4.2010, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

echo $sql.' '.mysql_error();

тоже ничего не получается еще на стадии задания переменной выдает ошибку в синтаксе
PM MAIL ICQ Skype   Вверх
bars80080
Дата 20.4.2010, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



Цитата(terya @  20.4.2010,  18:44 Найти цитируемый пост)
С тремя столбцами не получается ничего у меня.

расскажи задачу, может получится


Цитата(terya @  20.4.2010,  18:44 Найти цитируемый пост)
тоже ничего не получается еще на стадии задания переменной выдает ошибку в синтаксе 

какую ошибку?
PM MAIL WWW   Вверх
terya
Дата 20.4.2010, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

расскажи задачу, может получится


постараюсь рассказать свою задачу вкратце. Есть у меня товары, они все имеют свой id. И есть прайс-листы товаров других магазинов у товаров которых свои id. вообщем один и тот же товар в каждом прайс листе имеет разный id.  Пример: есть телевизор, в моей базе он имеет id=1, в магазине №1 он имеет id=A188890, в магазине №2 он имеет id= EO32 и т.д. Я создаю такую таблицу

id         id_1                id_2
1       A188890           EO32
2       199902              RU24

вот так я пытаюсь связать эти разные id одного и того же товара

Это сообщение отредактировал(а) terya - 20.4.2010, 19:59
PM MAIL ICQ Skype   Вверх
Fortop
Дата 20.4.2010, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

id    item_id       shop_id    item_per_shop_id               
1    1        id_1    A188890 
2    1        id_1    199902          
3    2        id_2    EO32
4    2        id_2    RU24

Это сложно?



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


Шустрый
*


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

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



Понял. ОГРОМНОЕ СПАСИБО за помощь.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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