За последние 24 часа нас посетили 16690 программистов и 1615 роботов. Сейчас ищут 960 программистов ...

Выводит предыдущий результат запроса к БД

Тема в разделе "PHP для новичков", создана пользователем k1ean, 17 июн 2012.

  1. k1ean

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

    С нами с:
    10 июн 2012
    Сообщения:
    10
    Симпатии:
    0
    Вечер добрый, есть небольшой код, который должен формировать массив $table_comments [название таблицы] => [комментарий к таблице], где название таблицы берется из значений массива $table_names:

    Код (PHP):
    1.         $table_schema = 'information_schema';
    2.         $table_comments = array();
    3.         foreach ($table_names as $name) {
    4.             $result = mysql_query("SELECT TABLE_COMMENT FROM TABLES
    5.                 WHERE TABLE_SCHEMA = '$table_schema' AND TABLE_NAME = '$name'");
    6.             $table_comments[$name] = mysql_result($result, 0);
    7.         } 
    Вывожу результат:

    Код (PHP):
    1. $table_names = Array
    2. (
    3.     [0] => Activity
    4.     [1] => Publication
    5. )
    6.  
    7. $table_comments = Array
    8. (
    9.     [Activity] => Мероприятия
    10.     [Publication] => Мероприятия
    11. ) 
    Не понимаю, в чем дело. Запрос в цикле формируется правильно, если запросы запустить в phpMyAdmin все выводит верно. Но в массив $table_comments пишет одно и тоже значение - "Мероприятия", хоть должен выводить для каждой таблицы - комментарий к ней.
     
  2. k1ean

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

    С нами с:
    10 июн 2012
    Сообщения:
    10
    Симпатии:
    0
    Проблема оказалась в другом месте, тема исчерпана.

    Код (PHP):
    1.     foreach ($table_comments as &$comment) {
    2.         $comment = cp1251_to_utf8($comment);
    3.     //На этом месте все пока еще хорошо
    4.     foreach ($table_comments as $comment) {
    5.         echo $comment;
    6.     }
    7.     //А на выходе из цикла все становится очень плохо
    8.     //Не понятно правда с чего все путается :))