Автор Тема: постраничный вывод данных из разных таблиц  (Прочитано 9638 раз)

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

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Wyclef
[off] человек сюда приходит за помощью и он прежде всего заинтересован в том, чтобы мы его правильно поняли. Поэтому пусть выражают свои мысли четко и ясно [/off]

по поводу темы - ИМХО нужно было сразу проэктировать систему так, чтобы не сталкиваться с поиском по 5 таблицам
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
Цитировать
Макс:
ИМХО нужно было сразу проэктировать систему так, чтобы не сталкиваться с поиском по 5 таблицам

Точно. Явно не оптимальная БД. Поэтому такие сложности на этапе формирования запросов.

Оффлайн UltraMax

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dinamo-minsk.org
Ребята - дело в том, что я работаю с доставшейся в наследок от неизвестно кого базой, причем база живая. И последнее - я не имею права ее модифицировать, так что приходится изворачиваться как могу :)

Оффлайн UltraMax

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dinamo-minsk.org
Уфф, всем привет - это я опять :)
Короче все мучаюсь в последний раз (надеюсь) с этой гребаной базой
В общем мне необходимо к моему готову постраничному поиску прикрутить еще один поисковый скрипт, и уже результаты общие выводить тоже постранично... ужас короче
Дело в том, что второй скрипт совсем иначе делает выбор, и по другому парсит полученные данные. Я тут думал, думал - понял что это реализовать можно только таким образом - скидывать по 20 результаты моего скрипта, а как только они закончатся, начинать новую темповую таблицу для результатов нового скрипта и выводить их.
Так вот вопрос (внимание, знатоки :)) Как отследить когда закончилась выборка из первой моей темповой таблицы, и начинать создавать новую от нового скрипта поиска. Еще учитывать надо что если от первого скрипта осталось 3 результата, то к нему надо доплюсовать еще 17 от нового. Вот такой вот вопрос.
Могу сказать в скрипте есть параметры $offset (говорит на сколько надо сместить select вниз от начала самого селекта), и $tot_all (говорит сколько всего записей в темповой таблице)

Оффлайн nobody

  • вроде как одушевленный
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.n0b0dy.ru
постраничный вывод данных из разных таблиц
« Ответ #19 : 10 Августа 2003, 09:11:09 »
на держи

$query 
"SELECT title FROM table1";
$result mysql_query($query);
while(
$value mysql_fetch_array($result))
{
	
$i[][1] = $value[\'title\'];
}
$query = "SELECT title FROM table2";
$result = mysql_query($query);
while($value = mysql_fetch_array($result))
{
	
$i[][2] = $value[\'title\'];
}
$query = "SELECT title FROM table3";
$result = mysql_query($query);
while($value = mysql_fetch_array($result))
{
	
$i[][3] = $value[\'title\'];
}
$query = "SELECT title FROM table4";
$result = mysql_query($query);
while($value = mysql_fetch_array($result))
{
	
$i[][4] = $value[\'title\'];
}
// Вместо count($i) поставь то число количество записей которое тебе нужно выводить.
if(count($i) != \'0\') 
{
	
for($ii = 0; $ii <= count($i); $ii++) 
	

	
echo "<font color=red>".$i[$ii][1]."</font> "; 
	
echo "<font color=blue>".$i[$ii][2]."</font> "; 
	
echo "<font color=yellow>".$i[$ii][3]."</font> "; 
	
echo "<font color=black>".$i[$ii][4]."</font>
"; 
	
}
}
else 

echo "&#205;&#232;&#247;&#229;&#227;&#238; &#237;&#229;&#242;"; 
}


P.S. Код понятен до невозмодности... Старался :)
пользуйся
.::dO_ob::.

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
постраничный вывод данных из разных таблиц
« Ответ #20 : 10 Августа 2003, 10:55:08 »
здесь я даже комментировать ничего не буду...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
постраничный вывод данных из разных таблиц
« Ответ #21 : 10 Августа 2003, 14:41:39 »
UltraMax
[off]
[moderated]
последнее китайское за 3.14. еще одна подобная выходка - забаню... :abuse:
если тебе не нравится, как человек тебе ответил - не надо опускаться до ругани.
[/moderated]
[/off]
AS IS...

Оффлайн UltraMax

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dinamo-minsk.org
постраничный вывод данных из разных таблиц
« Ответ #22 : 11 Августа 2003, 11:14:29 »
nobody  спасибо, возможно пригодится, но я уже немножко по другому сделал :)
Возможно не так красиво, но тоже работает :)
Если интересно - могу код скинуть

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
постраничный вывод данных из разных таблиц
« Ответ #23 : 11 Августа 2003, 11:38:41 »
т.е., все-таки все загнал в массив?
Так бы и сказал, что база небольшая, а поиском пользуются неактивно.

Оффлайн UltraMax

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dinamo-minsk.org
постраничный вывод данных из разных таблиц
« Ответ #24 : 11 Августа 2003, 13:08:18 »
Какой массив?
Нет, я сделал так. Сначал идет выбор из первой темповой таблицы, до тех пор, пока в ней не останется результатов меньше двадцати. Тогда начинается создаваться вторая темповая таблица, с результатами поиска из второго скрипта, и в зависимости от того, сколько осталось выводить результатов от первого скрипта, выводится кол-во результатов второго. На а потом выводятся результаты только второй темповой таблицы.
Возможно немного запутанно, получилось немного сложная система проверок, но вот так вот реализовал.

 

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