Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - EFEX

#71
Si entiendo lo que dices, solo llamar a un SP no devuelve nada. Estuve toda la tarde pensando, se me hace dificl no poder montar una vm para probar.
Otra cosa el proceso almacenado(SP) veo que tiene un solo UNION de tres SELECT, devuelve dos tablas, quizas eso sea, tambien agrege los '&' en los parametros por que me habia olvidado.. este es el codigo completo, pruebalo..

Código (php) [Seleccionar]

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$f_inicial = '01/01/'.(date("Y"));
$f_final = date("d/m/Y");
$gestora = 'pescobar';
$mes = 0;
$actual = 0;
$anterior = 0;
$crecimiento = 0;

include("seguro.php");
global $HOSTNAME, $USERNAME, $PASSWORD, $DATABASE;
$info = array('Database' => 'Adicional', 'UID' => $USERNAME, 'PWD' => $PASSWORD);
$conexion = sqlsrv_connect($HOSTNAME, $info);
if ($conexion === false) {
    die(print_r(sqlsrv_errors(), true));
}

$sql_preg = "{CALL comparar_ventas_meses(?, ?, ?)}";
$params = array(
array( &$f_inicial, SQLSRV_PARAM_IN );
array( &$f_final, SQLSRV_PARAM_IN );
array( &$gestora, SQLSRV_PARAM_IN );
);

$registros = sqlsrv_query($conexion, $sql_preg, $params);

if( $registros === false) {
    die( print_r( sqlsrv_errors(), true) );
}

$rows = sqlsrv_has_rows( $registros );

//Vemos si existen filas..
if ($rows === true) {
//Existen? cuantas?
echo 'Cant: ' . sqlsrv_num_rows( $registros ) . '</br>';
}else{
echo 'No existen datos </br>'.
}

/*
while ($id = sqlsrv_fetch_array($registros, SQLSRV_FETCH_ASSOC)) {
    echo '<pre>';
    print_r($id);
    echo '</pre>';
}
*/

//Quizas esta sea la mejor forma para un SP
do {
   while ($row = sqlsrv_fetch_array($registros)) {
       echo '<pre>';
       print_r($row);
       echo '</pre>';
   }
} while (sqlsrv_next_result($registros)); //Siguiente tabla
#72
Estoy empezando a dudar si la db esta vacia ja.

Haber la conexion lo establece y parece ser que tambien realiza la consulta, lo que dudo es que no devuelve nada por que este vacia ?.

Código (php) [Seleccionar]

$rows = sqlsrv_has_rows( $registros );

//Vemos si existen filas..
if ($rows === true) {
//Existen? cuantas?
echo 'Cant: ' . sqlsrv_num_rows( $registros ) . '</br>';
}else{
echo 'No existen datos </br>'.
}

while ($id = sqlsrv_fetch_array($registros, SQLSRV_FETCH_ASSOC)) {
    echo '<pre>';
    print_r($id);
    echo '</pre>';
}


Probaste el SP sobre MSSQL no ? te devuelve la lista de filas no? Que version de PHP y MSSQL estas.
#73
Haber si esto lo resuelve

Código (php) [Seleccionar]

...

while ($id = sqlsrv_fetch_array($registros, SQLSRV_FETCH_ASSOC)) {
    echo '<pre>';
    print_r($id);
    echo '</pre>'
}

...


#74
Los errores de php te los a mostrado antes no ? Fijate en tu archivo php.ini si es correcto el siguiente parametro

Citardisplay_errors = on

Algunos cambios, prueba y dime
Código (php) [Seleccionar]

<?php


//Solo para asegurar que los errores en php se
//muestren, luego borralo
ini_set('display_errors'1);
ini_set('display_startup_errors'1);
error_reporting(E_ALL);


$f_inicial '01/01/'.(date("Y"));
$f_final date("d/m/Y");
$gestora 'pescobar';
$mes 0;
$actual 0;
$anterior 0;
$crecimiento 0;

include(
"seguro.php");
global 
$HOSTNAME$USERNAME$PASSWORD$DATABASE;
$info = array('Database' => 'Adicional''UID' => $USERNAME'PWD' => $PASSWORD);
$conexion sqlsrv_connect($HOSTNAME$info);
if (
$conexion === false) {
    die(
print_r(sqlsrv_errors(), true));
}

//Segun varios ejemplos con mssql para SP
//vi que utilizan 'call'
$sql_preg "{CALL comparar_ventas_meses(?, ?, ?)}";

//Tambien siguiendo varios ejemplos utilizan
//arrays multimensional para definir
//parametros conjunto a una constante en
//este caso SQLSRV_PARAM_IN
$params = array(
array( $f_inicialSQLSRV_PARAM_IN );
array( $f_finalSQLSRV_PARAM_IN );
array( $gestoraSQLSRV_PARAM_IN );
);

$registros sqlsrv_query($conexion$sql_preg$params);

//No se pudo realizar la consulta, boom error
if( $registros === false) {
    die( 
print_rsqlsrv_errors(), true) );
}

//Mostrar todo lo que devuelve la consulta
//sola para ver que devuelve
echo '<pre>';
print_r($registros);
echo 
'</pre>';

while (
$id sqlsrv_fetch_array($registros)) {
    echo 
$id['actual'];
}


Si no voy a tratar de montar una maquina virtual para ver si es correcto, no tengo como probar el codigo.
#75
Siempre verifica la conexion con la db

Código (php) [Seleccionar]

...
$conexion = sqlsrv_connect($HOSTNAME, $info);

if( $conexion === false) {
    die( print_r( sqlsrv_errors(), true));
}

$sql_preg="EXEC comparar_ventas_meses ?, ?, ?";
...


sqlsrv_execute() devuelve TRUE o FALSE, utiliza sqlsrv_query() en su lugar.

http://php.net/manual/es/function.sqlsrv-execute.php#refsect1-function.sqlsrv-execute-returnvalues
#76
Creo que de esta forma se puede.. no queda bonito pero prueba

Código (sql) [Seleccionar]

SELECT COUNT( * ) AS cantidad,
 REPLACE(REPLACE(REPLACE( cond,  '1',  'Alumno' ), '2', 'Auxiliar'), '3', 'Docente') AS condicion
FROM beneficiarios
 GROUP BY cond


Mm igual puedes usar if, case o incluso crear un SP(stored procedure).

https://dev.mysql.com/doc/refman/5.7/en/if.html
https://dev.mysql.com/doc/refman/5.7/en/case.html
#77
GNU/Linux / Re: Kali Linux No Instala
6 Marzo 2018, 17:14 PM
Y que dice los logs?
#78
No, no es buena practica agregar nuevas columnas, modificar la db puede corromperla si no sabes lo que haces, ademas el formato de tiempo(YYYY/MM/DD) no es bueno para definir una columna. Lo mejor seria crear otra tabla y relacionar los datos.

Código (sql) [Seleccionar]

id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
email VARCHAR(50)
);

CREATE TABLE attend (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
user_id INT(6) UNSIGNED,                                        /* Lo relacionamos con el id del usuario */
date DATE
);


Y luego en nuestra consulta pedimos los datos ordenados como lo queramos..
Código (sql) [Seleccionar]

/* Obtener todas fechas y usuarios */
SELECT user.id, firstname, date
FROM attend
INNER JOIN user ON attend.user_id = user.id;



http://sqlfiddle.com/#!9/7307a7/1
#79
Código (javascript) [Seleccionar]

...
$.when($.ajax("verificar_captcha.php"),$.ajax("anadirevento.php"))
.then(validar12(),send());
...


Creo que el error se debe a validar12(), debe pasarse como una referencia a una funcion(validar12) en .then y como es una funcion sin argumentos siempre se cumplira la condicion.

Código (javascript) [Seleccionar]

...
.then(validar12);  //Nota que es sin los parentesis.
...


Creo que no es valido usar send() despues de validar12, segun la documentacion la sagunda funcion se reserba en caso de que alguno de las peticiones ajax no pudieron realizarse.

Ademas, deberias plantear si de verdad necesitas un captcha, por que estas tratando de validar el captcha pero a la vez subes la consulta, osea que el captcha no sirve para nada. Fijate en la consola, F12 > Network, veras como se disparan las dos consultas ajax cuando apretas el boton. Deberias ser.. verificar campos vacios > verificar captcha > añadir evento.
#80
Desarrollo Web / Re: SELECT en Android
5 Marzo 2018, 16:58 PM
Prueba con appearance..

https://css-tricks.com/almanac/properties/a/appearance/

Código (css) [Seleccionar]

.boton {
   -webkit-appearance: menulist;
   -moz-appearance:    menulist;
   appearance:            menulist;
}


Si no, seria utilizar una libreria que reemplaze <select>.