elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Generar JSON desde una tabla en MYSQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Generar JSON desde una tabla en MYSQL  (Leído 5,255 veces)
Brian1511

Desconectado Desconectado

Mensajes: 268


¿Quien soy esa es la gran pregunta?


Ver Perfil WWW
Generar JSON desde una tabla en MYSQL
« en: 21 Marzo 2023, 05:56 am »

Hola a todos un cordial saludo, pues intento generar un archivo JSON desde una tabla en MYSQL.

Mi problema es que en una de las columnas hay otro JSON que necesito extraer pero este me lo devuelve como texto y no funciona el json_decode();

Alguien que me pueda ayudar, este es mi codigo:

Código
  1. // Crear la conexión
  2. $conn = new mysqli($servername, $username, $password, $dbname);
  3.  
  4. // Verificar la conexión
  5. if ($conn->connect_error) {
  6.    die("Conexión fallida: " . $conn->connect_error);
  7. }
  8.  
  9. function getTableDataAsJSON($tableName, $connection) {
  10.    // Eliminar caracteres extraños y convertir a utf8mb4_unicode_ci
  11.    mysqli_set_charset($connection, "utf8mb4");
  12.    mysqli_query($connection, "SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'");
  13.  
  14.    // Obtener los datos de la tabla
  15.    $result = mysqli_query($connection, "SELECT * FROM " . $tableName);
  16.  
  17.    // Crear un array con los datos
  18.    $tableData = array();
  19.    while ($row = mysqli_fetch_assoc($result)) {
  20.        // Si la fila tiene una columna llamada "json", codificar el valor como JSON
  21.        if (array_key_exists('json', $row)) {
  22.            //$string = substr($row['json'],1);
  23.            //$string = substr($row['json'],0,-1);
  24.  
  25.            $row['json'] = json_decode($row['json'], JSON_UNESCAPED_SLASHES);;
  26.            //echo $row['json'];
  27.        }
  28.        // Remover las barras invertidas innecesarias
  29.        $row = array_map(function($value) {
  30.            return stripslashes($value);
  31.        }, $row);
  32.        $tableData[] = $row;
  33.    }
  34.  
  35.    // Convertir el array a JSON sin barras invertidas adicionales
  36.    $json = json_encode($tableData, JSON_UNESCAPED_SLASHES);
  37.  
  38.    // Devolver el JSON
  39.    return stripslashes($json);
  40. }
  41.  
  42. echo getTableDataAsJson("incentives",$conn);
  43.  


En línea



Creador de BrainMind
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines