двойной выбор из базы???

  • Автор темы R00miss
  • Дата начала

R00miss

Guest
двойной выбор из базы???

Привет!
вот у меня проблема:
делается выбор из базы два или три раза - например в базе есть такие записи:
1. Привет
2. Пока
3. Опять

я пишу как обычно все:
while ($row=mysql_fetch_array($result)){
echo $row['text'];
}

и получаю следующее:
1. Привет
1. Привет
2. Пока
2. Пока
3. Опять
3. Опять
или еще лучше каждая строка по три раза :confused:

подскажите плиз в чем проблема может быть...

P.S. для некоторых записей все нормально, а для некоторых вот такое, хотя все вызывается с одного файла... вот примеры:
1. Нормально: http://up2you.ru/poems/?p=view&first=alex&last=byloichik
2. Глюконуто: http://up2you.ru/poems/?p=view&first=natasha&last=zimina
 

Апокалипсис

Guest
Покажи как тыв выбираешьт из базы...
 

Апокалипсис

Guest
А может у тебя впереди енщё один цикл ?
 

R00miss

Guest
еще одного цикла точно нет...

вот как выбираю:
PHP:
$result = mysql_query("SELECT A.lastname, A.firstname, P.* FROM Authors A, Poems P WHERE A.id=P.author_id AND A.firstname='$first' AND  A.lastname='$last' order by $order". get_limit($pg, $amount, $entries),$db);

while ($show = mysql_fetch_array($result)) {
  echo $show['lastname'];
}
 

ForJest

- свежая кровь
Проверь что тебе выдаст запрос
PHP:
SELECT * FROM Authors A WHERE A.firstname='$first' AND A.lastname='$last'
Скорее всего у тебя дублированные записи в этой таблице.
 

R00miss

Guest
не, нету... главное вот что еще прикольно - на локальном серваке у меня все в норме, а как в инет закину - то вот такое получается :eek:
 

ForJest

- свежая кровь
Ну чудес не бывает в программировании. Если они есть, то их называют либо баги либо фичи.
Ищи значит дубли во второй таблице. Но это похоже на дубли в таблице Authors.

сделай
PHP:
echo "SELECT A.lastname, A.firstname, P.* FROM Authors A, Poems P WHERE A.id=P.author_id AND A.firstname='$first' AND  A.lastname='$last' order by $order". get_limit($pg, $amount, $entries)
Отладь поэтапно. Разбей запрос на 2 - проверь по одной и другой ветке. Выведи вместо списка полей SELECT *. Отладь в общем.
 

R00miss

Guest
теперь работает нормально... просто у меня там наверно конфликт был, так как до этого был выбор из одной таблицы... я просто написал:

$result = mysql_query("SELECT * FROM Poems WHERE author_id='$aid' Order By $order". get_limit($pg, $amount, $entries),$db);

где $aid = P.author_id (в предыдущем выборе из базы пишется),
вместо старого:

$result = mysql_query("SELECT A.lastname, A.firstname, P.* FROM Authors A, Poems P WHERE A.id=P.author_id AND A.firstname='$first' AND A.lastname='$last' order by $order". get_limit($pg, $amount, $entries),$db);

и все заработало нормально :)

ВСЕМ СЭНКС за помощь :)
 
Сверху