Foros del Web » Programando para Internet » PHP »

PHP OO ¿Cómo realizar en PHP varias consultas MYSQL?

Estas en el tema de ¿Cómo realizar en PHP varias consultas MYSQL? en el foro de PHP en Foros del Web. Bueno, quizás me daréis otra opción y estoy abierto a cualquiera. Mi problema: Tengo en una tabla mysql muchos artículos que debo obtener a través ...
  #1 (permalink)  
Antiguo 05/02/2015, 12:55
 
Fecha de Ingreso: noviembre-2007
Mensajes: 90
Antigüedad: 16 años, 5 meses
Puntos: 0
¿Cómo realizar en PHP varias consultas MYSQL?

Bueno, quizás me daréis otra opción y estoy abierto a cualquiera.

Mi problema:
Tengo en una tabla mysql muchos artículos que debo obtener a través de una columna fecha (la cual es del tipo texto.. si.. texto y no me dejan modificarlo) y las fechas de tipo texto son "14/10/2014", "20/11/2014", ect..

Entonces le paso a una función la cual realiza una consulta select, 4 parámetros (dia_inicial, mes_inicial, dia_final, mes_final) y con ese rango intento sacar todos los registro que estén dentro de esta fecha.

Sé que between podría pero al ser texto no me lo realiza bien la consulta.

Mi solución:(Que no funciona pero os podría dar una idea)

Código PHP:
public function cojeDatos($tabla,$dia1,$mes1,$dia2,$mes2){
        
$resultado=array();
        
$dias=$dia2-$dia1//Suponiendo que sea el mismo mes y el segundo día sea mayor, ya iré modificándolo.
        
for($a=0;$a<=$dias;$a++){
            
$query $this->db->query('SELECT fechaalbaran, descripcionarticulo, count(descripcionarticulo) AS cantidad FROM '.$tabla.' WHERE fechaalbaran LIKE "'.$dia1.'/'.$mes1.'/2014" GROUP BY descripcionarticulo ORDER BY count(descripcionarticulo) DESC');
            
$resultado array_merge($resultado$query);
            
$dia1++;
        }
return 
$resultado->result();             

¿Alguna propuesta, idea o arreglo?
  #2 (permalink)  
Antiguo 05/02/2015, 13:22
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ¿Cómo realizar en PHP varias consultas MYSQL?

Si de verdad no puedes cambiar el tipo de dato en la BD, podrías hacer un CAST.

Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE CAST(campoFecha AS DATE) BETWEEN...

Esto ya no tiene nada que ver con PHP sino con MySQL.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 06/02/2015, 03:02
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ¿Cómo realizar en PHP varias consultas MYSQL?

Yo cambiaria unas cuantas cosas...

Por ejemplo, en vez de
Código PHP:
cojeDatos($tabla,$dia1,$mes1,$dia2,$mes2){ 
Usaria
Código PHP:
cojeDatos($tabla,$fecha_inicio,$fecha_fin){ 
Menos parámetros, y te servirá para el 2015 tb.. .;)

Despues, convertiria la fecha que le pasas "dd/mm/YYYY" a una estandar (el formato de xx/xx/xxxx es americano o ingles, y se lee como mm/dd/yyyy!!!). Por ejemplo, cambiale los / por - (dd-mm-YYYY). A eso le metes un strtotime, y ya tienes la fecha en segundos, y puedes hacer el bucle con ella...

Por ejemplo:
Código PHP:
cojeDatos($tabla,$fecha_inicio,$fecha_fin){ 
 
$resultado=array(); 
$fecha_inicio strtotimestr_replace('/''-'$fecha_inicio) );
$fecha_finstrtotimestr_replace('/''-'$fecha_fin) );
for(
$a $fecha_inicio$a <= $fecha_fin$a += (60*60*24) ) { //Le sumamos 1 día a $a
    
$query $this->db->query('SELECT fechaalbaran, descripcionarticulo, count(descripcionarticulo) AS cantidad FROM '.$tabla.' WHERE fechaalbaran = "'.date("d/m/Y"$a).'" GROUP BY descripcionarticulo ORDER BY count(descripcionarticulo) DESC');
    .......

Así la has "simplificado" un poco... ahora te queda obtener esos datos y guardarlos ;)

Comprueba que la query sea correcta ;)

Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 06/02/2015, 06:03
 
Fecha de Ingreso: noviembre-2007
Mensajes: 90
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: ¿Cómo realizar en PHP varias consultas MYSQL?

Gracias, en ese caso me voy al foro de MYSQL, esa sentencia tiene mucho sentido pero no me termina de funcionar.

Etiquetas: fecha, mysql, registro, select, tabla
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:23.