Поиск по двум таблицам, с выводом

baev

‹°°¬•
Команда форума
Как он "выводит"? Он так вообще "выводить" не может.

Конструкции типа 'echo' Вам знакомы?
 

SelenIT

IT-лунатик :)
DenVeroid

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

DenVeroid

Новичок
SelenIT нужен вариант "а", тоесть вывести из двух таблиц с одним постраничником
 

SelenIT

IT-лунатик :)
Значит, 2 запроса, без всяких джойнов. А вот с одним постраничником придется помозговать над случаем, когда вакансий будет найдено очень много, а резюме - очень мало (либо наоборот). Чего и по скольку в этом случае странный заказчик хочет видеть на каждой странице?
 

DenVeroid

Новичок
Конструкции типа 'echo' Вам знакомы?
да ё маё, это и так понятно, я нестал писать экхо, зачем лишний код

SelenIT, ну тут можно вывести не свё вместе, можно их отделить html`ом, но постраничник один, это можно сделать?
 

SelenIT

IT-лунатик :)
Можно, если решить, как поступать в приведенном мной случае.
 

tashkentchi

Новичок
Какая проблема с постраничным выводом? Способ первый (дурной): Число объявлений - это число объявлений в первой таблице + число объявлений во второй таблице. Отсюда находишь число страниц. Зная номер текущей страницы и число записей, выводимых на странице (допустим 15), делаешь запрос к первой таблице. Если он возращает число записей меньше 15, запрашиваешь вторую таблицу. Способ второй (более менее): на одной странице выводишь 15 резюме и 15 вакансий в разных колонках и нумерацию страниц для тех и других раздельно. Так, чтобы можно было кликнуть на 7-ю пятнадцатку вакансий, оставаясь на 4-й пятнадцатке резюме. Хотя все равно сомневаюсь в юзабельности такого представления.

alexhemp
Что Вы запрашиваете - то mySQL и выводит. Вопрос в том, как попросить то, что вам нужно. А для этого Вам нужно это четко сформулировать.
Это не ко мне, а к DenVeroid
 

baev

‹°°¬•
Команда форума
да ё маё, это и так понятно, я нестал писать экхо, зачем лишний код
мда...
а больше ничего Вы не опустили?
В "оригинальном" коде точка с запятой стоит?

Да и поясните, что значит "находит не нужное"?
Может, у Вас просто кодировка у базы/таблицы не та стоит?
 

DenVeroid

Новичок
SelenIT, да, я так и думал, но столкнулся с проблемой постраничником, что если мы перейдём по постраничнику вакансий, то постраничник резюме как себя будет вести, ну или наоборот, но подчёт количество найденых считается у каждой таблици, а они естественно будут разные где больше где меньше, чёт мне всё больше кажется что это сделать невозможно.

кстати, а что если сумировать найденные записи таблици вакансии и найденные записи резюме, с этого ничего не получиться? я к тому чтобы сделать один постраничник?
 

SelenIT

IT-лунатик :)
У меня был аналогичный случай, того странного заказчика удовлетворил как раз такой способ (имхо немного дебильный, но что поделать...) - распределить результаты по страницам более-менее пропорционально. Т.е. для тех же 15 объявлений на страницу, в случае, если найдено 98 резюме и 34 вакансии, выводить на каждой странице по 11 резюме и 4 вакансии (на последней, девятой странице - очевидно, соответственно 10 и 2).

Но вообще, на мой взгляд, надо не идти на поводу у нелепых желаний заказчиков, а все же убеждать их сделать по-человечески.
 

DenVeroid

Новичок
а больше ничего Вы не опустили?
В "оригинальном" коде точка с запятой стоит?
насчёт синтаксических ошибок, я бы понял но их нет

Да и поясните, что значит "находит не нужное"?
Может, у Вас просто кодировка у базы/таблицы не та стоит?
тоесть в место "программист" находит:
Помощник администратора
Медицинский представитель
инженер-менеджер

что косается кодировки, то тут всё нормально, т.к если делать отдельный поиск, находиться как должно быть

SelenIT
Ладно, тогда буду убеждать заказчика что это делать не кчему, можно даже сделать к выше приведённому мною html коду где форма поиска, добавить селект для выбора указания поиска в резюме или вакансии, но тут надо примерить JS для перенапровления где искать, ни кто незнает как это можно сделать, просто нехотелось открывать новую тему?
 

tashkentchi

Новичок
Например, так:
PHP:
<script type="text/javascript">
<!--
function search_type(page) {
   var f = document.search;
   if ( f.word.value ) {
      f.action += page;
      f.submit();
      return false;
   }
   return true;
}
// -->
</script>
<form method="get" name="search" action="siteName/">
<input type="text" name="word"> 
...
<a href="siteName/vacancy" onclick="return search_type('vacancy');">Искать в вакансиях</a>
<a href="siteName/resume" onclick="return search_type('resume');">Искать в резюме</a>
</form>
Но лучше искать одним скриптом, в зависимости от того, что выбрано: вакансии или резюме.
 

DenVeroid

Новичок
tashkentchi, спасибо, вот только код немогу установить, после нажатия на ссылку почему-то выскакивает окно и пишет, "На этой странице призошла ошибка сцинария"
Как поправить?

а можно чтобы была одна кнопка?
 

dnes

Новичок
Начали за здравие - кончили за упокой.

DenVeroid

[...но тут надо примерить JS для перенапровления...]

А ActivX тебе здесь какой-нибудь не нужен для полного счастья?

два radio button-а в форме (с одной кнопкой ;) ) и implode в запросе - вот что тебе "примерить"!

И все это ты с блеском сможешь сам. Примеры найдешь в том же форуме.

-~{}~ 28.06.05 11:52:

Чушь пронес. На модеме я сегодня: экономлю...

И implode никакой не нужен. if else хватит.
 

DenVeroid

Новичок
tashkentchi, во, теперь все работает, спасибо

а как с одной кнопкой сделать не подскажешь, а то я в JS не силён?
 

tashkentchi

Новичок
PHP:
<script type="text/javascript">
<!--
function search_type() {
   var f = document.search;
   f.action += f.page.value;
   return true
}
// -->
</script>
<form method="get" name="search" action="siteName/" onsubmit="return search_type()">
<input type="text" name="word">
<select name="page">
<option value="vacancy">Искать в вакансиях</option>
<option value="resume">Искать в резюме</option>
</select>
<input type="submit" value="Искать">
</form>
 

SelenIT

IT-лунатик :)
tashkentchi
Есть ли смысл у этого javasript'а в такой постановке вопроса? Изменится ли что-либо, если его просто выбросить?
 

tashkentchi

Новичок
У DenVeroid-а разные обработчики для резюме и вакансий, javasript соответственно меняет action формы при submit-е. Если его выбросить, то для обработки формы будет вызван "siteName/" а не "siteName/vacancy" и не "siteName/resume"
 

SelenIT

IT-лунатик :)
А смысл в двух обработчиках и хитром ветвлении сабмита, если, как справедливо заметил dnes чуть выше, достаточно одного if-а в единственном скрипте?
 
Сверху