• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Revolution

Ajuda na pesquisa do meu site! PF

1 mensagem neste tópico

Olá a toda a comunidade do Portugal a programar.

Eu tenho um site de bittorrent. E gostava de melhorar o search deste mesmo site.

O problema é que já tentei mas sem sucesso.

Venho por este meio vós pedir ajuda na tentativa da resolução do problema.

Então é o seguinte no search do meu site ele só pesquisa pelo o nome do torrent e eu gostava de incluir o nome do uploader e / ou da team nesta pesquisa.

Deixo em baixo o código do "search".

//GET NUMBER FOUND FOR PAGER
$res = mysql_query("SELECT COUNT(*) FROM torrents $where $parent_check") or die(mysql_error());
$row = mysql_fetch_array($res);
$count = $row[0];


if (!$count && isset($cleansearchstr)) {
$wherea = $wherebase;
$searcha = explode(" ", $cleansearchstr);
$sc = 0;
foreach ($searcha as $searchss) {
	if (strlen($searchss) <= 1)
	continue;
	$sc++;
	if ($sc > 5)
	break;
	$ssa = array();
	foreach (array("torrents.name","torrents.owner") as $sss)
	$ssa[] = "$sss LIKE '%" . sqlwildcardesc($searchss) . "%'";
	$wherea[] = "(" . implode(" OR ", $ssa) . ")";
}
if ($sc) {
	$where = implode(" AND ", $wherea);
	if ($where != "")
	$where = "WHERE $where";
	$res = mysql_query("SELECT COUNT(*) FROM torrents $where $parent_check");
	$row = mysql_fetch_array($res);
	$count = $row[0];
}
}

//Sort by
if ($addparam != "") { 
if ($pagerlink != "") {
	if ($addparam{strlen($addparam)-1} != ";") { // & = &
		$addparam = $addparam . "&" . $pagerlink;
	} else {
		$addparam = $addparam . $pagerlink;
	}
}
} else {
$addparam = $pagerlink;
}



if ($count) {

//SEARCH QUERIES! 
list($pagertop, $pagerbottom, $limit) = pager(20, $count, "torrents-search.php?" . $addparam);
$query = "SELECT torrents.id, torrents.descr, torrents.anon, torrents.announce, torrents.category, torrents.leechers, torrents.nfo, torrents.seeders, torrents.name, torrents.times_completed, torrents.size, torrents.added, torrents.comments, torrents.numfiles, torrents.filename, torrents.owner, torrents.external, torrents.freeleech, categories.name AS cat_name, categories.parent_cat AS cat_parent, categories.image AS cat_pic, users.username, users.privacy, IF(torrents.numratings < 2, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id $where $parent_check $orderby $limit";

$res = mysql_query($query) or die(mysql_error());

}else{
	unset($res);
}

if (isset($cleansearchstr))
stdhead("Resultados da Pesquisa \"$searchstr\"");
else
stdhead("Pesquisar por Torrent");


?>

Os utilizadores estão na tabela users (pretendo procurar pelo o nome que está no campo "username"). As teams estão na tabela teams. A correspondência entre a team e o user é pelo o id da team.

Exemplo na tabela users se o campo team for diferente de ZERO na listagem de torrents aparece o nome da team.

Eu gostava de incluir isto também na pesquisa.

A source é baseada em TorrentTrader. Ficarei imensamente grato a quem puder dar uma ajudinha.

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora