Перейти к содержимому



  • Закрытая тема Тема закрыта

Почему не выводит значения массива?

#1 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 19 Февраль 2011 - 11:12

Получаю переменную $id и достаю данные из БД
!isset($_GET['id']) ? exit : $id = $_GET['id'];
include('db.php');
$result = mysql_query("SELECT * FROM articles WHERE id='$id'", $db);
$myrow = mysql_fetch_array($result);

Смотрю на созданный массив
echo "<pre>";
print_r ($myrow);
echo "</pre>";

Массив заполнен таким образом
Array
(
	[0] => 22
	[id] => 22
	[1] => Что же такое Адвего?
	[title] => Что же такое Адвего?
	[2] => такое Адвего
	[meta_d] => такое Адвего
	[3] => Адвего, что
	[meta_k] => Адвего, что
	[4] => 2011-12-02
	[date] => 2011-12-02
	[5] => Интернет сегодня достиг того уровня развития, когда количество переходит в качество. Грамотный, уникальный контент — вот залог успешной раскрутки сайта. Продвижение контентом, наполнение сайта статьями — сегодня это основная возможность привести на сайт целевых посетителей. Вы полагаете, что найти хороший контент сложно? Вы правы! До появления биржи контента Адвего процесс получения качественного копирайтинга был дорог и занимал много времени.
	[description] => Интернет сегодня достиг того уровня развития, когда количество переходит в качество. Грамотный, уникальный контент — вот залог успешной раскрутки сайта. Продвижение контентом, наполнение сайта статьями — сегодня это основная возможность привести на сайт целевых посетителей. Вы полагаете, что найти хороший контент сложно? Вы правы! До появления биржи контента Адвего процесс получения качественного копирайтинга был дорог и занимал много времени.
	[6] => Интернет сегодня достиг того уровня развития, когда количество переходит в качество. Грамотный, уникальный контент — вот залог успешной раскрутки сайта. Продвижение контентом, наполнение сайта статьями — сегодня это основная возможность привести на сайт целевых посетителей. Вы полагаете, что найти хороший контент сложно? Вы правы! До появления биржи контента Адвего процесс получения качественного копирайтинга был дорог и занимал много времени.

В Адвего вы без труда найдёте отличный уникальный контент для сайтов: копирайтинг, рерайт, рекламный текст, готовые статьи и статьи на заказ, перевод текста — и это далеко не всё! Оперативное наполнение форумов, вирусная реклама, готовая лента новостей — всё это доступно нашим пользователям. Причём, вам не придётся тратить время на проверку текстов, размещение и перевод денег за работу. Всё это мы сделаем за вас.
	[text] => Интернет сегодня достиг того уровня развития, когда количество переходит в качество. Грамотный, уникальный контент — вот залог успешной раскрутки сайта. Продвижение контентом, наполнение сайта статьями — сегодня это основная возможность привести на сайт целевых посетителей. Вы полагаете, что найти хороший контент сложно? Вы правы! До появления биржи контента Адвего процесс получения качественного копирайтинга был дорог и занимал много времени.

В Адвего вы без труда найдёте отличный уникальный контент для сайтов: копирайтинг, рерайт, рекламный текст, готовые статьи и статьи на заказ, перевод текста — и это далеко не всё! Оперативное наполнение форумов, вирусная реклама, готовая лента новостей — всё это доступно нашим пользователям. Причём, вам не придётся тратить время на проверку текстов, размещение и перевод денег за работу. Всё это мы сделаем за вас.
	[7] => Неизвестный
	[author] => Неизвестный
	[8] => 2
	[cat] => 2
)
Вроде все нормально, только сам массив не очень красиво построен, но все равно есть такие ключи как title, author, date, text, ... с соответствующими значениями.

Вывожу сам текст статьи
			printf (
"<hr><h3>%s</h3></br><hr>
Автор статьи: %s || Дата: %s
<p>%s</p>",
$myrow['title'], $myrow['author'], $myrow['date'], nl2br($myrow['text']));

Вроде бы все должно работать, но нифига не выводит! В чем проблема? Вот полный файл Прикрепленный файл  view_article.php   1,95К   Количество загрузок: 73

 

 

  • 0


#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 19 Февраль 2011 - 15:03

Banderas,

Вроде все нормально, только сам массив не очень красиво построен, но все равно есть такие ключи как title, author, date, text, ... с соответствующими значениями.

Про, то как вытаскиваем полученные данные из БД... Почитай разницу между функциями mysql_fetch_array(), mysql_fetch_row() и mysql_fetch_assoc()
В первом случаем мы получаем массив как с индексами столбцов, так и ассоциативный массив с ключами.
Во втором случае мы получим только массив с индексами, т.е. (0,1,2,3,4,...,N).
В третьем случае мы получим ассоциативный массив с ключами - именами столбцов, т.е. ('pole1', 'pole2',...,'poleN').

Вроде бы все должно работать, но нифига не выводит! В чем проблема?

Посмотрел код, проблема может возникнуть, если ты где-либо в файлах top.php, left.php вне функций переопределяешь переменную $myrow (скорее всего именно в этом проблема)
Смотри, ты сначала получил данные из БД и считал их в переменную $myrow. Ниже по коду у тебя подключаются файлы, в которых эта переменная $myrow тоже может встречаться и это будет одна и та же переменная, т.к. интерпретатор PHP при подключении файлов, по сути, заменяет строку:
include('file.php');

содержимым файла (конечно это утрированно) :mellow:
  • 0

#3 almatar

almatar
  • Пользователь
  • 203 сообщений
  • Репутация: 0

Отправлено 19 Февраль 2011 - 15:15

Всё верно, в запросе и выводе попробуйте переменную майроу переименовать в майроу2, а впрочем хз.
  • 0

#4 Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 19 Февраль 2011 - 16:28

Лёха, спасибо, теперь буду знать :mellow:
Я просто переименовал $myrow на $artrow. Проблема была действительно в инклудах, а именно в left.php, где была переменная $myrow
$cat = mysql_query("SELECT id, name FROM categories", $db);
$myrow = mysql_fetch_array($cat);

  • 0



Оформление форума – IPBSkins.ru