Foros del Web » Programando para Internet » PHP »

Valores de MySQL/PHP en Javascript JSON

Estas en el tema de Valores de MySQL/PHP en Javascript JSON en el foro de PHP en Foros del Web. Hola chicos, Pues estoy casi arrancandome los pelos por esta situación que realmente no hallo como por donde atacarla. Les cuento, tengo un archivo .php ...
  #1 (permalink)  
Antiguo 09/05/2014, 09:26
 
Fecha de Ingreso: julio-2010
Mensajes: 38
Antigüedad: 13 años, 9 meses
Puntos: 0
Valores de MySQL/PHP en Javascript JSON

Hola chicos,

Pues estoy casi arrancandome los pelos por esta situación que realmente no hallo como por donde atacarla.

Les cuento, tengo un archivo .php (connect.php), de donde hago una consulta en MySQL y quiero pasar ese archivo a otro archivo (prueba.php) para allí ocuparlo en un script que tengo. Lo que pasa esq el php si hace el encode y todo, y al imprimirlo, si impirme el array, el problema esq no lo está recibiendo en la otra página, y por lo mismo no logro desplegarlos de ninguna manera (OJO: es un array con varios objetos JSON).

Aquí pongo los códigos que he estado ocupando:

connect.php
Código:
<?php
mysql_connect('localhost', 'root', '') or die (mysql_error());
mysql_select_db('dbexample') or die (mysql_error());
$data = mysql_query("SELECT * FROM lugares") 
or die(mysql_error()); 
$arr = array();
while ($obj = mysql_fetch_object($data)) {
   $arr[] = array('latt' => $obj->latt,
               'lng' => $obj->long,
               'nombre' => $obj->nombre,
               'direccion' => $obj->direccion,
    );
 }
 echo '{"users":'.json_encode($arr).'}';
 ?>
prueba.php

Código:
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
		<html xmlns="http://www.w3.org/1999/xhtml">
		<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script src="js/jquery.min.js"></script>
		 <script type="text/javascript">
		$(document).ready(function(){
		  $.ajax({
				type: "POST",
				url:"connect.php",
				dataType: "json",
				async: true,
				success: function(datos){
					var dataJson = $.parseJSON(datos);
					for(var i in dataJson){
                    alert(dataJson[i].users.latt + " _ " + dataJson[i].users.lng + " _ " + dataJson[i].users.nombre);
                },

				},
				error: function (obj, error, objError){
					//avisar que ocurrió un error
				}
		});
		});
    </script>
		</head>
		 
		<body>
		<p>Super freak</p>
		</body>
		</html>
Cualquier ayuda, cualquiera.. será muy bien recibida y agradecida.

Gracias,
Saludos!
  #2 (permalink)  
Antiguo 09/05/2014, 10:12
 
Fecha de Ingreso: noviembre-2010
Ubicación: en las nubes
Mensajes: 56
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Valores de MySQL/PHP en Javascript JSON

hola que tal, te dejo un codigo como yo manejo ajax con jquery y json

Código Javascript:
Ver original
  1. $.ajax({
  2.         url: "class/dominio/buscarcliente.php",
  3.         type: "POST",
  4.         data: { clave: $("#clave").val() }
  5.         }).done(function(msg) {
  6.                 var obj = jQuery.parseJSON(msg);
  7.                 if(obj.nombre==null){
  8.                     $("#dato").html("<b>CLIENTE NO LOCALIZADO </b>");
  9.                     $("#dato").addClass("ui-state-error-text")
  10.                     return;
  11.                 }
  12.                 $("#dato").removeClass("ui-state-error-text")
  13.                 $("#dato").html("<b>"+ obj.nombre +"</b>");
  14.                 $("#precio5").val(obj.precio5);
  15.                 $("#precio25").val(obj.precio25);
  16.             });
veras unas diferencias, yo no uso dataType: "json", async: true y uso done aun que es lo mismo que success, pero lo indico de diferente manera mas como un método que un parámetroy bueno tambien inicializo jquery con $(function(){}); en lugar de $(document).ready(function(){}) esas son las diferencias que ver , pero asi me ha funcionado hasta hora y sin problemas. igual seria bueno colocar un alert para ver si esta esta regresando los valores correctamente
suerte
__________________
la mejor soluciones no es la mas complicada, si no con la mejor ingenio
  #3 (permalink)  
Antiguo 09/05/2014, 10:25
 
Fecha de Ingreso: julio-2010
Mensajes: 38
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Valores de MySQL/PHP en Javascript JSON

Es solo 1 valor el q regresas vdd? Esq yo quiero regresar varios, supongo un for funcionaría?

Otra cosa, el #clave para q se usa? o el #dato? Los envías en tu otra clase? el url es de la clase de donde estás exportando? o el nombre de la clase donde está el $.ajax?

Slaudos y muchísimas gracias!
  #4 (permalink)  
Antiguo 09/05/2014, 10:48
 
Fecha de Ingreso: noviembre-2010
Ubicación: en las nubes
Mensajes: 56
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Valores de MySQL/PHP en Javascript JSON

Código Javascript:
Ver original
  1. $("#dato").html("<b>CLIENTE NO LOCALIZADO </b>");
es un div para mostrar datos del mi cliente y
Código Javascript:
Ver original
  1. clave: $("#clave").val()
es un texbox donde capturo la clave de mi cliente y si, debes tener un for si son varios campos

Código Javascript:
Ver original
  1. $(function(){
  2.                 $( "#txtFechaInicial, #txtFechaFinal" ).datepicker({ dateFormat: "yy-mm-dd" });
  3.                 $("#btnMostrar").click(function(){
  4.                     $("#Table tbody").empty();
  5.                     $("#Table tbody").append("<tr></tr>")
  6.                     $.LoadData($("#Table"),true,true);
  7.                     $.ajax({type:"POST",url:"class/dominio/cargarHinvext.php",data:{"fechainicial":$("#txtFechaInicial").val(),"fechafinal":$("#txtFechaFinal").val()}}).success(function(msg){
  8.                         var obj = jQuery.parseJSON(msg);
  9.                     for(var i=0;i<obj.length;i++){
  10.                         for(var j=0;j<obj[i].length;j++){
  11.                             $("#Table tr:last").append("<td>"+obj[i][j]+"</td>")
  12.                         }
  13.                         $("#Table").append("<tr></tr>")}
  14.                         $.LoadData($("#Table"),false);
  15.                     })
  16.                 });
  17.             });

te dejo un codigo donde cargo dinamicamente una tabla haciendo una consulta de fechas
__________________
la mejor soluciones no es la mas complicada, si no con la mejor ingenio
  #5 (permalink)  
Antiguo 12/05/2014, 14:47
 
Fecha de Ingreso: julio-2010
Mensajes: 38
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Valores de MySQL/PHP en Javascript JSON

Ok, cambié el enfoque y demás y nada, siguen sin desplegarlo.. ya leí tu ejemplo y lo apliqué y en algo estoy fallando miserablemente. Estoy a punto de arrancarme los pelos de la cabeza.

Muestro mi avance al momento.

connect.php
Código:
<?php
$link = mysql_pconnect("localhost", "root", "") or die("Could not connect");
mysql_select_db("porveracruz") or die("Could not select database");
 
$arr = array();
 
$rs = mysql_query("SELECT * FROM lugares");
 
while($obj = mysql_fetch_object($rs)) {
$arr[] = $obj;
}
echo '{"lugar":'.json_encode($arr).'}';
?>
prueba.html
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery PHP Json Response</title>
<style type="text/css">
div
{
text-align:center;
padding:10px;
}
 
#msg {
width: 500px;
margin: 0px auto;
}
.lugar {
width: 500px ;
background-color: beige;
}
</style>
</head>
<body>
<div id="msg">
<table id="userdata" border="1">
<thead>
<th>Id</th>
<th>First Name</th>
<th>Surname</th>
<th>Title</th> 
</thead>
<tbody></tbody>
</table>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script type="text/javascript">
 
$(document).ready(function(){
var url="connect.php";
$("#userdata tbody").html("");
$.getJSON(url,function(data){
$.each(data.lugar, function(i,user){
var tblRow =
"<tr>"
+"<td>"+user.latt+"</td>"
+"<td>"+user.long+"</td>"
+"<td>"+user.nombre+"</td>"
+"<td>"+user.direccion+"</td>"
+"</tr>" ;
$(tblRow).appendTo("#userdata tbody");
});
});
});
 
</script>
</body>
</html>
Cualquier cosa, me ayudaría en este momento.

Etiquetas: html, javascript, json, mysql, mysql-php, select, sql
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 14:06.