Выборка из базы данных

12
Станислав
На сайте с 27.12.2009
Offline
254
1173

Уже 5 часов ломаю голову, но может кто нибудь объяснит в чем дело :smoke:

Есть два двига, два конфига, одна база данных, но разные таблицы, второй двиг находится в подкаталоге.

Суть, нужно произвести выборку из базы данный, таблица news работает во втором двиге, в том что в подкаталоге, нужно эту же таблицу подключить и в первом двиге. Вывод я хочу реализовать с помощью следующей функции:

В фаил func.php пишу следующее

function full_title($class) {


global $full_title;

$sql = mysql_query("SELECT title, id FROM news ORDER BY id DESC LIMIT $full_title");
$sos='';
if($sql && mysql_num_rows($sql) != 0 ) {
for($i=0; $i<mysql_num_rows($sql); $i++) {
$re = mysql_fetch_array($sql);

$sos.='<a '.$class.' href="/n/news/'.$re['id'].'.html" title="'.stripslashes($r['title']).'">'.stripslashes($re['title']).'</a>';
}
}else{
$sos='Нет записей!';
}

return $sos;
}

на странице главного двига вывожу

<?=full_title('class="nav"')?>

Пишет что новостей нет, хотя подключение к базе есть и все должно работать, может я что то не то делаю?

Мы там, где рады нас видеть.
SG
На сайте с 22.04.2008
Offline
32
SAG
#1

А что лежит в $full_title?

LIMIT $full_title

Попробуйте запрос в mysql клиенте выполнить.

Портфолио (http://beastman.me). Верстаю (/ru/forum/228498). Програмлю (/ru/forum/348359). Последние отзывы (/ru/forum/470865). Контакты: ICQ: 31377144пять;E-mail: andrschwartz<собако>gmail.com
S
На сайте с 27.02.2007
Offline
60
#2

У тя $full_title скорей всего пустой. Писать так:

$sql = mysql_query("SELECT title, id FROM news ORDER BY id DESC LIMIT $full_title");

Стратегическая ошибка.

Пиши так:

$sql = "SELECT title, id FROM news ORDER BY id DESC LIMIT $full_title";

$sql = mysql_query($sql);

И тогда при желании, можно поставить между этими двумя строками

echo '<p>'.$sql.'</p>';

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

Создание сайтов, документация... (http://site3k.net/), сайт нашей дизайн-студии (http://website-it.ru/)
[Удален]
#3

а еще лучше писать вот так

mysql_query("SELECT title, id FROM news ORDER BY id DESC LIMIT $full_title") or die(mysql_error());

S
На сайте с 27.02.2007
Offline
60
#4
bearman:
а еще лучше писать вот так

mysql_query("SELECT title, id FROM news ORDER BY id DESC LIMIT $full_title") or die(mysql_error());

or die(mysql_error()) - оно-то, конечно. Но если у него $full_title=0, никакого эррора не будет. Так что, тогда уже так:

$sql = "SELECT title, id FROM news ORDER BY id DESC LIMIT $full_title";

echo '<p>'.$sql.'</p>';// эту строку убрать после проверки

$sql = mysql_query($sql) or die(mysql_error());

Или при нулевом лимите все-таки выдается эррор? Мне ни разу не приходилось выбирать данные с нулевым лимитом - всегда некоторое количество требовалось :)

Станислав
На сайте с 27.12.2009
Offline
254
#5

Почему то все результаты выдают

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
S
На сайте с 27.02.2007
Offline
60
#6

здается мне, это не весь текст результата. Ты

echo '<p>'.$sql.'</p>';

ставил?

П. С. Ты действуй, согласно инструкции. Самодеятельностью будешь заниматься, когда станешь достаточно опытным, чтобы не задавать вопросы, а отвечать на них ;)

Станислав
На сайте с 27.12.2009
Offline
254
#7

Вобщем помудрил еще, пишет что нет записей, то есть он выбирает, но видать не от туда, хотя таблица называется news и там есть поля title, id, date, messege

В чем может быть дело?

При добавленной строчке

echo '<p>'.$sql.'</p>';

Пишет

SELECT title, id FROM news ORDER BY id DESC LIMIT
Нет записей!
Dreammaker
На сайте с 20.04.2006
Offline
569
#8
Ms-Dred:
SELECT title, id FROM news ORDER BY id DESC LIMIT

так-с, перед запросом пишем

var_dump($full_title); отписываемся что выводит.

satrau
На сайте с 08.11.2009
Offline
12
#9

stripslashes($r['title'])

и тут косяк

надо наверное $re а не $r ...

Россошь (http://www.flash9.ru)
S
На сайте с 27.02.2007
Offline
60
#10
Ms-Dred:
SELECT title, id FROM news ORDER BY id DESC LIMIT

Как я и предполагал, проблема в $full_title. Иначе написало бы что-то типа:

SELECT title, id FROM news ORDER BY id DESC LIMIT 10

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий