Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Funcion para insertar datos

Estas en el tema de Funcion para insertar datos en el foro de WordPress en Foros del Web. bueno como voy saliendo de dudas y haciendo pruebas me hice una funcion para insertar datos en cualquier tabla que indiquemos a la misma trabajando ...
  #1 (permalink)  
Antiguo 22/04/2011, 20:13
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Funcion para insertar datos

bueno como voy saliendo de dudas y haciendo pruebas me hice una funcion para insertar datos en cualquier tabla que indiquemos a la misma trabajando con wordpress, aca la funcion espero que les sirva, la hice trabajando con consultras preparadas porque me parece de mayor seguridad
Código PHP:
Ver original
  1. function insert($table,$data = array(),$exist = array()){
  2.     global $wpdb;
  3.     if(empty($table) || empty($data) || !is_array($data)){
  4.         echo "Debe indicar la tabla y los datos a ser insertados";
  5.         return false;
  6.     }
  7.     if(!empty($exist)){
  8.         foreach($exist as $k => $v){           
  9.             $condic = "$v = '".$data[$v]."'";
  10.         }      
  11.         $existe = $wpdb->get_row("SELECT * FROM $table WHERE $condic", ARRAY_A);               
  12.         if(count($existe) > 0){
  13.             return "existe";
  14.         }
  15.     }
  16.     foreach($data as $key => $value){
  17.         $field[] = $key;
  18.         if(gettype($value) == "integer"){
  19.             $type[] = "%d";
  20.         }
  21.         elseif(gettype($value) == "string"){
  22.             $type[] = "%s";
  23.         }
  24.         $values[] = $value;
  25.     }
  26.     $fields = implode(',',$field);
  27.     $types = implode(',',$type);   
  28.     $wpdb->query($wpdb->prepare("INSERT INTO $table($fields) VALUES ($types)",$data));
  29.     return true;
  30. }
la probe con varias tblas qe tengo en el proyecto que estoy trabajando y me funciono, espero que les sirva
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Última edición por carlos_belisario; 22/04/2011 a las 20:50
  #2 (permalink)  
Antiguo 22/04/2011, 22:15
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Funcion para insertar datos

¿Cómo se implementa?
  #3 (permalink)  
Antiguo 23/04/2011, 01:29
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 17 años, 8 meses
Puntos: 223
Respuesta: Funcion para insertar datos

La clase WPDB ya incluye una función para armar el INSERT. ¿Cuál sería la diferencia?
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #4 (permalink)  
Antiguo 23/04/2011, 12:05
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Funcion para insertar datos

Cita:
Iniciado por metacortex Ver Mensaje
¿Cómo se implementa?
La habia creado e incluido en el archivo functions.php y lo unico que hacia era pasarle un llamado desde la pagina que la fuera a usar de esta manera

Código PHP:
Ver original
  1. insert('tabla',array('campo'=>'valor',array(campo o campos por el que se verifica si el registro ya existe una pk por ejemplo'));


Cita:
Iniciado por j_aroche Ver Mensaje
La clase WPDB ya incluye una función para armar el INSERT. ¿Cuál sería la diferencia?
y si eso lo vi despues que habia realizado el codigo , las funciones en teoria hacen lo mismo ya que ambas trabajan con consultas preparadas y los dos primeros parametros son creo que el formato es igual, en lo unico que difiere es en el tercer parametro que $wpdb trabaja con los formatos de los datos y yo hago una busqueda para verificar si el registro ya existe, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: funcion
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 22:37.