[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите с функцией
Elfist
Две таблицы categories и settings

categories

id title
1 аудио
2 видео
т.д т.д

settings
id title text page
1 главная описание index
2 аудио описание 1
3 видео описание 2
3 т.д т.д т.д

вообщем первая таблица хранит категории,вторая описание категорий + id категории к которой принадлежит описание

вот функция

function desc($db){

$query = "SELECT id,title,page FROM settings";
$result = mysql_query ($query);

while($myrow = mysql_fetch_assoc ($result))
{
$id = $myrow[id];
$title = $myrow[title];
$page = $myrow[page];

if ($page == 'index')
$index = 'Главная';

else
$index = ' ';
$result2 = mysql_query("SELECT title FROM categories WHERE id = $page");
$myrow2 = mysql_fetch_assoc($result2);

$titleCat = $myrow2[title];
$out .= "<a href='edit_text.php?id=".$id."'>".$title."</a> || ".$titleCat." ".$index."<br>" ;
}
return $out;
}


рядом с сылкой на редактирование после || выводит title из таблицы categories
всё гичего,но одно из таблиц в settings не принадлежит ни одной из categories и несёт в себе page = index

в ходе выполнения функции возникает ошибка
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /.php on line 25

из за того,что не найден такой идентификатор index,как-бы так сделать что-бы этого избежать?





Спустя 29 минут, 6 секунд (16.12.2010 - 21:57) inpost написал(а):
И? Ты в функции используешь $page, а в неё его не передаёшь!

Спустя 3 минуты, 13 секунд (16.12.2010 - 22:00) Elfist написал(а):
Переменная $page создаётся внутри функции $page = $myrow[page];

Спустя 10 минут, 18 секунд (16.12.2010 - 22:10) inpost написал(а):
Elfist
Не заметил, на какую строчку ошибка ссылается, и покажи предыдущую строчку.
сделай проверку через mysql_num_rows(); Скорее всего там 0 данных в таблице, поэтому и выходит ошибка.
if(mysql_num_rows($result2) > 0)
{
действие
}

Спустя 9 минут, 38 секунд (16.12.2010 - 22:20) Elfist написал(а):
Так да ошибка именно поэтому т.к в categories нет id со значение index

добавил
if(mysql_num_rows($result2) > 0)
{
действие
}
вылезла ещё один варнинг
mysql_num_rows(): supplied argument is not a valid MySQL result resource in

ну да и ладно функция выполняеться впринцыпе,просто отключу warning. Спасибо за помощь :-)

Спустя 1 час, 22 минуты, 45 секунд (16.12.2010 - 23:43) inpost написал(а):
function description($db,&$out){

$query = "SELECT `id`,`title`,`page` FROM `settings`";
$result = mysql_query ($query);
if(mysql_num_rows($result) > 0)
while($myrow = mysql_fetch_assoc ($result))
{
$index = ($myrow['page'] == 'index' ? 'Главная' : ' ');
$result2 = mysql_query("SELECT `title` FROM `categories` WHERE `id` = ".$myrow['page']);
if(mysql_num_rows($result2) > 0)
{
$myrow2 = mysql_fetch_assoc($result2);
$out .= '<a href="edit_text.php?id='.$myrow['id'].'">'.$myrow['title'].'</a> || '.$myrow2['title'].' '.$index.'<br>';
}
}
}
}

$out = '';
description($db,$out);

Спустя 2 минуты, 29 секунд (16.12.2010 - 23:45) inpost написал(а):
Обновил! Читай, как должно быть!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.