Jump to content


CSFInfo

Member Since 16/03/2005
Offline Last Active 29/05/2006, 18:08
-----

Topics I've Started

Ordenar Busca

12/09/2005, 23:01

Como faco para ordenar o resultado da busca pela qtde de palavras encontradas no texto

ex:

Se eu buscar por "Site busca" ele ordenar os textos que possuem o maior número de palavras com "site" e "busca" no texto.

Estou fazendo assim atualmente:

//Cria variáveis para cada palavra
$palavras = explode(" ", $palavra);

foreach($palavras as $valor){
  // Busca por cada palavra em cada campo
  $where .= " nome LIKE '%$valor%' OR ";
  $where .= " descricao LIKE '%$valor%' OR";
  
  // Ordena os Registros por cada palavra
  $ordem .= " nome LIKE '$valor%' DESC,";
  $ordem .= " descricao LIKE '$valor%' DESC,";
}

$buscar = mysql_query("SELECT * FROM busca_urls WHERE $where ORDER BY $ordem LIMIT $inicio, $resultado"); 


Ficaria assim:

O WHERE

nome LIKE '%site%' OR descricao LIKE '%site%'OR nome LIKE '%busca%' OR descricao LIKE '%busca%'

O ORDER

nome LIKE 'site%' DESC, descricao LIKE 'site%' DESC, nome LIKE 'busca%' DESC, descricao LIKE 'busca%' DESC

Ordenar Números

15/08/2005, 19:26

Ao realizar uma busca é cadastrada a palavra e total de resultados, ao mostrar a lista de palavras ordenada pelo resultado ele ordena pelo primeiro número exemplo:

Total de Resultados
9
76
7
7
6
499
4
4
3
3
3
3
29

Como faço para ordenar pelo total

Input No Meio

29/07/2005, 23:15

Estou tirando as tabelas do meu layout, no formulario de busca o input fica alinhado no topo o certo é no meio como no <td valign=middle>


<div class=form_busca >
         <form action=$servidor/busca/buscando method=post >
           <b> Buscar:</b>
                <input type=text size=40 value='$palavra' name=palavra>
                <input type=submit name=submit  value=Buscar>

         </form>
</div>

.form_busca {
     background-color: #f0f8ff;
     color: #0055cc;
     height: 45px;
     width:auto;
     margin:0px;
     border: 1px solid #87cef0;
}

Converter Html Para Texto

29/07/2005, 02:48

Li um tópico sobre o assunto resolvi tentar estou conseguindo o problema agora é o excesso de espaços no texto utilizei duas ER mais não adiantou.

Também tentei abrir uma URL no qual apareceu as tags
<!--
-->

// Lê o arquivo de uma URL.
$codigo_fonte = file ('http://www.site.com.br');

// Lista o código fonte por linhas
foreach ($codigo_fonte as  $linhas_codigo) {

// Converte para HTML
$tags_html = htmlspecialchars("$linhas_codigo");

 //ER para Retirar tags HTML/Javascript/Espaços de cada linha
$er_tags = array ( "'<script[^>]*>.*?</script>'si", 
                   "'<[\/\!]*?[^<>]*?>'si",       
                   "'&(quot|#34);'i",              
                   "'((<.*?>)([^<]*))'si");         


$texto .= preg_replace($er_tags, "", $linhas_codigo);


}
// Retira excesso de espaços
$texto = preg_replace("#(( ){2,})#i"," ",$texto);
// Retira espaços astes e depois do texto
$texto=trim($texto);

echo "<textarea  cols=100 rows=20>$texto</textarea>";


Coloquei em textarea para visualizar melhor

Option Selecionado

28/07/2005, 04:06

Tenho um formulário de edição de cadastro em PHP no select lista todas as Categorias em ordem como deixar selecionado a categoria do cadastro

 
 <select class="input"  name="categoria" align="left">
                    
        echo "<option style=text-align:center; value=0>Selecione uma categoria</option>";
          $sql = 'SELECT * from busca_categorias ORDER BY nome';
          $resultado = mysql_query($sql) or die(mysql_error());
          while ($cat = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
              if ($cat['parent_id'] == 0) {
                  $query = 'SELECT * FROM busca_categorias WHERE parent_id=\'' . $cat['id'] . '\' ORDER BY nome';
                  $resultados = mysql_query($query) or die(mysql_error());
                  while ($sub = mysql_fetch_array($resultados, MYSQL_ASSOC)) {
                 echo '<option class=sub value=' . $sub['id'] . '>' . $cat['nome'] . ' > ' . $sub['nome'] . '</option>';
         }
        }
    }
    
          </select>

IPB Skin By Virteq