Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подсобите с запросом.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Paltash
Отправлено: 06 Мая, 2009 - 13:11:52
Post Id



Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Преамбула:
Есть табличка, которая содержит id и ещё кучу полей.
При изменении существующей записи запрос нормально возвращает массив, который потом вываливается в html-форму для правки.

Амбула:
Проблема(даже может не проблема, а так) состоит в том, чтобы получить такой-же массив, с теми-же полями, но пустыми, для новой записи, но до её создания в базе.
То есть я имею в виду что-то типа такой конструкции, как на примере
в FoxPro это можно сделать так:
CODE (text):
скопировать код в буфер обмена
  1.  "Select Blank Id, field1, field2, field3 from my_table"

и эта конструкция возвращала ответ, будто в таблице существует запись с пустыми значениями перечисленных полей.

Есть ли какая-ньть возможность сделать это в MySql? Или придётся в этом случае ручками создавать этот массив?
CODE (text):
скопировать код в буфер обмена
  1.  $aflds = array("Id"=>0,"field1"=>"","field2"=>0,"field3"=>"");

или
CODE (text):
скопировать код в буфер обмена
  1.  $aflds["Id"]=0;
  2. $aflds["field1"]="";
  3. $aflds["field2"]=0;
  4. $aflds["field3"]="";
  5.  

Не хотелось-бы ТАК рещать проблему...
ЗЫ Сорри, если повторяюсь, но поиском что-то не нашел...


-----
Есть 10 типов людей:
Кто понимает двоичную систему и кто нет
 
 Top
EuGen Администратор
Отправлено: 06 Мая, 2009 - 13:22:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Вам поможет:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SELECT a.* FROM `my_table` AS a RIGHT JOIN `my_table` AS b ON a.id=-1;
  3.  

Вместо -1 впишите значение id, которого точно нет. В моем примере это было так:
PHP:
скопировать код в буфер обмена
  1.  
  2. mysql> select a.* from sms_congrats as a right join sms_congrats as b on a.record_id=-1;
  3. +-----------+---------+--------------+------------+------------+
  4. | record_id | message | message_date | last_state | state_date |
  5. +-----------+---------+--------------+------------+------------+
  6. |      NULL | NULL    | NULL         |       NULL | NULL       |
  7. +-----------+---------+--------------+------------+------------+
  8. 1 row in set (0.00 sec)
  9.  
  10.  

Кроме того, есть команда:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SHOW FIELDS FROM `my_table`
  3.  

но первый вариант вернет в точности то, что Вам нужно.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Paltash
Отправлено: 06 Мая, 2009 - 14:07:32
Post Id



Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




[quote=EuGen]Вам поможет:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SELECT a.* FROM `my_table` AS a RIGHT JOIN `my_table` AS b ON a.id=-1;
  3.  


Спасибо, помогло.
Только пришлось ещё добавить а то выдавала все записи из таблицы a


-----
Есть 10 типов людей:
Кто понимает двоичную систему и кто нет
 
 Top
EuGen Администратор
Отправлено: 06 Мая, 2009 - 14:08:37
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




А, ну да, конечно. Я то для теста сделал табличку, в которой только 1 запись. Так что существенное уточнение, конечно.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Paltash
Отправлено: 06 Мая, 2009 - 14:09:35
Post Id



Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Но всё-равно спасиб! Радость


-----
Есть 10 типов людей:
Кто понимает двоичную систему и кто нет
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB