Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/02/2013, 20:45
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: agregar datos a un arreglo json

Hola informacionsys gracias por tu ejemplo, en cuanto tenga un chance lo pruebo

No se me habia atrevido a hacer una consultota, jeje aunque creo que es mas practico así que cambiar radicalmente el código que ya tengo.

Triby probe con la consulta pero tengo problemas (la tabla que consulto tiene 41 registros),

- me sale el total de registros (31) de la tabla, lo que es correcto ya que hay registros que no cumplen con el where.
- pero me sale repetido el segundo registro las 31 veces..

:S

Cambie por el LEFT JOIN y así me sale repetido el primer registro las 31 veces.

De hecho no se usar mucho left join-join por eso mi primer opcion era obtener los valores en consultas sepadas, pero creo que lo correcto es hacer todo en la misma consulta no?

lo que si se es que se supone que no deberia haber campos vacios o que no existan en las tablas, pero no tengo idea por que se esta ejecutando con este resultado la consulta, que crees que podra ser?

consulta:
Código MySQL:
Ver original
  1. $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
  2. $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
  3. $offset = ($page-1)*$rows;
  4. $result = array();
  5.  
  6. $q = isset($_POST['q']) ? strval($_POST['q']) : '';
  7.    
  8. $rs = mysql_query("select count(*) from t_usuarios where status='' and (nombre LIKE '%$q%' OR matricula LIKE '%$q%')");
  9. $row = mysql_fetch_row($rs);//or die(mysql_error())
  10. $result["total"] = $row[0];
  11.  
  12. $query = "select t_u.*, t_edo.nombre as nestado, t_ciu.nombre as nciudad, t_mun.nombre_municipio as nmunicipio";
  13. $query .= " from t_usuarios t_u";
  14. $query .= " LEFT JOIN t_estados t_edo on t_edo.estado = t_u.estado";
  15. $query .= " LEFT JOIN t_estados t_ciu on t_ciu.ciudad = t_u.ciudad";
  16. $query .= " LEFT JOIN t_municipio t_mun on t_mun.municipio = t_u.municipio";
  17. $query .= " where t_u.status='' and (t_u.nombre LIKE '%$q%' OR t_u.matricula LIKE '%$q%') limit $offset,$rows";
  18.  
  19. $rs = mysql_query($query);

gracias por la ayuda