Comunidad de diseño web y desarrollo en internet online

Asistencia para buscador(es)

Citar            
MensajeEscrito el 04 Ene 2010 07:15 am
Mis cordiales saludos. Les cuento que he leído cuanta línea está escrita en google pero no consigo realizar un buscador por letras. He visto códigos aquí, claro, pero no he podido hacerlos funcionar. Mi consulta es: ¿conocen algún tutorial para conseguir este buscador?, agradecería mucho este gesto.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Ene 2010 09:14 am
¿Que buscador? ¿Meter google en tu página? ¿O quieres crear un Google?

Si es lo último, estas jodido :P

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 04 Ene 2010 09:18 am
Jeje, no, no es así. Lamento la falta de datos (los nervios del primerizo), me refiero a un buscador por letras (A B C D...) para una base de datos mysql mediante php. Como ves, no he podido hacer funcionar ningún código que he visto, por más claro que esté.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Ene 2010 09:20 am
Pues tienes que usar una base de datos como bien dices, y luego la forma más fácil es usar un LIKE para la consulta en la DB. Es muy sencillo realmente, tienes que hacerlo en 3 etapas:

1. Creas el campo de entrada que usarás para buscar en tu DB
2. Crear un query al campo de búsqueda con un LIKE según lo escrito en el campo
3. Devuelves el resultado normalmente con un while o lo que quieras

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 04 Ene 2010 09:25 am
A propósito, agradezco mucho tus prontas respuestas.
Debo confesarte que leí como quinca veces, pero es como si leyera japonés.
En realidad apenas estoy entrando en esto de las páginas dinámicas, y cometí el error de pensar que era más fácil.
De ahí parte la idea de buscar un tutorial para esto.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Ene 2010 09:30 am
Entonces lo que te tiene liado es el concepto de Query a la DB y todo eso. Te recomiendo un tutorial que escribí hace unos años que tiene todos los conceptos básicos de una base de datos, plus un par de ejemplos explicados de las consultas más usadas (Inclusive un Like para búsquedas con "comodin").

http://www.cristalab.com/tutoriales/tutorial-basico-de-bases-de-datos-c75l/

Si aun no entiendes, avisame, para intentar guiarte un poco mejor. Pero será ideal partir con algo de conocimiento básico, por ello te recomiendo leer el tutorial antes que nada.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 04 Ene 2010 09:47 am
Debe ser que no he dormido, pero no me entra lo del php. Mysql fue fácil, ya he llenado varias bd, pero el lenguaje dinámico me ganó.
Con nostalgia miro al html.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Ene 2010 04:13 am
Describe como estas intentando hacerlo, para guiarte mejor.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 05 Ene 2010 03:38 pm
Por supuesto, y gracias por tu interés.
La idea es un buscador en el que aparezca el alfabeto, en donde al oprimir determinada letra se concete a Mysql y muestre la paginación de resultados ordenados alfabéticamente, cada uno de los resultados con un link que lleve a más detalles de dicha consulta.
Eso en líneas generales, sin embargo, es en el buscador de alfabeto en donde no veo el cómo.

Saludos y muchas gracias.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Ene 2010 04:07 pm
Te muestro lo que he hecho hasta ahora:
letras.php

Código PHP :

<? 
$abecedario=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z'); 
foreach($abecedario AS $letra){ 
   echo "<a href=\"resultados.php?letra=$letra\"> ".$letra." </a>"; 
}  
?> 


buscaletras.php

Código PHP :

<? 

if (!empty($_GET['letra'])){ 
   $letra=substr($_GET['letra'], 0, 1); 
   $sql="SELECT * FROM tabla WHERE campo LIKE '".$letra."%'";   
   $resultado=mysql_query($sql) or die (mysql_error()) 
  if (mysql_num_rows($resultado) > 0){ 
     while ($row=mysql_fetch_array($resultado)){ 
         echo $row['campo']; 
     } 
  } else { 
    echo "Por el momento no existe ese resultado". 
  } 
?> 


Se ve bonito, pero no consigo conectar a la bd ni obtener resultados.
Pero sigo intentando, aún cuando el pc me siga mostrando la lengua ^^

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Ene 2010 11:38 pm
Será porque no te estás conectando a la base de datos ;).

Debes utilizar la función mysql_connect() para conectarte y luego mysql_select_db() para seleccionar la base de datos con la que vas a trabajar. Y luego recién de eso, intentar el query.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 06 Ene 2010 04:13 pm
what?

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 07 Ene 2010 03:20 am
Busca en google mysql_connect, es una instrucción que te permite justamente eso, y debe ser ejecutada antes que cualquier consulta.

Por cierto... ¿Por que estas haciendo substr a una letra?

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 07 Ene 2010 05:48 am
Primero que todo, agradezco enormemente sus comentarios y su tiempo.

Dado lo que he leído, dejé el código así:

Código PHP :

<?
mysql_connect("mihost","yo","mipass");
if (!empty($_GET['letra']));
$sql="SELECT * FROM clientes WHERE nombreclientes LIKE '".$letra."%'";
$resultado=mysql_query($sql) or die (mysql_error())
if (mysql_num_rows($resultado) > 0){
while ($row=mysql_fetch_array($resultado)){
echo $row['campo'];
}
} else {      
echo "Por el momento no existe ese resultado".    }  
?>

siendo tan simpático que me responde así:

Parse error: syntax error, unexpected T_IF in /home/a8039978/public_html/resultados.php on line 7 (if (mysql_num_rows.....)

y ahí ya estoy a medio metro de tirar la toalla. :ownz: ¿Alguna sugerencia?, además de dónde tirar la toalla.

Hernán, el substr lo había puesto sólo por recomendación de un vecino. En realidad nunca supe el por qué de eso.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 Ene 2010 02:06 am
Para conectarte debes hacer:

Código PHP :

$ser = "localhost";

$usr = "tu_usuario";

$pas = "*******";

$db="base_de_datos";


$srv = mysql_connect($ser,$usr,$pas) or die("error aca".mysql_error());

$cnx = mysql_select_db($db,$srv) OR die("No se puede conectar");


Por cierto, no uses empty usa isset() para saber si te estan enviando la data

El substr no tiene sentido, sirve para cortar cadenas de texto, lo cual si es solo una letra, no tiene lógica.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 08 Ene 2010 03:20 am
Primero un fuerte apretón de manos, Hernán, es un verdadero gusto saludarte, agradeciendo de nuevo tu tiempo para conmigo.

Modifiqué la data, quedando así:

Código PHP :

<?
$ser = "localhost";
$usr = "user";
$pas = "pass";
$db="db";

$srv = mysql_connect($ser,$usr,$pas) or die("error aca".mysql_error());
$cnx = mysql_select_db($db,$srv) OR die("No se puede conectar");

if (!isset()($_GET['letra'])); 
$sql="SELECT * FROM clientes WHERE nombreclientes LIKE '".$letra."%'";
$resultado=mysql_query($sql) or die (mysql_error())
if (mysql_num_rows($resultado) > 0){
while ($row=mysql_fetch_array($resultado)){
echo $row['campo'];
}
} else {
echo "Por el momento no existe ese resultado".    }
?>


y corrió a responderme:

Código :

unexpected ')', expecting T_STRING or T_VARIABLE or '$' in /home/a8039978/public_html/resultados.php on line 10

por la línea if(mysql_num_rows.....

A veces extraño las máquinas de escribir.
Sin ningún ánimo de molestarte, pero, ¿como se repara esto?
El material que he leído no me da muchas respuestas todavía.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 Ene 2010 05:23 am
Probé con varias variables para rellenar los () de isset, pero sin resultados, ¿es lo único que falta en este script o tiene más detalles? Pregunto para revisar en más escritos.

Por djcd

7 de clabLevel



 

msie7
Citar            
MensajeEscrito el 09 Ene 2010 03:51 am

Código PHP :

if (!isset($_GET['letra'])){
// Tu código aquí para respuesta no pasada la variable letra
}else{
//Tu código aquí para respuesta variable letra pasada 
}


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 11 Ene 2010 07:48 am
Seguí tu consejo y hundí la cabeza en textos de php y mysql.
¡Conseguí que funcionara!
Un código chiquito pero una enorme victoria personal.
Agradezco profundamente tu apoyo, Hernán, muchas gracias. (y)

Por djcd

7 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.