Foros del Web » Programando para Internet » PHP »

buscador interno con php, ayuda

Estas en el tema de buscador interno con php, ayuda en el foro de PHP en Foros del Web. Hola a todos!, necesito ayuda con mi buscador interno, segui un tutorial en este foro para crearlo. El problema esta en esta parte del codigo: ...
  #1 (permalink)  
Antiguo 05/06/2010, 19:27
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
buscador interno con php, ayuda

Hola a todos!, necesito ayuda con mi buscador interno, segui un tutorial en este foro para crearlo.

El problema esta en esta parte del codigo:
Código PHP:
 // Enviamos un mensaje
    // indicando la cantidad de resultados ($totalRows)
    // para la frase busada ($frase)
    
if(!empty($totalRows)){
        echo 
stripslashes("<p>Se encontraron <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>");        
        
// mostramos los resultados
        
while($row mysql_fetch_array($sqlBuscar)){
            echo 
"<strong><a href=$row[noticiaurl]>$row[noticiaTitulo]</a></strong>";
            echo 
"<p>".substr(strip_tags($row['noticiaNoticia']), 0255)."...</p>";
        } 
En esta parte:
Código PHP:
echo "<strong><a href=$row[noticiaurl]>$row[noticiaTitulo]</a></strong> 
en <a href le puse $row[noticiaurl], pero no funciona.
Lo que quiero hacer es que al buscar, cuando aparescan los diferentes resultados, al clickear en el titulo te lleve hacia la web que yo agrege en el campo:
"noticiaurl" de la tabla "noticias".

¿Que tengo que hacer para que el titulo tenga de link la url que yo agrege en el campo "noticiaurl"?

Gracias!!
  #2 (permalink)  
Antiguo 05/06/2010, 23:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde Configuración PHP a PHP
  #3 (permalink)  
Antiguo 06/06/2010, 02:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: buscador interno con php, ayuda

Hola
que muestra actualmente el href??
intentaste encerrando la variable entre comillas sencillas, pues el href generalmente tiene eso... <a href='test.html'> donde vemos que test.html esta encerrado por las comillas

igualmente puedes probar a hacer lo mismo que tienes en la siguiente línea de código, es decir, concatenar las variables php
con lo que es cadena de texto

nos comentas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #4 (permalink)  
Antiguo 06/06/2010, 02:27
Avatar de berper  
Fecha de Ingreso: abril-2009
Ubicación: Mexico
Mensajes: 74
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: buscador interno con php, ayuda

Prueba con esto:

Código PHP:
 // Enviamos un mensaje
    // indicando la cantidad de resultados ($totalRows)
    // para la frase busada ($frase)
    
if(!empty($totalRows)){
        echo 
stripslashes('<p>Se encontraron <strong>'.$totalRows.'</strong> resultados para <strong>'.$frase.'</strong></p>');        
        
// mostramos los resultados
        
while($row mysql_fetch_array($sqlBuscar)){
            echo 
'<strong><a href='.$row['noticiaurl'].'>'.$row['noticiaTitulo'].'</a></strong>';
            echo 
'<p>'.substr(strip_tags($row['noticiaNoticia']), 0255).'...</p>';
        } 
Suerte.
  #5 (permalink)  
Antiguo 06/06/2010, 09:22
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: buscador interno con php, ayuda

no funciono berper pero gracias =.

mira por ejemplo al buscar juego online:


en donde dice siinlimites tendria que aparecer 1 link, ese link seria el que yo agrego al campo noticiaurl.

pero en cambio me aparece un link, hacia la frase que busque, osea al apretar el link vuelve a buscar lo mismo.

Gracias.

Última edición por xarmagedonx; 06/06/2010 a las 09:27
  #6 (permalink)  
Antiguo 06/06/2010, 11:20
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: buscador interno con php, ayuda

aca les dejo el link al que me envia: http://www.interred.com.ar/?frase=ju...&buscar=Buscar

osea me vuelve a buscar la frase, no me envia a su web.

Si alguien sabe como solucionarlo se lo agradesco.

Saludos
  #7 (permalink)  
Antiguo 06/06/2010, 15:02
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: buscador interno con php, ayuda

y cual es la consulta que se hace para obtener los resultados????
y que resultados se obtienen si se corre esta consulta en la bd directamente????
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #8 (permalink)  
Antiguo 06/06/2010, 16:35
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: buscador interno con php, ayuda

Tu php te termina generando esto (codigo fuente)

<a href=>Siinnlimiites</a>

href= vacio o sea $row[noticiaurl] viene vacio

deberias hacer un var_dump() a $row para ver que trae, seria;

echo "<pre>";
var_dump($row );
echo "</pre>";

Aparentemente a la consulta la haces bien ya que $row[noticiaTitulo] si tiene valor


Fijate y comenta
  #9 (permalink)  
Antiguo 06/06/2010, 17:01
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: buscador interno con php, ayuda

wiwi agrege lo que me dijiste al codigo:
Código PHP:
// Enviamos un mensaje
    // indicando la cantidad de resultados ($totalRows)
    // para la frase busada ($frase)
    
if(!empty($totalRows)){
        echo 
stripslashes("<p>Se encontraron <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>");        
        
// mostramos los resultados
        
while($row mysql_fetch_array($sqlBuscar)){
            echo 
"<strong><a href=$row[noticiaurl]>$row[noticiaTitulo]</a></strong>";
            echo 
"<p>".substr(strip_tags($row['noticiaNoticia']), 0255)."...</p>";
            echo 
"<pre>";
            
var_dump($row );
            echo 
"</pre>";
        } 


pero me aparece esto:


Escribi bien el codigo??
  #10 (permalink)  
Antiguo 06/06/2010, 17:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: buscador interno con php, ayuda

hola
lo escribiste bien, pero si te fijas, noticiaurl no existe, estas seguro que ese campo existe en la bd????
y si existe, lo estas trayendo en la consulta que haces en php???
por eso mis preguntas anteriores.....
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #11 (permalink)  
Antiguo 06/06/2010, 19:01
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: buscador interno con php, ayuda

Por lo que devuelve el var_dump no existe tal campo "noticiaurl" la que esperas como: $row['noticiaurl']

Lo ves:

Código PHP:

//noticiaTitulo,noticiaNoticia,coincidencias pero no noticiaurl


array(6) {
  [
0]=>
  
string(13"Siinnlimiites"
  
["noticiaTitulo"]=>
  
string(13"Siinnlimiites"
  
[1]=>
  
string(41"Juego online de rol, AO, Siinnlimiites AO"
  
["noticiaNoticia"]=>
  
string(41"Juego online de rol, AO, Siinnlimiites AO"
  
[2]=>
  
string(1"2"
  
["coincidencias"]=>
  
string(1"2"
}

Deberias crear un campo mas llamado noticiaurl cuyo contenido 
sea una url o el nombre del archivo al que deseas llamar

luego le sumas "http://www.interred.com.ar/"

seria algo asi:

$url="http://www.interred.com.ar/".$row['noticiaurl'];

echo 
"<a href='".$url."'>Sin limites</a>"

Saludos...!
  #12 (permalink)  
Antiguo 07/06/2010, 09:49
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: buscador interno con php, ayuda

Muchsimas gracias morti!!!, encontre como solucionarlo, jaja gracias a tu pregunta me di cuenta que le faltaba algo =P.

gracias tambien a wiwi y berper por ayudar.

jaja voy a empezar a leer tutoriales de php =P

Dejo la solucion por si a alguien mas le pasa xD, me habia olvidado de agregar noticiaurl:
Código PHP:
// varificamos que el formulario halla sido enviado
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
    
$frase addslashes($_GET['frase']);
    
// hacemos la consulta de busqueda
    
$sqlBuscar mysql_query("SELECT noticiaTitulo, noticiaNoticia, noticiaurl,
                              MATCH (noticiaTitulo, noticiaNoticia, noticiaurl)
                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
                              FROM noticias
                              WHERE MATCH (noticiaTitulo, noticiaNoticia)
                              AGAINST ('$frase' IN BOOLEAN MODE)
                              ORDER BY coincidencias DESC"
$server_link)
                              or die(
mysql_error());                              
    
$totalRows mysql_num_rows($sqlBuscar); 

Etiquetas: interno, buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:34.