Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2011, 07:03
Avatar de SirDuque
SirDuque
 
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Modificar codigo [Json]

Hola chicos saque un codigo del Foro y me resulto muy util...
Ahora quiero jugar un poquito con el pero no entiendo la logica de Zend y queria pedirles ayuda.

Este codigo realiza un mysql_fetch_assoc y devuelve todos los datos de la tabla por el SELECT * FROM .

Luego en Javascript/Jquery utilizo lo que necesito.

Aqui el tutorial de GatorV: http://www.forosdelweb.com/f127/tuto...mework-724944/

Quiero utillizar el mismo metodo pero quiero que devuelva unos resultados que tengo definidos en mi class

Aqui el codigo que utiliza zend:

Código PHP:
// Establecemos el Path a las librerias de Zend Framework
set_include_path(get_include_path(). PATH_SEPARATOR 'C:\Zend\library');
 
// Registramos el Autoloader para evitar cargar todas las clases manualmente
require 'Zend/Loader/Autoloader.php';
$autoloader Zend_Loader_Autoloader::getInstance();
 
// Establecemos los datos de conexion
$dbSettings = array(
    
'host'     => 'localhost',
    
'username' => 'root',
    
'password' => '',
    
'dbname'   => 'test'
);
 
// Creamos una instancia de Zend_Db_Adapter_*
$db Zend_Db::factory('Pdo_Mysql'$dbSettings);
 
// Preparamos un array para la respuesta
$response = array();
 
// Obtenemos el ID de usuario desde POST
$UsuarioID = (int) $_POST['usuario_id'];
 
// Comprobamos que hayan datos
if ($UsuarioID <= 0) {
    
$response['error'] = 'El parámetro UsuarioID es incorrecto';
}
 
// Generamos el Select y extraemos los datos
$select $db->select();
$select->from('usuario''*')->where('usuario_id=?'$UsuarioID);
$db->setFetchMode(Zend_Db::FETCH_ASSOC);
$userData $db->fetchRow($select);
 
// Si fue encontrado agregamos los datos si no mostramos un error
if ($userData === false) {
    
$response['error'] = 'El usuario no fue encontrado';
} else {
    
$response['data'] = $userData;
    
$response['error'] = 'ok';
}
 
// Enviamos la respuesta de regreso al script
header('Content-type: text/plain');
echo 
json_encode($response); 

Basicamente todo lo que respecta a la conexion y mysql no me sirve por lo tanto lo eliminaria.

Me quedaria esto:

Código PHP:
Ver original
  1. // Establecemos el Path a las librerias de Zend Framework
  2. set_include_path(get_include_path(). PATH_SEPARATOR . 'C:\Zend\library');
  3.  
  4. // Registramos el Autoloader para evitar cargar todas las clases manualmente
  5. require 'Zend/Loader/Autoloader.php';
  6. $autoloader = Zend_Loader_Autoloader::getInstance();
  7.  
  8.  
  9. // Preparamos un array para la respuesta
  10. $response = array();
  11.  
  12. // Obtenemos el ID de usuario desde POST
  13. $UsuarioID = (int) $_POST['usuario_id'];
  14.  
  15. // Comprobamos que hayan datos
  16. if ($UsuarioID <= 0) {
  17.     $response['error'] = 'El parámetro UsuarioID es incorrecto';
  18. }
  19.  
  20. // Generamos el Select y extraemos los datos
  21. $userData = $db->fetchRow($select);
  22.  
  23. // Si fue encontrado agregamos los datos si no mostramos un error
  24. if ($userData === false) {
  25.     $response['error'] = 'El usuario no fue encontrado';
  26. } else {
  27.     $response['data'] = $userData;
  28.     $response['error'] = 'ok';
  29. }
  30.  
  31. // Enviamos la respuesta de regreso al script
  32. header('Content-type: text/plain');
  33. echo json_encode($response);

En la linea 21
Código PHP:
$userData $db->fetchRow($select); 
$userData contiene los valores que despues con JQuery voy a utilizar.
AHORA:
Nunca definen $userData como array.

El contenidode $userData tendria que tener $saldo1 y $saldo2:

Código PHP:
$deuda    =    new DedudaSocio;
$deuda2=    $deuda    ->    datoDedudaSocio("$codigo","$periodo");
$saldo1=     $deuda    ->    SaldoPeriodo(0);
$saldo2=     $deuda    ->    SaldoPeriodo(1); 
¿Como tengo que editar esa linea?


NOTA: Ya se que datoDeudaSocio() tiene dos variables y por AJAX recibo una, eso se editar.
__________________
Mono programando!
twitter.com/eguimariano

Última edición por SirDuque; 27/10/2011 a las 07:39