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 :: Изучение SQL [2]

 PHP.SU

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


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

> Без описания
Denkill
Отправлено: 29 Июня, 2013 - 18:44:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


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




почитаете по внимательней про ф-ию она возвращает массив с численными ключами для ассоциативного массива используй


-----
Хо-Хо-Хо
 
 Top
maxim2008
Отправлено: 29 Июня, 2013 - 19:45:58
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Июнь 2013  


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




начал читать. исправил array на assoc но без изменений..
 
 Top
Denkill
Отправлено: 01 Июля, 2013 - 06:21:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


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




Undefined index - он не находит в массиве такого ключа. Посмотри вообще есть в массиве такие ключи print_r($data);


-----
Хо-Хо-Хо
 
 Top
maxim2008
Отправлено: 01 Июля, 2013 - 18:00:26
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Июнь 2013  


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




Denkill пишет:
Undefined index - он не находит в массиве такого ключа. Посмотри вообще есть в массиве такие ключи print_r($data);


что с
print_r($data);

что без него - одинаково, ничего не меняется, новых ошибок не появляется.Это значит, что у меня нет ключа? Объясните тогда пожалуйста, где и как разобраться с ключами?Ключи идут к каждой таблице? кроме PRIMARY KEY нужно еще прописывать какие то ключи?
почему нельзя просто выводить содержимое таблиц/полей?
 
 Top
Contr
Отправлено: 02 Июля, 2013 - 14:11:42
Post Id



Частый гость


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


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




Ваша таблица выводится в виде двойного массива:
массив строк, где каждая строка - массив значений.

В php есть две функции - либо сразу весь объект PDO (базы данных) представить в виде массива, либо только первую его строку.

Рассмотрим первый вариант:
При использовании функции php fetchAll (Postgre) или подобной ему функции для MySQL (наверно, mysql_fetch_array) объект PDO превращается в массив следующей структуры:
PHP:
скопировать код в буфер обмена
  1. $data=array(
  2.    0 => array(
  3.       'поле1' => 'значение_01',
  4.       'поле2' => 'значение_02'
  5.    ),
  6.    1 => array(
  7.       'поле1' => 'значение_11',
  8.       'поле2' => 'значение_12'
  9.    ),
  10.    2 => array(
  11.       'поле1' => 'значение_21',
  12.       'поле2' => 'значение_22'
  13.    )
  14. );


под индексом понимается название поля, к которому тебе надо обратиться.
например, вот так:
PHP:
скопировать код в буфер обмена
  1. foreach($data as $v){
  2.    echo $v['поле1'];
  3. }
 
 Top
maxim2008
Отправлено: 02 Июля, 2013 - 21:41:02
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Июнь 2013  


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




а что под КЛЮЧОМ подразумевается? в ошибке сказано, что нет нужного ключа.я создавал таблицу.в ней id (в которой указал Primary key) и другие поля, предназначенные для внесения в них характеристик товара. Поля "Размер", "вес", "металл" и т.д..что я упустил-не понимаю в упор((читаю книги, гуглю сайты со схожими вопросами.все вроде так же как и в моем коде. но у меня ошибка. может я саму таблицу или поля в ней неправильно создал?что обычно означает, если не находит ключ?что такое ключ?
 
 Top
LIME
Отправлено: 02 Июля, 2013 - 21:45:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Contr прекрати атаковать ересью
это когда фетч массив всех кортежей возвращал????
maxim2008 не слушайте его...он бредит
(Добавление)
maxim2008 по сабжу
http://pphfaq[dot]ru/debug
а то что нет такого ключа это означает что вы обращаетесь к массиву по ключу которого нет
прочитайте статью очень внимательно...лучше несколько раз
и сами попробуйте подебажить свой код
это будет быстрее чем слушать тут всяких умников
ну если точно не получится то обращайтесь
(Добавление)
Denkill пишет:
она возвращает массив с численными ключами
еще один умник любящий побредить
вообщето она возвращает сдвоенный массив
там дублируются ключи
там есть и численные и ассоциативные
варианты:
fetch_assoc // ассоциативные ключи
fetch_row // целочисленные ключи
 
 Top
maxim2008
Отправлено: 03 Июля, 2013 - 13:12:05
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Июнь 2013  


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




LIME пишет:
Contr прекрати атаковать ересью
это когда фетч массив всех кортежей возвращал????
maxim2008 не слушайте его...он бредит
(Добавление)
maxim2008 по сабжу
http://pphfaq[dot]ru/debug
а то что нет такого ключа это означает что вы обращаетесь к массиву по ключу которого нет
прочитайте статью очень внимательно...лучше несколько раз
и сами попробуйте подебажить свой код
это будет быстрее чем слушать тут всяких умников
ну если точно не получится то обращайтесь
(Добавление)
Denkill пишет:
она возвращает массив с численными ключами
еще один умник любящий побредить
вообщето она возвращает сдвоенный массив
там дублируются ключи
там есть и численные и ассоциативные
варианты:
fetch_assoc // ассоциативные ключи
fetch_row // целочисленные ключи


спасибо!!начал дебажить)
 
 Top
esterio
Отправлено: 03 Июля, 2013 - 14:52:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




LIME пишет:
вообщето она возвращает сдвоенный массив

дополню если кто хочет похоливарить. Там есть второй параметр в котором можно указать формат массива. А по сабжу все таки нужно научиться дебажить
 
 Top
maxim2008
Отправлено: 08 Июля, 2013 - 17:32:56
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Июнь 2013  


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




В общем, ничего не помогло)))))))))))

Как были те ошибки, так и остались.
Значит, надо саму БД сносить и создавать новую.
У меня вопрос
какие атрибуты нужно задавать таблице всегда?INCREMENT VARCHAR...
Еще момент ,как лучше сделать. Если я создам таблицу категорий товаров, где первый столбик-название категории товара. а второй- его id.....то можно затем создать вторую таблицу непосредственно с описанием товара, в которой будет колонка от первой(какая именно-не знаю.наверно название этой колонки 2й таблицы должно совпадать с названием этой же колонки из 1й, т.е. table_category(category_name, category_id)-1я таблица)
table_items(items_... items_... category_id items_...)

Пока я выбрал варик с созданием отдельно таблиц категории товаров, а так же таблицы с описанием товара конкретно под каждую категорию товара. Наверно косно изложил мысли(
В любом случае все это пока что не запускается, хочу чувствую что ошибка элементарная!

(Отредактировано автором: 08 Июля, 2013 - 17:42:03)

 
 Top
maxim2008
Отправлено: 09 Июля, 2013 - 03:47:09
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Июнь 2013  


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




Кое что получилось после детального ковыряния.Да. Видать .чтобы стать программистом, придется стать каким нить титаном-Прометеем.
Подскажите пожалуйста:

1)Инфа из Базы данных выводится, но в виде вопросиков. Цифры, как есть, так и выводятся.Как сделать так, чтобы выводился текст на русском, а не в виде??????.925 ?
Видимо дело в кодировке самих таблиц и самой бд..


2)
mysql_fetch_assoc, mysql_fetch_array, mysql_fetch_row

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB