Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO crear archivo json con php

Estas en el tema de crear archivo json con php en el foro de PHP en Foros del Web. Hola a todos espero que me puedan ayudar ya que he tratado de solucionar este problema pero no he podido. estoy tratando de crear un ...
  #1 (permalink)  
Antiguo 04/11/2015, 17:41
 
Fecha de Ingreso: octubre-2013
Mensajes: 10
Antigüedad: 10 años, 6 meses
Puntos: 0
Busqueda crear archivo json con php

Hola a todos espero que me puedan ayudar ya que he tratado de solucionar este problema pero no he podido.

estoy tratando de crear un archivo Json a partir de datos obtenidos de una base de datos MySQL, pero no funciona. se crea el archivo pero vacio.



base de datos





codigo

Código PHP:
Ver original
  1. $con = mysqli_connect("localhost", "root", "", "regiones");
  2.     printf("Connect failed: %s\n", mysqli_connect_error());
  3.     exit();
  4. }
  5.  
  6. $query = "SELECT * FROM  regiones";
  7. $result = mysqli_query($con,$query);
  8.  
  9. $response = array();
  10. while($row = mysqli_fetch_array($result))
  11.   {
  12.       $nombre=$row['region_nombre'];
  13.       $ordinal=$row['region_ordinal'];
  14.       $res= array('nombre'=>$nombre, 'numero'=>$ordinal);
  15.       array_push($response, $res);
  16.   }
  17.      
  18.  
  19.  
  20.   $json_string = json_encode($response);
  21.   echo $json_string;
  22.  
  23.  echo json_last_error() ;
  24.  
  25.  
  26. $file = 'bootstrap_fill.json';
  27. file_put_contents($file, $json_string);

Última edición por mchirino; 04/11/2015 a las 18:21
  #2 (permalink)  
Antiguo 05/11/2015, 07:03
 
Fecha de Ingreso: octubre-2013
Mensajes: 10
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: crear archivo json con php

encontré la solución, era el tipo de codificación de la base de datos tiene que ser utf8 y la que yo tenia era utf8_general

utilice este comando utf8_decode($row['region_nombre']);
para codificar a utf8 antes de hacer el traspaso de los valores desde la base de datos.

ahora funciona



Código PHP:
Ver original
  1. <?php
  2.  
  3. $con = mysqli_connect("localhost", "root", "", "regiones");
  4.     printf("Connect failed: %s\n", mysqli_connect_error());
  5.     exit();
  6. }
  7.  
  8. $query = "SELECT * FROM  regiones";
  9. $result = mysqli_query($con,$query);
  10.  
  11. $response = array();
  12. while($row = mysqli_fetch_assoc($result))
  13.   {
  14.     $row_array['nombre_region']  = utf8_decode($row['region_nombre']);
  15.     //$row_array['ordinal_region']  = utf8_decode($row['ordinal_region']);
  16.     array_push ($response, $row_array);
  17.    // $response[] = $row;
  18.   }
  19.  
  20.  
  21. $json_string = json_encode($response);
  22.  
  23.  
  24. echo json_last_error() ;
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. $file = 'bootstrap_fill.json';
  32. file_put_contents($file, $json_string);
  33. /*
  34. @header('Location:bootstrap_data.php');*/
  35.  
  36. ?>

Etiquetas: json, mysql, select
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 08:32.