Автор Тема: Заполнение массива данными из mySQL в цикле.  (Прочитано 4321 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Matold

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.matold.narod.ru/
Вот написал для форума скрипт, который выводит тексты н форум "простыню", причем тексты в отдельной таблице (PostID|Text), однако заполнение массива $Row2  не происходит (Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource ), не могу понять причину :(

$Query 
"SELECT * from $TableName WHERE PostArea = $area AND Parent = $parent ORDER BY PostDate ASC";
$Result mysql_db_query ($DBName$Query$DBLink);
while (
$Row mysql_fetch_array ($Result)) {

	
$Query2 "SELECT * from $TableName2 WHERE PostID  = $Row[PostID]";
	
$Result2 mysql_db_query ($DBName$Query2$DBLink);
	
$Row2 mysql_fetch_array ($Result2);
	
echo 
"$Row2[Text] 
"
;

}


Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Заполнение массива данными из mySQL в цикле.
« Ответ #1 : 06 Апреля 2004, 18:37:01 »
при чем здесь заполнение массива?
можешь сказать, сообразительный друг мой?

вопрос не в том, что массив не заполняется, а в том, что ошибка у тебя в запросе.

Вообще, кто тебя учил писать на пхп?
какой-нибудь курепин, небось?
и на каком-нибудь допотомном пхп.
на новом эти каракули работать не будут

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Заполнение массива данными из mySQL в цикле.
« Ответ #2 : 06 Апреля 2004, 18:38:11 »
Matold
а

print(mysql_error());

сделать религия не позволяет?
AS IS...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Заполнение массива данными из mySQL в цикле.
« Ответ #3 : 06 Апреля 2004, 18:41:42 »
и еще.
открою тебе стрррашную тайну.
то, что ты делаешь двумя запросами в цикле, можно делать одним запросом.
Это если не рассматривать полную бессмысленность начичия отдельной таблицы для текстов.

Оффлайн Matold

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.matold.narod.ru/
Заполнение массива данными из mySQL в цикле.
« Ответ #4 : 06 Апреля 2004, 19:14:24 »
To RomikChef

 
Цитировать
Это если не рассматривать полную бессмысленность начичия отдельной таблицы для текстов.

Насколько я знаю (из всяких форумов/ пособий по пхп) наличие текстов в др. таблице позволяет увеличить быстродеятельность форума (тк не все тексты надо загружать, показывая список тем).

 
Цитировать
то, что ты делаешь двумя запросами в цикле, можно делать одним запросом.
Вообще, кто тебя учил писать на пхп?
какой-нибудь курепин, небось?

А как сделать это одним запросом? А на пхп я самоучка, книжек мало, вот что могу, то и делаю, я не профф. программист и это не моя работа.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Заполнение массива данными из mySQL в цикле.
« Ответ #5 : 06 Апреля 2004, 19:53:35 »
Цитировать
Matold:
Насколько я знаю (из всяких форумов/ пособий по пхп)

к сожалению, хранение данных в базе никоим образом не относится к пхп :-)
Это относится к базам данных.
а из пособий/форумов по базам можно узнать, что они как раз и сделаны для того, чтобы раотать быстро независимо от структуры данных.

Цитировать
Matold:
А как сделать это одним запросом?

Если под каждым заголовком есть текст, то так:
SELECT * from $TableName,$TableName2 WHERE $TableName2.id=$TableName.id PostArea = $area AND Parent = $parent ORDER BY PostDate ASC
имена полей подставить собственные.

и еще
не используй mysql_db_query. ее уже исключили из состава пхп. и линк там нужен, как собаке пятая нога.
пиши mysql_query($query) or die (my_error());
а в функции my_error() пишешь вывод mysql_error() и $query, причем на рабочем сайте заменишь вывод на запись в лог-файл.

И индекс массива надо всегда писать в кавычках
не $Row[PostID] а $Row[\'PostID\']
Цитировать
Matold:
книжек мало

книжки не нужны.
в сети материала море.
начинай отсюда:

Оффлайн Matold

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.matold.narod.ru/
Заполнение массива данными из mySQL в цикле.
« Ответ #6 : 07 Апреля 2004, 01:11:00 »
ОГРОМНОЕ спасибо!

 

Sitemap 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