Foros del Web » Programando para Internet » PHP »

Resaltar consultas en PHP y mysql

Estas en el tema de Resaltar consultas en PHP y mysql en el foro de PHP en Foros del Web. Buenas tardes tengo el siguiente problema, cuando hago la consulta espero que en el resultado salgan resaltadas las palabras siembargo aunque sale la consulta no ...
  #1 (permalink)  
Antiguo 22/09/2009, 16:53
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 1
Resaltar consultas en PHP y mysql

Buenas tardes tengo el siguiente problema, cuando hago la consulta espero que en el resultado salgan resaltadas las palabras siembargo aunque sale la consulta no salen resaltadas.

este es mi codigo.

Código PHP:
<?php
$busqueda 
"boyaca";

$con mysql_connect("localhost","root","");
if (!
$con)
{
echo(
'no hay coneccion: ' mysql_error());
}
else
{
$db 'bdinsat';
$con mysql_connect("localhost","root","");
if(
$busqueda!="")
    {
$sql="SELECT * FROM inventario WHERE contenido LIKE '%$busqueda%'";
    }
mysql_select_db($db$con);
$registro=mysql_query($sql,$con);
if (
$rowmysql_fetch_array($registro))
    
    {
        echo 
str_replace($busqueda,"<span style='background-color: #88AAEE'>$busqueda</span>",$row[contenido]);
        echo 
"<br><br>";
    }
    else
{
echo 
"¡ No se ha encontrado ningún registro !";
}
echo 
"registro consultado";
}

mysql_close($con);
?>
este es el codigo que examine para aprender.

webtaller

Código PHP:
<?php
$busqueda 
"prueba";
$link mysql_connect("host","user","pass");
mysql_select_db("db",$link);
$result mysql_query("SELECT contenidos FROM tabla WHERE keyword LIKE '%$busqueda%'",$link);

    while(
$row mysql_fetch_row($result)) {

        echo 
str_replace($busqueda,"<span style='background-color: #88AAEE'>$busqueda</span>",$row[0]);
        echo 
"<br><br>";

    }

?>
agradeceria su ayuda.
  #2 (permalink)  
Antiguo 22/09/2009, 17:15
 
Fecha de Ingreso: octubre-2007
Ubicación: Capital Federal
Mensajes: 215
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Resaltar consultas en PHP y mysql

Es más simple meter la variable dentro de un div con background: #88AAEE
  #3 (permalink)  
Antiguo 22/09/2009, 17:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Resaltar consultas en PHP y mysql

No hay error aparente en el codigo y lo unico que se me ocurre es que haya diferencia entre mayusculas y minusculas, por lo que podrias usar str_ireplace()

Cita:
Iniciado por JavierCS2007-
Es más simple meter la variable dentro de un div con background: #88AAEE
div = elemento de bloque, no es lo ideal para contener palabras (frases) dentro de un texto de parrafo; el span esta bien.

Tal vez a lo que te refieres es a crear un estilo CSS y colocar <span class="resaltado">palabras resaltadas</span>, lo que si puede ser mas adecuado, pero primero debe obtener el resultado deseado y despues optimizarlo.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 23/09/2009, 05:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 45
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Resaltar consultas en PHP y mysql

Essto que tienes asi:

echo str_replace($busqueda,"<span style='background-color: #88AAEE'>$busqueda</span>",$row[0]);

ponlo mejor asi:

echo str_replace($busqueda,"<span style='background-color: #88AAEE'>".$busqueda."</span>",$row[0]);

asi te detecta $busqueda como una variable php concatenada con la cadena html que quieres escribir, y no como antes que seguramente te imprimera $busqueda literalmente.
  #5 (permalink)  
Antiguo 23/09/2009, 09:12
Avatar de _-ZeuS-_  
Fecha de Ingreso: junio-2007
Ubicación: Quito, Ecuador! ;)
Mensajes: 100
Antigüedad: 16 años, 9 meses
Puntos: 7
Respuesta: Resaltar consultas en PHP y mysql

mmm... puedes hacerlo pero para mí mejor no pongas strreplace()

con lo que el código terminaría así:

Código PHP:
echo "<span style='background-color: #88AAEE'>".$row['contenido']."</span>"
o el row kon el número ke necesites tb puede ser así:
Código PHP:
echo "<span style='background-color: #88AAEE'>".$row[0]."</span>"
Me parece mejor opción ke usar el str_replace a mi forma de ver eso puedes usar cuando tienes una plantilla por defekto donde necesites aktualizar los datos varias veces. yo lo haría de esa manera espero ke te sirva
  #6 (permalink)  
Antiguo 27/09/2009, 11:54
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Resaltar consultas en PHP y mysql

muchas gracias por las respuestas, tenian razon, fue un problema con las mayusculas seguido por el problema de pasar las variables por la url asi que finalmente quedara asi.

echo str_ireplace($busqueda,"<span style='background-color: #88AAEE'>.$busqueda.</span>",$row[contenido]);

cuando tenga todo el codigo lo posteare para futuras generaciones.
  #7 (permalink)  
Antiguo 28/09/2009, 08:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Resaltar consultas en PHP y mysql

Bueno, finalmente se termino, y es hora de dejarlo para que generaciones futuras lo examinen, no es la gran cosa XP pero si hubiera visto mas codigos asi me hubiera ahorrado bastante trabajo.

Código PHP:
<?php
//-------elavorada sergio



$con mysql_connect("localhost","root","");
if (!
$con)
{
echo(
'no hay coneccion: ' mysql_error());
}
else
{
$busqueda $_REQUEST['contenido'];
$varId $_REQUEST['id'];
$db 'bdinsat';
$con mysql_connect("localhost","root","");
if(
$varId!="")
    {
$sql="SELECT * FROM inventario WHERE id='$varId'";
    }
mysql_select_db($db$con);
$registro=mysql_query($sql,$con);
if (
$rowmysql_fetch_array($registro))
    {
echo 
"<table border = '0' cellpadding = '1' cellspacing = '1'>"
echo 
"<tr bgcolor=#006699  width=50>
<td><font color='ffffff'><b>Proyecto</b></td>
<td><font color='ffffff'><b>Carpeta</b></td>
<td><font color='ffffff'><b>Ubicación</b></td>
<td><font color='ffffff'><b>Contenido</b></td>

</tr>"
;
echo 
"<tr bgcolor=#EFEFEF width=50>
<td valign=top>"
.$row["proyecto"]."</td>
<td valign=top>"
.$row["carpeta"]."</td>
<td valign=top>"
.$row["hubicacion"]."<a href=edicioninventario.php?id=".$row['id']."> <img src=imagenes/editar.jpg alt=Editar/></a></td>
<td valign=top>"
.str_ireplace($busqueda,"<span style='background-color: #FFFF00'>$busqueda</span>",$row["contenido"]);"</td>
</tr>"

echo 
"</table>";
    } 
else
{
echo 
"¡ No se ha encontrado ningún registro !";
}
echo 
"registro consultado";
}

mysql_close($con);
?>
muchas gracias a todos.
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 09:34.