Я в php и msql новичок так, что не судите строго...
Реализовал поиск объявлений по id в Joomla 1.5 & AdsManager 265 так:
Взял оформление полного объявления (http/components/com_adsmanager/views/details/tmpl/default.php) и на его основе к каждому значению (Заголовок, описание, цена, телефон и т.д) прописал запрос к базе и сохранил что получилось в модуль. Вот код:
<link href="components/com_adsmanager/css/adsmanager.css" rel="stylesheet" type="text/css" />
<?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { ?>
<div style="padding-top:14px; padding-left:14px; padding-right:14px"><div class=" adsmanager_ads" align="left">
<div class="adsmanager_top_ads">
<h2 class="adsmanager_ads_title">
<?php
while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[9]"; }?></h2>
<div><table width="100%" border="0">
<tr>
<td width="45%" align="left" valign="middle"></td>
<td width="45%" align="right" valign="middle"><strong style="color:#FFF">Код обьявления:</strong>
</td>
<td width="10%" align="center"><strong><?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[0]"; }}?></strong></td>
</tr>
</table></div>
</div>
<div class="adsmanager_ads_main">
<div class="adsmanager_ads_body">
<div class="adsmanager_ads_desc" ><?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[10]"; }}?></div>
<div class="adsmanager_ads_contact">
<center><strong>Дополнительная информация:</strong></center><br>
Цена: (грн.) <?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[12]"; }}?>.00<br>
<? /*Район: <?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[15]"; }}?><br> */ ?>
Телефон: <?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[6]"; }}?><br>
Контактное лицо: <?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[3]"; }}?><br>
E-mail: <a href='mailto:2@mail.ru'><?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[7]"; }}?></a></div>
</div>
<div class="adsmanager_ads_image">
<a href="images/com_adsmanager/ads/<?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[0]"; ?>a.jpg" target="_blank"><img src="images/com_adsmanager/ads/<? print "$line1[0]"; }}?>a_t.jpg" width="150" /></a>
<a href="images/com_adsmanager/ads/<?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[0]"; ?>b.jpg" target="_blank"><img src="images/com_adsmanager/ads/<? print "$line1[0]"; }}?>b_t.jpg" width="150" /></a>
<a href="images/com_adsmanager/ads/<?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[0]"; ?>c.jpg" target="_blank"><img src="images/com_adsmanager/ads/<? print "$line1[0]"; }}?>c_t.jpg" width="150" /></a>
<a href="images/com_adsmanager/ads/<?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[0]"; ?>d.jpg" target="_blank"><img src="images/com_adsmanager/ads/<? print "$line1[0]"; }}?>d_t.jpg" width="150" /></a>
<a href="images/com_adsmanager/ads/<?php
mysql_select_db("gbua_?") or die("Не найдена база данных");
$query = "SELECT * FROM jos_adsmanager_ads WHERE UPPER(id) LIKE '".strtoupper($_POST['keyword'])."'";
$result = mysql_query($query) or die("Неверный запрос к базе");
if (mysql_num_rows($result)!=0) { while ($line1 = mysql_fetch_array($result, MYSQL_NUM)) {
print "$line1[0]"; ?>e.jpg" target="_blank"><img src="images/com_adsmanager/ads/<? print "$line1[0]"; }}?>e_t.jpg" width="150" /></a></div>
<div class="adsmanager_spacer"></div>
</div>
</div>
</div><?php
} else print "<div style='padding-top:20px'><center>Обьявление с таким кодом не найдено<center>Попробуйте воспользоваться <a href='index.php?option=com_adsmanager&view=search'>расширенным поиском</a></div>";
mysql_free_result($result);
?>
Далее создал еще один модуль, в нем код:
<div style="padding-left:3px">Поиск по коду объявления:</div>
<form action="index.php?option=com_content&view=article&id=64&Itemid=82#ob" method="post">
<table width="100%" border="0">
<tr>
<td><input type="text" name="keyword" size="19" /></td>
<td align="right"><input type="submit" class="button" value="Найти" /></td>
</tr>
</table>
</form>
где action=ссылка где расположен первый модуль (код, которого выше).
Все работает, но есть баг. Если картинок в объявлении нет, тогда выдает на экран следующее: в мозилле - картинок вообще нет (т.е нет картинки с надписью "no image"), в хроме и опере - структура картинки (т.к задана ширина и высота) и соответственно ссылка на несуществующую картинку.
Может кто-нибудь подскажет как это исправить? По аналогии с выводом полного объявления (http/components/com_adsmanager/views/details/tmpl/default.php), откуда собственно и брал оформление - пробовал, не вышло. Помогите люди добрые...