Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Valor a través de barra de direcciones

Estas en el tema de Valor a través de barra de direcciones en el foro de PHP en Foros del Web. Hola, Este es mi primer post así que pido perdón si cometo errores. Tengo este código, es de un buscador con base de datos MYSQL. ...
  #1 (permalink)  
Antiguo 16/04/2016, 13:37
 
Fecha de Ingreso: febrero-2016
Mensajes: 6
Antigüedad: 8 años, 2 meses
Puntos: 0
Pregunta Valor a través de barra de direcciones

Hola,
Este es mi primer post así que pido perdón si cometo errores.
Tengo este código, es de un buscador con base de datos MYSQL.
Código PHP:
<?php 
    
require_once('../conn/connect.php');

    
sleep(1);
    if (isset(
$_POST['search'])){
        
$search strtolower($_POST['search']);
    }

    
$consulta "SELECT * FROM art WHERE codigo LIKE '%".$search."%' OR nombre LIKE '%".$search."%' OR descripcion LIKE '%".$search."%' OR categoria LIKE '%".$search."%' OR material LIKE '%".$search."%' OR color LIKE '%".$search."%' OR tecnica LIKE '%".$search."%'";
    
$resultado $connect->query($consulta);
    
$fila mysqli_fetch_assoc($resultado);
    
$total mysqli_num_rows($resultado);
?>
<?php 
if ($total>&& $search!='') { ?>
    <?php do { ?>
        <div class="art">
            <a href="articulo?id=<?php echo $fila['id'?>&search=<?php echo $search ?>">
            <?php echo '<img src="'.$fila['imagen'].'" width="250" height="250" />'?>
            </a>
            <span class="titulo"><?php echo str_replace($search'<strong>'.$search.'</strong>'utf8_encode($fila['codigo'])) ?></span><br>

            <span class="contenido"><?php echo str_replace($search'<strong>'.$search.'</strong>'substr(utf8_encode($fila['nombre']),0,150)) ?></span><br>

        </div>
    <?php } while ($fila=mysqli_fetch_assoc($resultado)); ?>
<?php 
}  
elseif(
$total>&& $search=='') echo '<script type="text/javascript">location.href = "index";</script>';
else echo 
'<h2>No se han encontrado resultados</h2><p>Inténta realizar tu búsqueda con palabras más especificas...</p>';
?>
La duda que tengo es acerca de como poder poner en la barra de direcciones la busqueda de la variable $search sin tener que ingresar la busqueda en el formulario.
De antemano, Gracias.
  #2 (permalink)  
Antiguo 16/04/2016, 13:44
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: Valor a través de barra de direcciones

con GET podrías hacer eso.

Supongamos que en la dirección es esta:

sería como:

Código PHP:
Ver original
  1. $_GET["search"] = "valor";

Luego ya puedes almacenarlo en otra variable:

Código PHP:
Ver original
  1. $var = $_GET["search"];


Un ejemplo más ameno:

entras en esta dirección:

Y el código de la página es:
Código PHP:
Ver original
  1. echo "Bienvenido/a" . $_GET["nombre"] . " al sitio web.";

Cuando accedas a esa web al entrar aparecerá:

Cita:
Bienvenido/a David al sitio web.
Espero que sea eso lo que necesites ;)
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #3 (permalink)  
Antiguo 16/04/2016, 14:06
 
Fecha de Ingreso: febrero-2016
Mensajes: 6
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Valor a través de barra de direcciones

Primero que nada, gracias por responder.
Ahora, lo que necesito específicamente es poder acceder a todos los productos con la categoría "Tazas" por ejemplo.
Que sea algo como:
Cita:
www.direccionwe.com/index?cat=Tazas
Y que fuera lo mismo como si buscara tazas en el formulario.
No se si me explico.
  #4 (permalink)  
Antiguo 16/04/2016, 14:15
 
Fecha de Ingreso: septiembre-2012
Ubicación: Pontevedra
Mensajes: 48
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Valor a través de barra de direcciones

A ver todo depende desde donde ejecutes el formulario.

Es decir, si lo que quieres poner es desde un boton de menu o vamos desde cualquier href, simplemente indica en el link el valor que debe buscar:

Código HTML:
<a href="index.php?search=tazas">Ver todas las tazas</a> 
y en el archivo de destino

Código PHP:
$search $_GET[search];
$query="SELECT * FROM art WHERE cat='".$search."' ...... 
No se si te refieres a eso...
  #5 (permalink)  
Antiguo 16/04/2016, 14:24
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: Valor a través de barra de direcciones

y no te olvides de comprobar que exista la variable

Código PHP:
Ver original
  1. $search = $_GET["search"];
  2.  
  3. if(isset($search)) {
  4.    //conectas a la bd
  5.    //creamos la consulta
  6.    $sql="SELET * FROM tabla WHERE cat='$search'";
  7.    //muestras contenido
  8. }
  9. else {
  10. redireccione a otra página en el caso de que la dirección no exista por ejemplo
  11. }
Para que en el caso de que cambien los datos de la barra de direcciones no de ningún error si no que redireccione a otra página

Código HTML:
Ver original
  1. <a href="index.php?search=Tazas">Ver las tazas</a>
  2.  <a href="index.php?search=Camisetas">Ver las camisetas</a>
  3.  <a href="index.php?search=Zapatillas">Ver las zapatillas</a>

Lo vas pillando ?
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #6 (permalink)  
Antiguo 16/04/2016, 14:27
 
Fecha de Ingreso: febrero-2016
Mensajes: 6
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Valor a través de barra de direcciones

Rodrypaladin,
Eso es exactamente lo que necesito y quiero hacer pero no entiendo como insertarlo en el código que di arriba.
Hacer que tome el valor de la barra de direcciones pero que también del formulario.


Esto es lo que pasa cuando ingresas una busqueda en el formulario, necesito que haga eso pero desde la barra de direcciones, no se si me doy a entender.
Lo siento por no comprender.

Última edición por Joaso; 16/04/2016 a las 14:38
  #7 (permalink)  
Antiguo 16/04/2016, 16:44
 
Fecha de Ingreso: febrero-2016
Mensajes: 6
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Valor a través de barra de direcciones

Logré solucionarlo, muchas gracias a ambos. Pude entender sus aportaciones y aplicarlas exitosamente.

Etiquetas: barra, direcciones, formulario, mysql, select, sql, valor, variable
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 17:04.