|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
Есть простые запросы: Код: sql 1.
и Код: sql 1.
Первый запрос выводит только одну запись, второй некое множество, три-пять. Запрос я делаю через созданный класс, метод: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Все, в принципе работает, но мне нужно не это, и не пойму как. Например код: Код: php 1. 2. 3. 4. 5.
Дает такой ответ: авторarray ( 0 => stdClass::__set_state(array( 'question' => 'Добрый день! Делаем звонок?', )), ) Я понимаю, можно и print_r использовать, или еще чего, но мне нужно не это, мне нужно 'question' вывести, например в блок <DIV> через echo. А по второму запросу я вообще хочу в кнопки запихнуть. Но я не могу разобраться с этими массивами. На вот это у меня выдает ошибку: Код: php 1.
Ошибка: авторNotice: Undefined index: question in D:\xampp\htdocs\SalesPHP\proba.php on line ... Где читать, что я не так делаю? Мне нужно значение поля таблицы, мне не нужен весь массив с названием поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 11:56 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
StangГде читать в документации. mysqli_fetch_array ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:05 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
Изопропилв документации. mysqli_fetch_array Та я уже перепробовал столько, что мне кажется я вообще не там ищу. В данном случае мне выдает нечто такое: авторWarning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, array given in Вот тупо с документации пример скопировал: Код: php 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:22 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
И что как по мне странно, вроде как у меня не обычный массив, а объект, и если я пытаюсь сделать вот так: Код: php 1. 2.
То выдает вот такого плана ошибку: авторFatal error: Call to a member function fetch_assoc() on a non-object in ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:51 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
я так делаю Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:57 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
waszkiewicz, это как-то сложно для меня еще воспринимать. А часом нет рабочего варианта, например на GitHub посмотреть? Чтобы я мог проследить всю цепочку? Воровать не буду, копипастить тоже, мне бы смыл понять... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 13:06 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
Stang, Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
использование Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
на Git нет, не выкладываю ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 13:33 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 13:41 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
Я все же продолжу тему. Не знаю, что я не правильно делаю, но работая вне классов, все у меня получается выводить, в любом нужном мне виде. Если создаю свой класс, все пропало. Наткнулся в одной книге на интересный метод __toString, но не совсем пойму как он работает. Сделал так: Код: php 1. 2. 3.
У меня на выводе только предупреждение и слово массив - Код: php 1. 2.
Или может мне нужно выводить переменную $data? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 11:04 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
StangЕсли создаю свой класс, все пропало....гипс снимают, клиент уезжает. Отличное описание технической проблемы! Что пропало то? StangНаткнулся в одной книге на интересный метод __toString, но не совсем пойму как он работает.В мануале http://php.net/manual/ru/language.oop5.magic.php#object.tostring описание вполне исчерпывающе одним абзацем. StangУ меня на выводе только предупреждение и слово массив - Код: php 1. 2.
Или может мне нужно выводить переменную $data?Опять же, сложно что-либо сказать, не видя проблемного кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 14:52 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
vkle...гипс снимают, клиент уезжает. Отличное описание технической проблемы! Что пропало то? Так вроде выше описана проблема? Если кратко, то вот такой код, просто на страничке, не через класс, работает: Код: php 1. 2. 3. 4. 5. 6.
Если я делаю через класс, он описан вначале, то выдает ошибку, тоже в первом посте есть. vkleВ мануале http://php.net/manual/ru/language.oop5.magic.php#object.tostring описание вполне исчерпывающе одним абзацем. В принципе оттуда я и пытаюсь сделать свой код, но не получается. vkleОпять же, сложно что-либо сказать, не видя проблемного кода. Вот так я сделал метод: Код: php 1. 2. 3.
Вот так я его вызываю: Код: php 1. 2.
В результате на выходе я получаю: Array ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 15:36 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
StangВот так я сделал метод: Код: php 1. 2. 3.
Вот так я его вызываю: Код: php 1. 2.
В результате на выходе я получаю: Array Дык волшебный метод __toString() применим к экземпляру класса, в данном случае к объекту $db. Ваш же метод query() возвращает массив. В принципе, в ряде случаев элементы массива соединить в строку можно функцией implode(), если хотите, но толку от этого маловато, по большому счету, будет. Хотя, для какого-то простого случая вполне может сгодиться. Не для данного случая, разумеется. Вам этот вывод echo для чего нужен то? По первому посту. StangНа вот это у меня выдает ошибку: Код: php 1.
Ошибка: авторNotice: Undefined index: question in D:\xampp\htdocs\SalesPHP\proba.php on line ... Где читать, что я не так делаю?Смотрите внимательно. Даже, очень внимательно. Ваш метод query() возвращает простой массив (с индексами 0, 1, 2 и т.д.), в который собраны все строки результата запроса. В данном конкретном случае будет возвращена единственная строка данных, которая попадет в массив с нулевым индексом. Это раз. И два. Каждая строка данных представляет собой объект, который возвращается методом fetch_object(). Таким образом, если Вы желаете получить поле 'question' из первой строки результата запроса, то должны обращаться к нулевому элементу массива $data и только потом по имени поля к свойству объекта. Примерно так: Код: php 1.
В общем, внимательно смотрите за типами данных, с которыми работаете. При непонятках используйте для анализа ситуации функцию var_dump(). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 16:46 |
|
Как получить значение из поля таблицы в PHP?
|
|||
---|---|---|---|
#18+
vkle, супер! Вот оно, чего я так не мог добиться! Даже в мозгах посветлело! Вот именно, что я и подозревал, что что-то с типами данных, как бы и php мне намекал... :) Код: php 1. 2.
И все работает!!!! Спасибо огромное. Получается __toString мне и не нужен? Мне нужна именно возможность выводить отдельно каждую ячейку, а не весь массив в одну строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 17:24 |
|
|
start [/forum/topic.php?fid=23&msg=39691156&tid=1460199]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 308ms |
total: | 438ms |
0 / 0 |