Foros del Web » Programando para Internet » PHP »

Manejar queries de forma dinámica

Estas en el tema de Manejar queries de forma dinámica en el foro de PHP en Foros del Web. Hola, un saludo Necesito en php crear una query de forma que las filas y los campos se los vaya asignando desde el código que ...
  #1 (permalink)  
Antiguo 05/08/2003, 05:51
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 407
Antigüedad: 14 años, 4 meses
Puntos: 1
Manejar queries de forma dinámica

Hola, un saludo

Necesito en php crear una query de forma que las filas y los campos se los vaya asignando desde el código que programe, en vez de la consulta habitual que se haría a la BD con MySQL. A ver si alguien conoce estas funciones, o si hay que instalar un paquete a parte del PHP estandard para poder disponer de éstas.

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 05/08/2003, 23:58
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 3 meses
Puntos: 8
No se entiende muy bien lo que quieres.
¿podrias explicarte mejor?
  #3 (permalink)  
Antiguo 06/08/2003, 00:02
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 15 años, 11 meses
Puntos: 0
Quieres crear tu propia sentencia SQL?..

mmm, explicate.
  #4 (permalink)  
Antiguo 06/08/2003, 00:27
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 15 años, 5 meses
Puntos: 10
creo k la pregunta esta bastante confusa
Podrias explicarlo mejor...

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #5 (permalink)  
Antiguo 06/08/2003, 00:31
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 3 meses
Puntos: 8
¿alguien mas que ponga que no entendemos?
  #6 (permalink)  
Antiguo 06/08/2003, 02:44
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 407
Antigüedad: 14 años, 4 meses
Puntos: 1
Query Artificial

Bien, por la tan calurosa acogida me dispongo a exponer la pregunta de otra forma, o mejor.

Se trata de poder construir una query (recordset) de forma artificial, yo sé hacer esto en Cold Fusion, pero no sé si se puede hacer con PHP, aunque supongo que habrá alguna libreria por ahí que lo incorpore. El funcionamiento es simple

1. Se crear la query con una función para ello (en CF sería QueryNew(Lista de campos a crear)

2. Se van añadiendo los campos de la query fila a fila. (en Cf sería QuerySetCell(Query,Campo,Valor,Registro)

En definitiva, necesito esto porque tengo un módulo que necesita como parámetro de entrada una query. Como llevo mucho más tiempo programando con CF que con PHP intento resolver este particular con formas de progrmación de CF, pero quizás en PHP el recordset de la query es un objeto que hay que crear y manejar con ciertos constructores como cualquier otro objeto, no sé, no tengo ni idea, he buscado y no encontrado nada por ahí..

a ver que pueden ustedes decirme.

Muchas gracias y un saludo.

Miguel Ángel.
  #7 (permalink)  
Antiguo 06/08/2003, 23:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No he usado nunca Cool Fusion .. Pero al parecer usan una especie de "capa de abstracción" para acceder a tus BD (no sé si "própias" de Cool Fusion .. o a una MS SQL server .. Access o algo así ..)

En PHP tienes algunas classes (Objetos, capa de abstarcción ) que te pueden permitir trabajar con PHP y tu BD habitual (sea Mysql u otras) de forma similar a la que la usas .. Con "sintax" de métodos similares ...

Estas classes las puedes encontrar por ejemplo en:
www.phpclasses.org

Ahí veras un buen número de ellas .. desde la "potente" ADOdb .. hasta otras más simples como Ez_SQL (sencilla y multi-db ..)

De todas formas .. pese que uses estas "classes" .. si vas a trabajar con una BD (Mysql .. MS SQL server .. Access .. etc) vas a tener que conocer el SQL própio de cada una (que es el lenguaje que usan para hacer consultas a estos manejadore de BD ..)

Administradores para Mysql, y cualquier motor de BD que uses los tienes .. tanto en PHP "puro" como aplicaciones GUI para Windows que te permiten "modelar" (crear y admin. tus BD) de forma sencilla ..

Si el proceso de crear una tabla o en general gestionarla lo ha de hacer un script PHP tuyo .. ahí es necesario que conozcas el SQL particular de estas.

Posteriormente .. si tu lo deseas te puedes crear tu própia classe tipo "CF DB" .. (por llamarlo así) donde te implementes todos esos métodos como el QuerySetCell() y todos los que tienes a tu disposición (incluso con su misma sintax y parámetros de entrada/salida) ...

Sinceramente .. creo que cuando programa uno en algún lenguaje es necesario que se adapte al que esté usando en ese momento ..

A veces (como creo que sería este caso) sólo es un simple "cambio de nombre" de funciones típicas que en PHP+Mysql (por ejemplo) se hacen de cierta forma (forma que puedes leer y aprender en los tutoriales y código que veras en las FAQ's de este foro) ...

Pero en otras ocasiones .. puedes estar "desaprobechando" o mal usando las funcionalidades nativas que pueda tener PHP que "a lo mejor" superan a otro lenguaje (puede q no también ..) no sólo en forma de uso .. sino en funcionalidad o rendimiento.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 07/08/2003, 05:13
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 407
Antigüedad: 14 años, 4 meses
Puntos: 1
Muchas gracias, por tu respuesta. A lo mejor puedo concretar un poco más:

El caso es que estoy usando PHP - MySQL, entiendo que es mejor conocer el lenguage en el que se trabaja, por ello hacía esta pregunta. Necesito manipular queris como decía "de forma artificial", como conocía CF ponía el ejemplo de esas funciones por si existían algunas homólogas en PHP, como ni yo mismo he podido encontrar funciones similares suponía que esto podría hacerse con alguna clase. Pero todavía no conozco la respuesta.

Lo que haré será trabajar siempre con Arrays (ya q no se puede trabajar con los recordset en PHP, ya me gustaría que alguien me explicara por qué), y cuando tenga una query que pasar a un modulo la pasaré a un Array ya que esto si se puede hacer.

Muchas gracias por todo y un saludo.
  #9 (permalink)  
Antiguo 10/08/2003, 22:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Lo que haré será trabajar siempre con Arrays (ya q no se puede trabajar con los recordset en PHP, ya me gustaría que alguien me explicara por qué), y cuando tenga una query que pasar a un modulo la pasaré a un Array ya que esto si se puede hacer.
En PHP .. el "recorset" .. lo tienes cuando haces una llamada a la función:

xxxx_query() .. donde xxxx en Mysql sería mysql_query() .. eso es el "recorset" ..

Luego para "trabajar" ese recorset .. lo "desglosas" en un array (comunmente) con mysql_fetch_array() .. pero, no es la única forma que tiene PHP de trabajar con un "recorset", pues tienes Objetos (mysql_object() ) .. tienes arrays asociativos (mysql_assoc() ) .. y tambien "filas" con mysql_row() .. (y seguro que me dejo alguna más ..)

Si quieres .. visita el correspondiente capítulo de funciones para (en este caso hablamos de Mysql ) desde PHP en:

www.php.net/mysql

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 20:42.