Foros del Web » Programando para Internet » PHP »

Paginar campo memo DBF

Estas en el tema de Paginar campo memo DBF en el foro de PHP en Foros del Web. Hola Foro. Tengo una pequeña duda, de que forma puedo paginar un campo memo de una DBF que acceso con ODBC ? Saludos y gracias ...
  #1 (permalink)  
Antiguo 01/08/2002, 15:50
 
Fecha de Ingreso: abril-2002
Mensajes: 20
Antigüedad: 22 años, 7 meses
Puntos: 0
Paginar campo memo DBF

Hola Foro.
Tengo una pequeña duda, de que forma puedo paginar un campo memo de una DBF que acceso con ODBC ?



Saludos y gracias de antemano
----------------------------------
Ramiro Flores Ruiz
Monterrey
Nuevo Leon, Mexico
  #2 (permalink)  
Antiguo 01/08/2002, 21:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Paginar campo memo DBF

Y .. a que BBDD via ODBC accedes?¿

.. Mysql por ejemplo tiene la funcion:
SUBSTRING(blob_col,inicio,fin)

El blob vendria a ser equivalente al MEMO ?¿ (aqui igual me equivoco).

Asi que . usando una funcion de ese tipo en tu sentencia SQL de tu motor de BD si es que la tiene .. seira algo asi:

SELECT id,SUBSTRING(blob_col,1,100) FROM tbl

Eso seria lo ideal .. obtener el campo MEMO en la consulta solo con los caracteres de princio, a fin indicados en el substring() ..

Si lo lo puedes hacer asi .. o no quieres .. podiras hacer eso mismo con funciones de PHP:

substr ( string cadena, int comienzo [, int largo])

asi que harias algo asi como:
$MEMO_paginado=substr($campo_MEMO_gigante_string,$ comienzo,$fin)

Si puedes usar alguna de estas funciones .. solo es implementar la logica de calculo de paginas (usando strlen() para obtener el tamaño en caracteres maximo del MEMO completo ..) y demas logica ...

Un saludo,
  #3 (permalink)  
Antiguo 02/08/2002, 10:25
 
Fecha de Ingreso: abril-2002
Mensajes: 20
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Paginar campo memo DBF

Gracias Cluster.

Las Bd que uso de Visual Fox, son campos memo, por el cual lo acceso via ODBC, el campo memo la paso a una variable con la funcion nl2br() para que me respete los brincos de linea, y sobre esa vaiable es la que quiero presentar paginado, como algo asi, de , se presente cada 20 lineas el campo memo, espero haberme explicado.

Gracias por tu tiempo
Saludos !!!
  #4 (permalink)  
Antiguo 02/08/2002, 10:27
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años, 7 meses
Puntos: 8
Re: Paginar campo memo DBF

Hola.

Vaya, y yo que pensaba que las bases de datos .DBF ya no se usaban!

La verdad, te recomiendo que en la medida de lo posible te pases a MySQL, sobre todo.

Ah... qué tiempos aquellos en los que comenzé con dBASEIII.

Un saludo, compañero, siento no saber responder a tu pregunta.

  #5 (permalink)  
Antiguo 02/08/2002, 11:01
 
Fecha de Ingreso: abril-2002
Mensajes: 20
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: Paginar campo memo DBF

Gracias Mikibroki.

Lo que pasa es que es un modulo que se dessarrollo para un cliente, y el cliente tiene sus sistemas en Visual Fox, es por eso que trabajo con eso.

Gracias por tus comentarios.
Saludos !!!!
  #6 (permalink)  
Antiguo 02/08/2002, 15:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Re: Paginar campo memo DBF

Segun parace ... tienes en un String gigantesco el campo MEMO? ..

Si es asi, te recomiendo que veas las funciones que PHP ofrece para manejo de strings (cadenas) .. q no son pocas:

<a href='ir.asp?http://www.php.net/manual/es/ref.strings.php' target='_blank'>http://www.php.net/manual/es/ref.strings...</a>

Una opcion por ejemplo es hacer un splode() de tu string y asi obtener un array .. el arry posteriormente lo muestras como mas te guste usando algun bucle (recomendable FOR para poder indicar inicio y fin en la paginacion por lineas .. Si usas explode .. no hace falta q hagas nl2b()...

$MEMOarray=splode(&quot;\n&quot;,$campoMEMO);

(\n salto de linea de tu campo MEMO ..)

Un saludo,
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 13:08.