Buenas gente,
El caso es que he seguido un post de aqui para hacer un buscador PHP sencillo pero el mismo por defecto , me sustituye los espacios en blanco por
%20 y yo necesito cambiar en la URL ese %20 por un
-, porque asi es como estan hechas en mi web para los productos.
Cuando hay un espacio en blanco me pone un guion entre palabra y palabra.
He probado con str replace con algo asi :
$new = str_replace("%20", "-", "$new");
Pero no he conseguido que me haga el cambio.
Paso el codigo ya que solo es una pagina php:
Código:
<head>
<link href="../css/estiloGeneral.css" rel="stylesheet" type="text/css" media="screen and (min-width: 481px)" />
<link href="../css/movil.css" rel="stylesheet" type="text/css" media="handheld, only screen and (max-device-width: 480px)" />
<link rel="stylesheet" type="text/css" href="../css/estiloMenu.css" />
</head>
<body>
<div id="contenedor">
<?php require_once("include/cabecera.php");require_once("include/traducNombre.php");?>
<div id="social2">
<?php require_once('include/social2.php')?>
</div>
<div id="contenido">
<?php
// conectar al servidor
$server_link = mysql_connect("host", "id", "pass");
if(!$server_link){
die("Falló la Conexión ". mysql_error());
}
// seleccionamos la base de datos
$db_selected = mysql_select_db("base", $server_link);
if(!$db_selected){
die("No se pudo seleccionar la Base de Datos ". mysql_error());
}
// 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 nombre, descripcion,
MATCH (nombre, descripcion)
AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
FROM productoPrueba
WHERE MATCH (nombre, descripcion)
AGAINST ('$frase' IN BOOLEAN MODE)
ORDER BY coincidencias DESC", $server_link)
or die(mysql_error());
$totalRows = mysql_num_rows($sqlBuscar);
// Enviamos un mensaje
// indicando la cantidad de resultados ($totalRows)
// para la frase busada ($frase)
if(!empty($totalRows)){
echo stripslashes("<p>Su búsqueda arrojó <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>");
// mostramos los resultados
while($row = mysql_fetch_array($sqlBuscar)){
echo "<strong><a href='http://www.tejasa.es/productos//$row[nombre]'>$row[nombre]</a>:</strong> <em>Coincidencias: ". round($row['coincidencias']) ."</em><br />";
echo "<p>".substr(strip_tags($row['descripcion']), 0, 255)."...</p>";
}
//$newa = str_replace("%20", "-", "$new");
}
// si se ha enviado vacio el formulario
// mostramos un mensaje del tipo Oops...!
elseif(empty($_GET['frase'])){
echo "Debe introducir una palabra o frase.";
}
// si no hay resultados
// otro mensaje del tipo Oops...!
elseif($totalRows == 0){
echo stripslashes("Su busqueda no arrojo resultados para <strong>$frase</strong>");
}
}
?>
<h1>Buscador</h1>
<form name="buscar" action="<?php $_SERVER['PHP_SELF'] ?>" method="get">
Buscar: <input type="text" size="50" value="<?php echo $_GET['frase']; ?>" name="frase" />
<input type="submit" name="buscar" value="Buscar" />
</form>
<?php require_once('include/piePagina.php')?>
</div>
</div>
</body>
Muchas gracias a ver si alguno me puede echar una mano!