He visto preguntado muchas veces en el foro como obtener un juego de registros por AJAX, como por ejemplo los datos de un usuario y ponerlos en una pagina web sin refrescar la pagina.
 
En este tutorial vamos a ver un ejemplo básico de como hacerlo usando JQuery en el cliente, y en el server PHP con ZendFramework. 
Para empezar creamos nuestra base de datos:   
Código SQL:
Ver originalCREATE TABLE IF NOT EXISTS `usuario` (
  `usuario_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nombre` VARCHAR(30) NOT NULL,
  `telefono` VARCHAR(10) NOT NULL,
  `color_favorito` VARCHAR(20) NOT NULL,
  `pizza` tinyint(4) NOT NULL,
  PRIMARY KEY  (`usuario_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
 
INSERT INTO `usuario` (`usuario_id`, `nombre`, `telefono`, `color_favorito`, `pizza`) VALUES
(1, 'Fulanito', '123456', 'Verde', 1),
(2, 'Sutanito', '654321', 'Azul', 0);
  
Después hay que crear un script en PHP que devuelva los datos en formato JSON, para este caso vamos a usar Zend Framework para abstraer el enlace a la base de datos, adentro del código pongo los comentarios necesarios.   
Código PHP:
Ver original<?php
// Establecemos el Path a las librerias de Zend Framework
 
// 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
    'host'     => 'localhost',
    'username' => 'root',
    'password' => 'mypwd',
    'dbname'   => 'test'
);
 
// Creamos una instancia de Zend_Db_Adapter_*
$db = Zend_Db::factory('Pdo_Mysql', $dbSettings);
 
// Preparamos un array para la respuesta
 
// 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'); 
  
Posteriormente en nuestra pagina web preparamos todo para recibir los datos del servidor:   
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>   <script type="text/javascript">   function getData() {
    resetData(true);
    var usuario_id = parseInt($('#usuario_id').val());
    if (usuario_id > 0) {
        $.post('get_data.php', {usuario_id: usuario_id}, function (response) {
            if (response.error != 'ok') {
                alert(response.error);
            } else {
                var record = response.data;
                $('#nombre').val(record.nombre);
                $('#telefono').val(record.telefono);
                $('#color_favorito').val(record.color_favorito);
                if (record.pizza == "1") {
                    $('#pizza')[0].checked = true;
                }
            }
        }, 'json');
    } else {
        alert('#Por favor pon un numero mayor a 0');
    }
  }
  
  function resetData(keepUser) {
    if(keepUser != true) {
       $('#usuario_id').val('');
    }
    $('#nombre').val('');
    $('#telefono').val('');
    $('#color_favorito').val('');
    $('#pizza')[0].checked = false;
  }
  <title>Ejemplo de JQuery con JSON/Zend Framework
</title> <form action="file.php" method="post">                 <input type="text" name="usuario_id" id="usuario_id" value="" />                 <input type="button" name="get_data" value="Obtener Datos" onclick="getData();"></td>             <td><input type="text" name="nombre" id="nombre" value="" /></td>             <td><input type="text" name="telefono" id="telefono" value="" /></td>                 <select name="color_favorito" id="color_favorito">             <td>Te gusta la Pizza?
</td>             <td><input type="checkbox" value="1" name="pizza" id="pizza" /></td>                 <input type="button" name="guardar" value="Guardar" onclick="" />                 <input type="button" name="borrar" value="Limpiar" onclick="resetData(false);" /> 
  
Aquí la parte interesante es el tratar los datos de regreso con JSON, esto se hace en el callback que pasamos a $.post, que es esta parte:   
Código Javascript
:
Ver original$.post('get_data.php', {usuario_id: usuario_id}, function (response) {
            if (response.error != 'ok') {
                alert(response.error);
            } else {
                var record = response.data;
                $('#nombre').val(record.nombre);
                $('#telefono').val(record.telefono);
                $('#color_favorito').val(record.color_favorito);
                if (record.pizza == "1") {
                    $('#pizza')[0].checked = true;
                }
            }
        }, 'json');
  
Aquí le decimos a JQuery que vamos a hacer un POST al archivo get_data.php pasandole un parámetro, posteriormente en el callback leemos en var record = response.data; el registro que devolvimos desde el server y se lo asignamos a los campos del formulario. 
Espero que con este mini tutorial puedan ver como funciona el traer datos codificados en JSON y poder manipularlos en Javascript. 
Saludos