Foros del Web » Programando para Internet » PHP »

Generar consulta a base de datos pinchando enlaces

Estas en el tema de Generar consulta a base de datos pinchando enlaces en el foro de PHP en Foros del Web. Buenas, Tengo una base de datos con unos datos, y quería añadir en el index un campo con todas las letras del abecedario, para que ...
  #1 (permalink)  
Antiguo 26/08/2008, 15:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Generar consulta a base de datos pinchando enlaces

Buenas,

Tengo una base de datos con unos datos, y quería añadir en el index un campo con todas las letras del abecedario, para que pinchando en cada una de ellas, devuelva los datos de la base de datos que empiecen por dicha letra. El bucle que genera los campos alfabéticos es el siguiente:

for($i="A";$i!="AA";$i++) {
echo "<a href=\"#\" title=\"Datos $i\" target=\"_blank\">$i</a>"; // Esto es irrelevante
}

Bueno ahora mismo lo tengo puesto como un enlace a la misma página por poner algo, pero mi intención es que devuelva esos datos en el body de la página. Y bien, los devuelva donde los devuelva, no sé como hacer para añadir la consulta a la base de datos según la letra en la que se pinche. Seguramente será lo más fácil del mundo pero no soy muy bueno en esto y ahora mismo estoy en blanco….

Por favor si alguien me puede echar una mano lo agradecería.

Muchas gracias por anticipado y un saludo.
  #2 (permalink)  
Antiguo 26/08/2008, 16:29
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Generar consulta a base de datos pinchando enlaces

Puedes hacer algo como lo siguiente:

Código PHP:
<?php
for($i="a";$i!="aa";$i++)
{
    echo 
'<a href="filtro.php?letra='.$i.'" title="Datos '.$i.'" target="_blank">'.$i.'</a> ';
}
?>
Asi pasas la letra por GET a la pagina filtro.php
En filtro.php solo haria falta poner algo como:

Código PHP:
<?php
if(!empty($_GET['letra']))
{
$select "SELECT * FROM queseyo WHERE titulo LIKE '".$_GET['letra']."%'";
$query mysql_query($select) or die(mysql_error());
while (
$row mysql_fetch_assoc($query)) {
echo 
$row['titulo']."<br>\n";
}
}
?>
  #3 (permalink)  
Antiguo 26/08/2008, 16:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Generar consulta a base de datos pinchando enlaces

Ok! Muchas gracias! Lo probaré mañana que hoy ya me pican los ojos jejeje.

De todos modos aprovecho la consulta, porque quería preguntarlo también, que si esa es la mejor forma de pasar variables a otras páginas, o si hay alguna forma más general o algo (Estuve mirando por el FAQ y no vi nada, y los pocos tutoriales que he hecho no dicen nada tampoco)

Muchas gracias y un saludo!
  #4 (permalink)  
Antiguo 26/08/2008, 16:45
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Generar consulta a base de datos pinchando enlaces

Hay varias formas de pasar datos de una pagina a otra, POST, GET, SESSION y COOKIES.
Pero para tu caso, lo ideal seria pasar la variable por GET.
  #5 (permalink)  
Antiguo 27/08/2008, 15:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Generar consulta a base de datos pinchando enlaces

Muchisimas gracias Ronruby, me funciona perfecto,

Ahora tengo la otra duda, creo que sé más o menos como se haría habiendo visto esto, pero todavía no llego...

Se trata de que en la página, tengo un buscador de tipo formulario, que devuelve los datos de la consulta en el mismo body de la página, de forma que se ejecuta con este body y nunca se sale del index (en buscador.php devuelve los resultados de la consulta)

if($HTTP_POST_VARS['textoabuscar']=="") {
} else {
include("DOCUMENTROOT/../formularios/buscador.php");
}

¿Para hacer lo mismo con la página que hemos creado como filtro.php?, supongo que habrá que enviar otra variable al index.php generada en caso de que se pinche en alguna letra(que se cumpla ese bucle), y añadirla como un bucle más como el que pongo arriba no?, lo que no sé es ni por donde cogerlo....

Si me pudieras terminar de echar el cable te lo agradecería muchísimo.

Muchas gracias y un saludo.
  #6 (permalink)  
Antiguo 31/08/2008, 12:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Generar consulta a base de datos pinchando enlaces

He pensado una forma de hacerlo pero creo que php no da esa posibilidad. Hay forma de decirle a la página que si se cumple una condición, que salte a una línea de código (sin ser condicional, ya que el buscador lo tengo en el head, y quiero que las instrucciones se ejecuten en la parte inferior de la página).

Gracias por anticipado y un saludo.
  #7 (permalink)  
Antiguo 31/08/2008, 14:06
Avatar de cambalacheweb  
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 100
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Generar consulta a base de datos pinchando enlaces

Con una función y Ajax haces eso !!
  #8 (permalink)  
Antiguo 31/08/2008, 15:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Generar consulta a base de datos pinchando enlaces

Vaya, llevo un tiempo oyendo maravillas de ajax... me va a tocar aprenderlo... jejeje, despues de las infinitas sesiones de php.

Es muy dificil ya de paso...?
  #9 (permalink)  
Antiguo 31/08/2008, 15:26
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Generar consulta a base de datos pinchando enlaces

Ajax es una fusion de tecnologias:
AJAX = Asynchronous JavaScript And XML

Asi que si, :P es un poquito dificil.
  #10 (permalink)  
Antiguo 31/08/2008, 22:32
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
Puntos: 0
Respuesta: Generar consulta a base de datos pinchando enlaces

Cita:
Iniciado por Chechux Ver Mensaje
Buenas,

Tengo una base de datos con unos datos, y quería añadir en el index un campo con todas las letras del abecedario, para que pinchando en cada una de ellas, devuelva los datos de la base de datos que empiecen por dicha letra. El bucle que genera los campos alfabéticos es el siguiente:

for($i="A";$i!="AA";$i++) {
echo "<a href=\"#\" title=\"Datos $i\" target=\"_blank\">$i</a>"; // Esto es irrelevante
}

Bueno ahora mismo lo tengo puesto como un enlace a la misma página por poner algo, pero mi intención es que devuelva esos datos en el body de la página. Y bien, los devuelva donde los devuelva, no sé como hacer para añadir la consulta a la base de datos según la letra en la que se pinche. Seguramente será lo más fácil del mundo pero no soy muy bueno en esto y ahora mismo estoy en blanco….

Por favor si alguien me puede echar una mano lo agradecería.

Muchas gracias por anticipado y un saludo.
Para que lo veas detenidamente en un momento y lo entiendas mejor y mas rapido imprimir las letras del abecedario.
La funcion range() retorna un array de elementos desde el primer valor pasado como argumento, hasta el segundo valor pasado por argumento:

Código PHP:
<?php
$ArrayLetras 
range("a","z");
foreach (
$ArrayLetras as $Valor)
{
    echo 
'<a href="filtro.php?letra='.$Valor.'" title="Datos '.$Valor.'" target="_blank">'.$Valor.'</a> ';
}
?>
Saludos y suerte!.
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 00:39.