Срочно внести изменения в код!

Статус
В этой теме нельзя размещать новые ответы.

vave

Полезный
Регистрация
22 Июн 2007
Сообщения
466
Реакции
16
Случилась такая беда, что в скрипте "Autoboss" нужно срочно внести изменения, надо сделать так что бы одна категория не выводилась в результате поиска, вот код где выводится результат, надеюсь тот:nezn:
PHP:
<div align="center">
	<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
		<tr>
		<tr>
			<td height="16" align="left" width="100%"><font size="2" face="Arial">&nbsp;<?php
if($conf[featured]) $first = "featured DESC,"; else $first = "";
$result = mysql_query("SELECT * FROM $dblist $where ORDER BY $first $_GET[srt] LIMIT $start, $_GET[p]", $link);
if(mysql_num_rows($result)) {
	$n = 0;
	while($row = mysql_fetch_array($result)) {
		// determine which image to display
		if($row[images]) {
			$image = mysql_query("SELECT fname FROM $dbimgs WHERE listid='$row[id]' ORDER BY id ASC LIMIT 1", $link);
			$image = mysql_fetch_array($image);
			$image = "thumbs/".$image[fname];
		} else {
			$image = "common/no-photo-thumb.jpg";
		}
		// make data display-friendly
		$row = safe_data($row, 'display');
		if($n % 2) $alternate = "alt"; else $alternate = "";
		// create variable string to pass
		$show =  "show.php?id=$row[id]";
		foreach($_GET as $name => $value) if($name != 'id') $show .= "&amp;$name=$value";
		echo "<div class='listing $alternate'>";
		// featured status
		if($row[featured]) echo "<div class='featured'>F E A T U R E D</div>";
		// photo
		echo "<div class='photo'><a target='_blank' href='$show'><img class='none' src='$image' width='200' alt=''/></a></div>";
		// general information
		echo "<div class='info'>";
		echo "<a target='_blank' href='$show'><strong><font size='3'>";
		echo " $row[make]</strong></a></font>";
		echo "</div>";
		// description summary
		echo "<div align='left' class='description'>";
		if($row[tagline]) echo "<strong>$row[tagline]</strong>";
		elseif($row[description]) echo summary($row[description], 20)." <a target='_blank' href='$show'>More</a>";
			echo "<br/>";	
		echo "</div>";			
		// compare check box
		echo "</div>";
		$n++;
	}
} else {
	echo "<div id='msg-alert'>We're sorry, no listings could be found that match your query.</div>";
}
?></font></td>
		</tr>
		<tr>
			<td width="100%">&nbsp;</td>
		</tr>
		<tr>
			<td width="100%"><div class='pages'>
	<font size="2" face="Arial" color="#333333">Page <?php echo $_GET[page]; ?> of <?php echo $pages; ?>&nbsp;&nbsp;(<?php echo $total; ?> 
	Listings)
	<?php if($pages > 1) { ?>
	</font><div class='links'>
		<font size="2" face="Arial" color="#333333">
		<?php $_GET = safe_data($_GET, 'display'); page_links($_GET, $pages, $_SERVER[PHP_SELF]); ?>
		</font>
	</div>
	<font size="2" face="Arial" color="#333333">
	<?php } ?></font></td>
		</tr>
	</table>
</div>
Очень надеюсь на Вашу помощь!:thenks:
 
а что не должно выводиться?
 
Есть например категории
1) Sampel1
2) Sampel2
3) Sampel3

и вот Sampel3 недолжна показыватся в результате поиска, просто одно и то-же имя может быть во всех категориях, в результате поиска выдаётся 3 имени из базы данных, и вот надо сделать так что бы Sampel3 как то скрывался:nezn:
 
Категория что выводится как &category=категория
в админ понеле строка так и называется "Category:"
там может быть много картинок:)

если надо я могу выложить весь скрипт!
 
и чему в запросе
Код:
SELECT * FROM $dblist $where ORDER BY $first $_GET[srt] LIMIT $start, $_GET[p]
равна переменная $where?
Кажется мне, именно она формирует тот самый список.
И ещё кинь формат таблиц, которые судя по всему сидят в переменных $dblist и $dbimgs.
 
Я прикрепил весь скрип, думаю вы быстрее разберётесь, очень надеюсь на помощь!:thenks:
 

Вложения

  • autoboss.rar
    111,1 KB · Просмотры: 4
Хех... ты не скрипт... ты весь модуль вывалил)))
Судя по всему список категорий у тебя формируется в module-listings.php в строке 19 (если я правильно уловил суть вопроса). В этом запросе можно поставить условие выборки. К примеру у нас есть листинг 1,2,3,4 в котором содержатся твои категории. Нам не нужны 2,3. Запрос тогда будет таким:
PHP:
$result = mysql_query("SELECT DISTINCT category 
                       FROM $dblist 
                       WHERE id NOT IN (2,3) 
                       ORDER BY category ASC", $link);
Хотя если тебе всего лишь необходимо убрать дубли, то твой DISTINCT с этим вполне должен справиться =)
или можешь поковырять module-query.php. Как я понимаю он как раз и предназначен для наложения ограничений на выборки.
 
Наверное я делаю что-то не так или не так меня поняли:)
Опишу еще раз проблему,
в общем есть 4 категории
например:
1) Category_1
2) Category_2
3) Category_3
4) Category_4

в них много всякой всячины, но Category_4 должна быть особенной, для неё у меня даже отдельный файл module-listings.php (там все картинки 5 на 5 а не в столбик) но не в этом суть, при поиске всячины результат должен выводится только первых трёх категорий а "Category_4" не должна появляется в результате поиска, какбудто этой категории и нету вовсе! Даже не имею представления как это сделать а очень надо:confused:
 
Неужели это не возможно?:confused:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху