За последние 24 часа нас посетили 26284 программиста и 1814 роботов. Сейчас ищут 1027 программистов ...

вывод массива с mysql

Тема в разделе "PHP для новичков", создана пользователем amf1k, 28 фев 2015.

  1. amf1k

    amf1k Активный пользователь

    С нами с:
    20 авг 2014
    Сообщения:
    86
    Симпатии:
    0
    Добрый вечер! есть php код вывода информации с БД
    Код (PHP):
    1. <span class="syntaxdefault"><br />function getTable</span><span class="syntaxkeyword">(){<br /></span><span class="syntaxdefault">    $array </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">    $query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'SELECT `ip` FROM `servers`'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $result </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    while </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$data </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$result</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $array</span><span class="syntaxkeyword">[]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $data</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    return $array</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault">print_r</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">getTable</span><span class="syntaxkeyword">());<br /></span><span class="syntaxdefault"></span>
    Получаю вот такой двухмерный массив:
    Код (PHP):
    1. <span class="syntaxdefault"><br />Array </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> Array </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 83.222.105.242 </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 83.222.105.242 </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> Array </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 91.211.118.128 </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 91.211.118.128 </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> Array </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 31.28.168.209 </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 31.28.168.209 </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">3</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> Array </span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 31.28.168.222 </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">ip</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> 31.28.168.222 </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"></span>
    Вопрос, почему ip адрес присваивается и ключам массива?
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    в результирующем кортеже одно поле - ип
    поскольку не указано явно в каком режиме идет обработка - драйвер возвращает и как список полей и как список именованных полей.
    для первого - простое перечисление индексов как в обычном массиве.
    для второго - создается ключ с именем поля как в ассоциативном массиве.
    получается что каждое поле описывает два ключа массива.

    об этом написано в документации, которую нужно читать. а еще там будет написано что расширение mysql устарело и надо пересаживаться на mysqli или PDO.
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    в PDO->fecth(PDO::FETCH_ASSOC)
    чтобы не присваивались дефолт ключи