За последние 24 часа нас посетили 228114 программистов и 1731 робот. Сейчас ищут 1730 программистов ...

функции mysql_fetch_assoc и перебор массива

Тема в разделе "PHP для новичков", создана пользователем Rezovskij, 11 мар 2016.

  1. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    2 вопроса уважаемые программисты.

    1) Как формируется массив из данных, которые передаются функцией mysql_query. Понимаю, что там, ассоциативный массив. Вопрос в том, как он выглядит.

    2) Не понимаю почему этот цикл работает, ведь переменной $row (в моем представлении) должны присвоиться все массивы. Но они, каким то образом передаются по очереди в соответствии со строками в таблице.
    Код (PHP):
    1. сложнааа) Скорее всего у меня каша в голове...
    2. <?php
    3. $selecd = mysql_query("SELECT series_name_key,series_name FROM name_series");
    4.     while ($row = mysql_fetch_assoc($selecd)){
    5.         echo $row[series_name_key];
    6.         echo $row[series_name];
    7.         echo "<br>";
    8.     }
    9. ?>
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  3. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Rezovskij, в документации все четко же написано:
    Добавлено спустя 9 минут 6 секунд:
    mysql_query не возвращает никакой массив:
    Если интересно как выглядит изнутри та или иная переменная ты всегда сможешь выполнять отладочный вывод.
    т.е.:
    Код (PHP):
    1. echo "<pre>";//это чтобы был форматированный вывод
    2. var_dump($selecd);//отладка
    3. echo "</pre>"; 
     
  4. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    Проше простить за дотошность, но что значит
    .

    Что такое внутренний указатель ?
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Rezovskij,У каждого массива имеется внутренний указатель на его "текущий" элемент, который инициализирован первым элементом, добавленным в массив.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    mysql удалили в PHP7, зачем её использовать? Бери mysqli или PDO.

    Читаем документацию: http://php.ru/manual/function.mysql-query.html#refsect1-fun ... turnvalues
    Там есть примеры, какие аргументы принимает функция, что возвращает и в каких ситуациях.

    Функция mysql_query может возвращать (resource), или FALSE в случае ошибки и TRUE для INSERT, UPDATE, DELETE, DROP и других.
    Так вот с resource мы можем работать через специальные функции, такие как mysql_fetch_assoc.
    Например resource которое вернуло mysql_query содержит 10 результатов.
    Когда мы вызываем mysql_fetch_assoc и передаём в качестве первого аргумента переменную которой присвоен resource от mysql_query, то mysql_fetch_assoc знает как с ним работать и из 10 результатов вернёт только первый в виде array, вызвав таким же образом mysql_fetch_assoc второй раз, она вернёт из 10 результатов уже второй и так далее, когда дойдёт до конца, то вернёт FALSE, а while работает пока не получит false.
     
  7. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    Большое спасибо. Теперь все стало для меня на свои места. А за mysqlLi и PDO не берусь т. к боюсь)
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    так mysql удалили в PHP7, как ты будешь код писать?
    Там различий почти нету и используй ООП подход, и от страха обратись в лечебницу.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты вардампом научился пользоватся?
     
  10. Rezovskij

    Rezovskij Новичок

    С нами с:
    18 фев 2016
    Сообщения:
    84
    Симпатии:
    1
    Да, незаменимая функция
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вардамп цветной очень хорош.
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Цветной и красиво форматированный? В похапе такого нет. Это xDebug красоту наводит :)
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это был мягкий вброс идеи погуглить "как сделать цветной" и ступить на путь контроля и управления