busca com link destacado
Ola
alguém poderia me ajudar ou me dar uma luz ? (estou tentando entender PHP)
Tenho uma busca que basicamente é este script
<?php
$dData['all_entries'] = mysql_query("SELECT * FROM clientes WHERE is_visible = ''ORDER BY pontos DESC $dData");
$dData['categories'] = array();
for ($x = 0; $x < mysql_numrows($dData['all_entries']); $x++)
if (!in_array(mysql_result($dData['all_entries'], $x, "category"), $dData['categories'])) $dData['categories'][] = mysql_result($dData['all_entries'], $x, "category");
$found = 0;
$allKeys = (isset($_GET['q'])) ? preg_replace("/(^\s+|\s+$)/", "", $_GET['q']) : "";
$cats = (isset($_GET['c'])) ? $_GET['c'] : "";
$stht = (isset($_GET['s'])) ? (int)($_GET['s'] - 1) * $sData['maxhits'] : 0;
if ($allKeys != "") {
$keys = explode(" ", strtolower($allKeys));
if ($cats == "" or count($dData['categories']) < 2) $cats = "All";
$pnts = array();
for ($z = 0; $z < mysql_numrows($dData['all_entries']); $z++) $pnts[$z] = array($z, 0);
for ($x = 0; $x < count($keys); $x++) {
for ($y = 0; $y < mysql_numrows($dData['all_entries']); $y++) {
if ($cats == "All" or $cats == mysql_result($dData['all_entries'], $y, "category")) {
if (strpos(strtolower(mysql_result($dData['all_entries'], $y, "pontos")), $keys[$x]) !== false) $pnts[$y][1] += 3;
if (strpos(strtolower(mysql_result($dData['all_entries'], $y, "keywords")), $keys[$x]) !== false) $pnts[$y][1] += 1.5;
if (strpos(strtolower(mysql_result($dData['all_entries'], $y, "title")), $keys[$x]) !== false) $pnts[$y][1] += 0.5;
if (strpos(strtolower(mysql_result($dData['all_entries'], $y, "category")), $keys[$x]) !== false) $pnts[$y][1] += 1;} } }
for ($z = 0; $z < count($pnts); $z++) {
for ($a = $z + 1; $a < count($pnts); $a++) {
if ($pnts[$a][1] > $pnts[$z][1]) {
$dummy = $pnts[$a];
$pnts[$a] = $pnts[$z];
$pnts[$z] = $dummy;} } }
$holdCount = count($pnts);
for ($z = 0; $z < $holdCount; $z++) if ($pnts[$z][1] < $pnts[0][1] / 2 || $z >= $sData['maxresults'] || $pnts[$z][1] == 0) unset($pnts[$z]);
$found = count($pnts);
if ($stht > count($pnts) or $stht < 0) $stht = 0;
$edht = (count($pnts) > $stht + $sData['maxhits']) ? $stht + $sData['maxhits'] : count($pnts);
if (count($dData['categories']) > 1) { ?>
<p> </p>
<table width="950" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#E8C8B5"><b><font size="2" face="Verdana">Links Destacados</font></b></td>
</tr>
<tr>
<td align="center" bgcolor="#E0EFC0"><font size="2" face="Verdana">
<?php include "links_patrocinados.php"; ?>
</font></td>
</tr>
</table>
<h5></h5>
<?php } ?>
<h5> </h5>
<table width="765" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="18">
<h5>A busca retornou
<?php echo count($pnts); ?>
resultado
<?php echo (count($pnts) != 1) ? "s" : ""; ?>
para a palavra escolhida</h5>
</td>
</tr>
</table>
<table width="765" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<?php for ($z = $stht; $z < $edht; $z++) { ?>
<div class="os_entry">
<div class="os_category"> <small>categoria: <strong>
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "category"); ?>
</strong></small></div>
<div class="os_title"><strong>
<?php echo ($z + 1); ?>
. <a href="http://<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "site" ); ?>"target="_blank">
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "title"); ?>
</a><a href="<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "site" ); ?>"target="_blank">
</a></strong></div>
<div class="os_description">
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "description"); ?>
</div>
<div class="os_description">
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "endereço"); ?>
</div>
<div class="os_description">
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "cidade"); ?>
</div>
<div class="os_description">Tel:
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "telefone"); ?>
</div>
<div class="os_description">Emai:<a href=mailto:"<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "email" ); ?>">
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "email"); ?>
</a></div>
<div class="os_description">Site<a href="http://<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "site" ); ?>"target="_blank">
<?php echo mysql_result($dData['all_entries'], $pnts[$z][0], "site"); ?>
</a></div>
</div>
<?php }
} else { ?>
</td>
</tr>
</table>
<table width="765" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td> </td>
</tr>
<tr>
<td>
<h4>Digite uma palavra</h4>
</td>
</tr>
</table>
<?php }
if (count($pnts) > $sData['maxhits']) {
$newQstr = "?q=".str_replace(" ", "+", $allKeys)."&c=".$cats."&s="; ?>
<div class="os_pages"> páginas:
<?php if ($stht != 0) { ?>
<a href="<?php echo $_SERVER['PHP_SELF'].$newQstr.($stht / $sData['maxhits']); ?>">< anterior</a>
<?php }
for ($z = 0; $z < count($pnts) / $sData['maxhits']; $z++) {
if ((int)($stht / $sData['maxhits']) != $z) { ?>
<a href="<?php echo $_SERVER['PHP_SELF'].$newQstr.($z + 1); ?>"><?php echo ($z + 1); ?></a>
<?php } else echo ($z + 1);
}
if ($stht / $sData['maxhits'] + 1 < $z) { ?>
<a href="<?php echo $_SERVER['PHP_SELF'].$newQstr.($stht / $sData['maxhits'] + 2); ?>">próxima ></a>
<?php } ?>
</div>
<?php } ?>
<div style="text-align:center;">
<table cellpadding="5" cellspacing="0" border="1" id="os_again" bordercolor="#CCCCCC" width="400">
<tr>
<td valign="middle"><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get" class="os_form">
<table width="380" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="137"><input type="text" name="q" size="40" class="os_input" value="<?php echo htmlspecialchars(stripslashes($allKeys)); ?>" />
</td>
<td width="153" align="center"><input type="image" border="0" name="imageField" src="imagem/botao_pesquisa.gif" width="100" height="25" align="middle">
</td>
</tr>
</table>
</form></td>
</tr>
</table>
<small>pesquisando <?php echo mysql_numrows($dData['all_entries']); ?> páginas</small></div>obs: o código esta nesta ordem na pagina
até aqui beleza, ou seja alguém digita uma palavra no campo do formulario e são mostrados na pagina 5 resultados ordenados de acordo com uma pontuação dada no banco de dados.
Porem eu estou tentando fazer com que além destes 5 resultados seja mostrado em um campo cima de tudo ( include links_patrocinados) 1 resultado destacado, ou seja pegar e repetir um dos resultados ( com a maior pontuação) dos 5 apresentados,
que codigo devo colocar na pagina links_destacados.php?
Desde já obrigado pela atenção
Alaz
alaz está offline
Discussão (2)
Carregando comentários...