Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Mostrar Registros

Estas en el tema de Mostrar Registros en el foro de Mysql en Foros del Web. Hola a todos.!!! Tengo la siguiente consulta. En mi pagina PHP muestro el contenido de una Tabla cualquiera de Mysql usando tablas html (algo parecido ...
  #1 (permalink)  
Antiguo 19/04/2006, 09:28
Avatar de edsonmc  
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
Busqueda Mostrar Registros

Hola a todos.!!!

Tengo la siguiente consulta. En mi pagina PHP muestro el contenido de una Tabla cualquiera de Mysql usando tablas html (algo parecido a un Dbgrid). Tengo un buscador en el que selecciono el campo donde buscar, luego escribo lo que quiero buscar. Por ejemplo elijo el campo Apellidos y busco "perez".

Con un select ... like puedo solucionar el asunto pero requiero que la busqueda me posicione en el primer "perez" que encuentre y si busca otra vez que me posicione en el siguiente "perez" y asi sucesivamente.
He probado con "select .... where locate" pero el resultado es similar a "select ...like". Puedo usar el "select .. limit" pero no se desde donde empezar a buscar .... ya que no se que se buscara.

EL objetivo es posicionar y no hacer un filtro... algo parecido al "Buscar en esta pagina" que tiene el IE o el Firefox. existe alguna forma de hacer esto con una senetencia Mysql.?

Espero sus sugerencias.
Gracias de antemano.
  #2 (permalink)  
Antiguo 19/04/2006, 12:56
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Like es para filtrar un campo segun un patron.
Locate es para buscar una cadena dentro de otra.

Ahora, entiendo lo que quieres, pero siempre que se hace una consulta a una BD estás haciendo un filtro, es decir te saca los registros que coincidan con tus criterios de busqueda.

Cual es el objetivo de posicionarse en un registro?
  #3 (permalink)  
Antiguo 19/04/2006, 13:04
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Lo que puedes hacer es ejecutar la consulta con en el like, luego pasar el resultado de la consulta a una tabla y luego hacer la busqueda sobre la tabla que creaste (no una tabla de Base de datos, sino un arreglo de objetos, o de registros segun el lenguaje que uses)
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #4 (permalink)  
Antiguo 19/04/2006, 15:52
Avatar de edsonmc  
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
Aclaracion

Que tal claudiovega!
Antes que nada gracias por responder. Tienes razon en todo lo que dices.. te explico un poco mas lo que tengo.

Mi programa muestra datos de una Tabla Mysql mediante el uso de tablas html
muestra de 5 en 5 o de 10 en 10 de acuerdo como se especifique.
Tengo botones para navegar sobre la Tabla. Prior,Next,Editar,Eliminar... etc. Uno de stos botones es "Buscar" y requiero que esta busqueda me posicione en el registro que contenga "lo que busco" y por ello no puedo usar el select como bien tu decias... ya que no deseo hacer un filtro sino navegar por toda la data. Quiza no sea eficiente pero es un requerimiento que debo cumplir.

Espero tu pronta respuesta.



Cita:
Iniciado por claudiovega
Like es para filtrar un campo segun un patron.
Locate es para buscar una cadena dentro de otra.

Ahora, entiendo lo que quieres, pero siempre que se hace una consulta a una BD estás haciendo un filtro, es decir te saca los registros que coincidan con tus criterios de busqueda.

Cual es el objetivo de posicionarse en un registro?
  #5 (permalink)  
Antiguo 19/04/2006, 23:49
Avatar de edsonmc  
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
Tolaware..
gracias por responder.

Com le explicaba a claudiovega... mi problema es el posicionamiento... tu sugerencia es buena, pero debo navegar por la Tabla que estoy mostrando.
es por ello que no se como puedo haer para posicionarme en el registro que se esta buscando sin hacer filtro alguno y poder ver rapidamente lo que esta antes del registro buscado y lo que esta despues.
  #6 (permalink)  
Antiguo 20/04/2006, 13:01
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
A mi me parece que se puede resolver con javascript. Puedes cargar todos los datos con php, mostrar paginando con javascript y luego buscar con javascript, es decir, todos los datos están en el cliente y allí se buscan, filtran, ordenan, paginan, etc.
  #7 (permalink)  
Antiguo 20/04/2006, 23:42
Avatar de edsonmc  
Fecha de Ingreso: marzo-2006
Mensajes: 17
Antigüedad: 18 años
Puntos: 0
De acuerdo

claudiovega, me da curiosidad lo que mencionas.

Estoy probando algunas opciones ... pero Porfa puedes explicarme con mas detalle tu sugerencia.?

Gracias.!
  #8 (permalink)  
Antiguo 21/04/2006, 14:45
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
La idea es crear por ejemplo divs dinamicamente, tantos como paginas de paginacion necesites, que todos estén ocultos excepto el primero, luego cada vez que haces click en un link, por ejemplo, ir ocultando el visible y mostrando el siguiente, anterior, ultimo o primero, según que link se presione. Una idea:


Código PHP:
<div id="1">
<?php
   mysql_connect
("server","user","pass");
   
msyql_select_db("nombre_bd");
   
$sql="select * from tabla";
   
$rs=mysql_query($sql);
   if(isset(
$rs) && mysql_num_rows($rs))
   {
       
$i=1;
       while(
$fila=mysql_fetch_assoc($rs))
       {
?>

<!-- codigo html generado dinamicamente, ejemplo 5 datos por pagina
que va dentro de cada div. Este codigo html incluye la barra de navegacion
de paginado y los datos a mostrar en cada pagina. Respecto de la barra de
navgacion, cada link llevaría un evento onclick(), en el se llamaría a una
funcion javascript que tendría mas menos este aspecto:

<script>
    function cambiarDiv(id_div,tipo_link)
    {
         var miDivAct=document.getElementById(""+id_div);
         
         switch(tipo_link) 
         { 
             case "siguiente":
                var miDivNuevo=document.getElementById(""+(id_div+1));
                miDivAct.style.visibility="hidden";
                miDivNuevo.style.visibility="visible";
                break; 
             ....  
         }
    }
</script>
La funcion la llamarías asi: 

<a href="#" onclick="cambiarDiv("1","siguiente");">Siguiente</a>
-->

<?php
          
//cada 5 valores generados cerra el div actual y abrir otro div
           
if($i ==0)  
           {
?>
</div>
<div id="<?php echo ($i+1);?>">
<?php
           
}
           
$i++;
       }
   }
?>
</div>
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:58.