Quiero crear una clase para añadir registros a mi bd.
Conosco la sintaxis basica para crear una clase pero no se como lograr esto, espero me ayuden a solucionarlo y/o darme una idea de como hacerlo
| |||
Crear clase para agregar registros a una BD Quiero crear una clase para añadir registros a mi bd. Conosco la sintaxis basica para crear una clase pero no se como lograr esto, espero me ayuden a solucionarlo y/o darme una idea de como hacerlo Última edición por franko1809; 18/07/2008 a las 12:19 |
| |||
Respuesta: Crear clase para agregar registros a una BD La verdad nose por donde empezar lo unico que tengo en mente es pasar como parametros el nombre de la tabla y los campos. Busque otros post sobre el tema pero no los encontre si hay los encuantra los poste aqui ó si no que me dé una idea de como empezar con esto. saludos y espero se tomen un tiempo para ayudarme |
| |||
Respuesta: Crear clase para agregar registros a una BD Bueno ahora empiezo, si algo esta mal plantiado disculpen Código PHP: y referenciarlos a la clausula value de la sentencia select?, seria algo asi Código PHP: |
| ||||
Respuesta: Crear clase para agregar registros a una BD Sugerencias:
|
| |||
Respuesta: Crear clase para agregar registros a una BD bueno segui tu consejo y me quedo asi Código PHP: Código PHP: |
| ||||
Respuesta: Crear clase para agregar registros a una BD Pequeñas correcciones:
Sobre la segunda parte, sugiero que termines con una antes de pasar a otro tema. |
| |||
Respuesta: Crear clase para agregar registros a una BD Cita: No entendi a que te refieres?, he leido un poco sobre arrays en la documentacion, pero es un lio aplicarlo a lo que necesito!Como creo un array con el numero de elementos que tenga la tabla?, es decir, puedo pasar un array como parametro en una funcion?, esto ultimo es lo q falta, aunque no se si este bien platiado lo que hize para obtener el nombre de los campos $this->tabla ($cadena) Código PHP: Código PHP: Última edición por franko1809; 18/07/2008 a las 12:37 |
| |||
Respuesta: Crear clase para agregar registros a una BD creo que lo que quiere decir enrique es que la funcion agregar sea asi function agregar($campos) donde $campos es un array del tipo array("campo"=>"valor", ..., "campo"=>"valor") luego foreach ($campos as $k => $v) { $queryCampos[]=$k; $queryValores[]=$v; } $queryCampos=implode(",", $queryCampos); $queryValores=implode(",", $$queryValores) "INSERT INTO $this->tabla ($queryCampos) VALUES ($queryValores)"; con esto logras una mayor flexibilidad en la creacion del INSERT ya que no hay un limite de valores a insertar saludos |
| |||
Respuesta: Crear clase para agregar registros a una BD Cita: Me gustaria acotar un par de cosas:
Iniciado por enriqueplace Pequeñas correcciones:
Sobre la segunda parte, sugiero que termines con una antes de pasar a otro tema.
__________________ Saludoss Guille |
| ||||
Respuesta: Crear clase para agregar registros a una BD Cita: Los atributos públicos ni se recomiendan ni se sugieren, están prohibidos. [LIST][*]Los atributos públicos no estan prohibidos, solo mal vistos en la gente que programa decentemente, puesto que lleva a romper el encapsulamiento. O sea, no estan prohibidos, simplemente estaria bueno decir "no te lo recomiendo". Cita: Estoy de acuerdo que los objetos son "lo vivo", pero -y a pesar que reconozco que es correcto lo que dices- el código del "objeto" está escrito en la clase, por consiguiente no está mal decir "corregir el código en la clase". Tampoco si tienes "instancias", pero también se da el caso que puedes ejecutar "una clase" sin necesidad de instanciar, por lo tanto no tienes "un objeto".[*]Las clases no imprimen, las clases no hacen nada. Son los objetos los que hacen las cosas. Voy a morir diciendo que los objetos hacen las cosas, las clases solo son el lugar donde los objetos tienen guardado su comportamiento, como hacer las cosas. Tu punto es claro y vale como complemento, pero no es absolutamente exacto. Cita: No, no es offtopic. Perdon, quizas es offtopic, pero es el foro de php orientado a objetos, no php orientado a clases. |
| |||
Respuesta: Crear clase para agregar registros a una BD Cita: Ya entendi cual era la idea!Pero de como creo el array("campo"=>"valor", ..., "campo"=>"valor"), de donde saco los valores campo => valor, logicamente de la tabla y el numero de elementos dependera del numero de campos de la tabla. pero no se como, he leido la documentacion de php y mas o menos entiendo como trabaja el foreach. Para crear el array tendria q hacer un bucle dentro del array?, estoy liado un poco con esto? |
| |||
Respuesta: Crear clase para agregar registros a una BD supongamos que en tu tabla tienes los campos nombre_usu, apellido_usu, edad_usu, pais_usu un array es una variable comun y corriente, la creas con los valores que quieras, pero poniendo el nombre del campo en la BDD como indice Código PHP: Código PHP: el foreach no lo usas para crear el array (aunque llegado el caso puedes hacerlo...) sino que lo usas para armar la consulta SQL |
| |||
Respuesta: Crear clase para agregar registros a una BD Que tal rodrigo_00, la sintaxis la tenia, pero me explico mejor. Por ejemplo al ejecutar mi clase paso estos parametros Código PHP: Código PHP: La clase la piendo utilizar asi Código PHP: |
| ||||
Respuesta: Crear clase para agregar registros a una BD Cita: Si quieres hacer algo extremadamente dinámico, tendrás que preguntarle a la tabla su estructura. Pero de todas formas, si quieres persistir algo, tendrás que decirle en qué campos van los datos.
Iniciado por franko1809 Ya entendi cual era la idea! Pero de como creo el array("campo"=>"valor", ..., "campo"=>"valor"), de donde saco los valores campo => valor, logicamente de la tabla y el numero de elementos dependera del numero de campos de la tabla. pero no se como, he leido la documentacion de php y mas o menos entiendo como trabaja el foreach. Para crear el array tendria q hacer un bucle dentro del array?, estoy liado un poco con esto? Te sugiero buscar artículos sobre el patrón ActiveRecord, así aprenderás en base a algo que ya está discutido, y a futuro te sugiero usar algún sistema ya implementado. |
| |||
Respuesta: Crear clase para agregar registros a una BD En el blog de GatorV hay un articulo muy bueno (para sacar ideas te recomiendo) sobre como crear esta clase http://web2development.blogspot.com/ Saludos |
| |||
Respuesta: Crear clase para agregar registros a una BD Cita: Puedes decirselo a Alan Kay, el creador de el paradigma de objetos y él te dira que php no es 100% orientado a objetos. Es más, él creó el primer lenguaje (y no se si único) orientado a objetos puro, Smalltalk, y en él las clases son objetos :). Por lo que los métodos que tu piensas "estáticos" el los piensa como "métodos de la clase" o "métodos de clase" y al ser las clases objetos, lo que yo digo es acertado :). Estoy de acuerdo que los objetos son "lo vivo", pero -y a pesar que reconozco que es correcto lo que dices- el código del "objeto" está escrito en la clase, por consiguiente no está mal decir "corregir el código en la clase". Tampoco si tienes "instancias", pero también se da el caso que puedes ejecutar "una clase" sin necesidad de instanciar, por lo tanto no tienes "un objeto". Tu punto es claro y vale como complemento, pero no es absolutamente exacto.
__________________ Saludoss Guille |
| ||||
Respuesta: Crear clase para agregar registros a una BD Cita: Tu dices el mismo que dijo:
Iniciado por guille_el3 Puedes decirselo a Alan Kay, el creador de el paradigma de objetos y él te dira que php no es 100% orientado a objetos. Es más, él creó el primer lenguaje (y no se si único) orientado a objetos puro, Smalltalk, y en él las clases son objetos :). Por lo que los métodos que tu piensas "estáticos" el los piensa como "métodos de la clase" o "métodos de clase" y al ser las clases objetos, lo que yo digo es acertado :). "Yo inventé el término "Orientado a Objetos", y te puedo asegurar que C++ no era en lo que estaba pensando." "Java es lo más penoso que le ha ocurrido a la informática desde MS-DOS" Creo que estás inventando y generando una discusión de "quién sabe más", en la cual no voy a entrar, ya que es ridículo... los conocimientos base son claros y están para razonarlos, no para "suponer tú" qué diría el autor. Aunque tú citaras una frase de él que apoyara lo que dices (que no lo has hecho), tampoco te daría la razón, ya que no se sustenta (por más que lo diga quién acuñó por primera vez el término, los hechos se sustentan solos). Las clases son código, generas instancias a partir de las mismas (si quieres verlo de otra forma, son "variables"), el código que genera las acciones de los objetos son clases, y tus fuentes son clases, no objetos. PD: nunca dije que fueran "métodos estáticos" (eso lo agregas tú bajo tú responsabilidad). Puedes decir que son "métodos de clase", pero no puedes decir que son objetos... justamente, es la clase que los ejecuta (tú mismo lo dijiste, son de "clase"). |
| |||
Respuesta: Crear clase para agregar registros a una BD Q tal enriqueplace estaba revisando tu blog, y me quedo esta duda, como esta estructurado la clase BaseDeDatos.class.php, diras q me gusta todo facil pero te pido ese favor. Otra cosa si alguien conoce una clase que haga lo que necesito espero deje el link saludos |
| ||||
Respuesta: Crear clase para agregar registros a una BD Cita: Existe un proyecto que se hizo en un taller piloto donde participaron varios colaboradores. De ahí puedes sacar esa clase y otras más (dentro del directorio trunk).
Iniciado por franko1809 Q tal enriqueplace estaba revisando tu blog, y me quedo esta duda, como esta estructurado la clase BaseDeDatos.class.php, diras q me gusta todo facil pero te pido ese favor. Otra cosa si alguien conoce una clase que haga lo que necesito espero deje el link saludos Hace tiempo que no reviso ese código, no sé que tan bien esté, pero tal vez te sirva para experimentar. Con respecto a tu pregunta original, si mal no entiendo ya te expliqué lo que quieres hacer, me parece que estás tan confundido que no te das cuenta que no necesitas saber más nada... por qué no empiezas a hacer un diseño básico de lo que quieres hacer y lo expones en el foro? PD: en una de esas me pongo a ver de armar algunos artículos referidos al tema persistencia, ya que veo la pregunta se repite una y otra vez. |
| ||||
Respuesta: Crear clase para agregar registros a una BD no es mala idea Enrique, ya que yo tampoco termino de comprender el termino persistencia, si es algo parecido singleton o cosas diferente y un largo etc jajaj un abrazo |
| ||||
Respuesta: Crear clase para agregar registros a una BD Persistencia no es más que "persistir" en algún medio no volatil la información de tu objeto, y aunque la palabra no ayuda, también representa poder recuperar lo que persistes (de lo contrario no tendría sentido). Puede ser tan simple como crear una clase de base de datos (clase de persistencia) o algún otro mecanismo. No es más complicado que eso, pero el tema es que lo preguntan a cada rato |