Foros del Web » Programando para Internet » PHP »

sprintf()

Estas en el tema de sprintf() en el foro de PHP en Foros del Web. Código PHP:      public function  filtro ( $CBO_PROD_CODI , $TXT_MOVI_NDOC , $ALMA_CODI ) {         if ( $CBO_PROD_CODI  !=  'Seleccione'  && empty ( $TXT_MOVI_NDOC )){              $query  =  sprintf ( "SELECT dm.MOVI_CODI, dm.PROD_CODI, dm.DMOV_SINI, dm.DMOV_INGR, dm.DMOV_SALI, dm.DMOV_SFIN, ...
  #1 (permalink)  
Antiguo 04/09/2011, 22:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 11 años, 2 meses
Puntos: 7
sprintf()

Código PHP:
    public function filtro($CBO_PROD_CODI,$TXT_MOVI_NDOC,$ALMA_CODI) {
        if (
$CBO_PROD_CODI != 'Seleccione' && empty ($TXT_MOVI_NDOC)){
            
$query sprintf("SELECT dm.MOVI_CODI, dm.PROD_CODI, dm.DMOV_SINI, dm.DMOV_INGR, dm.DMOV_SALI, dm.DMOV_SFIN,
                                  p.PROD_NOMB, u.UMED_NOMB,td.TDOC_NOMB, us.USUA_NOMU,
                                  DATE_FORMAT(m.MOVI_FECH,'%d/%m/%Y') as MOVI_FECH,m.MOVI_NDOC, m.MOVI_FVAL
                                  FROM "
.$this->tabla." dm
                                  INNER JOIN "
.$this->tabla2." p ON dm.PROD_CODI = p.PROD_CODI 
                                  INNER JOIN "
.$this->tabla3." u ON p.UMED_CODI = u.UMED_CODI 
                                  INNER JOIN "
.$this->tabla4." m ON m.MOVI_CODI = dm.MOVI_CODI
                                  INNER JOIN "
.$this->tabla5." td ON td.TDOC_CODI = m.TDOC_CODI
                                  INNER JOIN "
.$this->tabla6." us ON us.USUA_CODI = m.USUA_CODI
                                  WHERE dm.PROD_CODI = ('%s')    
                                  AND m.ALMA_CODI = ('%s')    
                                  AND date(m.MOVI_FECH) = curdate()
                                  ORDER BY m.MOVI_CODI ASC
                                  "
,$CBO_PROD_CODI,$ALMA_CODI);
        }
              
        
$_SESSION["ConsultaProductos"]=$query;
        
$result mysql_query($query);
        
$output = array();
        while (
$row mysql_fetch_object($result)) $output []= $row;
        return 
$output;
    } 

me sale el error siguiente

Warning: sprintf() [function.sprintf]: Too few arguments in I:\xampp\htdocs\CSTO\models\DetalleMovimientos.php on line 192
  #2 (permalink)  
Antiguo 04/09/2011, 22:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 11 años, 2 meses
Puntos: 7
Respuesta: sprintf()

lo que quiero hacer es almacenar la consulta en una sesion, ojo la consulta, no el resultado de esta.
  #3 (permalink)  
Antiguo 04/09/2011, 22:37
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 10 meses
Puntos: 793
Respuesta: sprintf()

Esta parte hace conflicto por la %d

DATE_FORMAT(m.MOVI_FECH,'%d/%m/%Y')
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 04/09/2011, 22:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 11 años, 2 meses
Puntos: 7
Respuesta: sprintf()

('%s') -> para producto
('%s') -> para almacen

no esta bien asi?
  #5 (permalink)  
Antiguo 04/09/2011, 22:42
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 10 meses
Puntos: 793
Respuesta: sprintf()

Si esos están bien pero en el formato de la fecha tienes una %d

Cita:
%d - el argumento es tratado como un integer y presentado como un número decimal (con signo).
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 04/09/2011, 22:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 11 años, 2 meses
Puntos: 7
Respuesta: sprintf()

se soluciona poniendo asi solamente d/m/Y ... sin el % ????
  #7 (permalink)  
Antiguo 04/09/2011, 22:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 10 meses
Puntos: 793
Respuesta: sprintf()

Así no te funcionaría la consulta SQL, debes escapar los signos ejemplo:

%%d/%%m/%%Y
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: mysql, 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 15:07.