elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Ayuda] Funcion PHP con parametros opcionales
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Funcion PHP con parametros opcionales  (Leído 2,800 veces)
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
[Ayuda] Funcion PHP con parametros opcionales
« en: 7 Junio 2017, 22:14 pm »

Hola a todos. He estado trabajando en mis basicos conocimientos de POO y me di a la tarea de crear una clase generica para las BD con sus respectivos métodos para insertar, eliminar, comprobar, actualizar, etc. Ya logre hacer el método de insertar, pero ahora quiero hacer uno para hacer un select de la BD que me pueda servir por ejemplo para saber si existe un usuario en una BD. El punto es que estoy tratando de hacer algo asi

Código
  1. class select($tabla, $array[,$where])
  2. {
  3.  
  4. }
  5.  

Pero el punto es que no se como hacer que el tercer argumento sea opcional. O sea que la consulta pueda ser
Código
  1. select * from usuarios
o así
Código
  1. select * from usuarios where user = 'Danny'

No se si me hago entender. Por favor ayuda


En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
tosk

Desconectado Desconectado

Mensajes: 14



Ver Perfil
Re: [Ayuda] Funcion PHP con parametros opcionales
« Respuesta #1 en: 12 Junio 2017, 10:49 am »

Prueba algo así, es un poco rudimentario y se puede mejorar mucho más... pero igual te ayuda.

Código
  1. <?php
  2. class test
  3. {
  4.    public function select($tabla, $params = [])
  5.    {
  6.        $sql = 'SELECT * FROM ' . $tabla;
  7.  
  8.        $firstTime = true;
  9.        foreach ($params as $key => $param) {
  10.            if ($firstTime) {
  11.                $sql .= ' WHERE ';
  12.                $firstTime = false;
  13.            } else {
  14.                $sql .= ' AND ';
  15.            }
  16.            $sql .= $key . ' = "' . $param . '"';
  17.        }
  18.  
  19.        return $sql . ';';
  20.    }
  21. }
  22.  
  23. $test = new Test();
  24. // Ejemplo 1 - SELECT * FROM usuarios WHERE user = "Danny";
  25. echo $test->select('usuarios', ['user' => 'Danny']);
  26.  
  27. // Ejemplo 2 - SELECT * FROM usuarios WHERE user = "Danny" AND role = "admin" AND is_active = "1";
  28. echo $test->select('usuarios', [
  29.    'user' => 'Danny',
  30.    'role' => 'admin',
  31.    'is_active' => true
  32. ]);
  33. ?>
  34.  




En línea

danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [Ayuda] Funcion PHP con parametros opcionales
« Respuesta #2 en: 13 Junio 2017, 12:59 pm »

Gracias por responder y perdon por la demora, es que en Cuba no siempre hay internet. Al final terminé haciendo algo parecido. La duda era como pasar parámetros opcionales y eso lo descubrí 2 horas depues de publicar, pero ya no estaba online. El código terminó así:
Código
  1. public static function Insert($tabla, $array)
  2.    {
  3.        $bd = bd::conectar();
  4.        $_query="";
  5.        $_query = "insert into {$tabla} (" . implode(', ', array_keys($array)) . ' ) values (';
  6.  
  7.        foreach ($array as $key => $value) {
  8.            if (is_numeric($value)) {
  9.                $_query .= ', ' . $value;
  10.            } else {
  11.                $_query .= ", '" . $value . "'";
  12.            }
  13.        }
  14.        $_query = str_replace('(,', '(', $_query);
  15.        $_query .= ')';
  16.  
  17.  
  18.        $bd->getMysqli()->query($_query) or die ("Error al insertar: <br>".$bd->getMysqli()->connect_error);
  19.  
  20.  
  21.    }
  22.  

Y ese fue el más facil. Ahora estoy haciendo el de eliminar y aunque me dieron un código que funciona, no me gusta el array que hay que pasarle, por eso estoy intentando hacer uno mio que sea más cómodo. Gracias de todas formas
En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
funcion que devuelva 4 parametros
Programación C/C++
mapers 3 4,433 Último mensaje 4 Diciembre 2010, 04:51 am
por mapers
puntero de una funcion con dos parametros.
Programación Visual Basic
LeandroA 1 2,626 Último mensaje 12 Septiembre 2011, 00:34 am
por Karcrack
problema parametros funcion
Programación C/C++
sargo 2 2,024 Último mensaje 24 Marzo 2012, 00:39 am
por Beakman
Ayuda - Buscar una cadena en parametros de funcion
Programación C/C++
Miky Gonzalez 3 2,669 Último mensaje 4 Julio 2012, 14:24 pm
por 0xDani
[SOLUCIONADO][Ayuda]Parametros en la funcion main con Geany, C++
Programación C/C++
darking664 4 4,201 Último mensaje 8 Septiembre 2013, 03:42 am
por darking664
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines