es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

creando JSON con datos de la base de datos MySQL y datos variables

Tengo datos de una base de datos MySQL y datos de un archivo base64 fuera de la base de datos.
Quiero combinarlos para tener un solo JSON con ambos.

$PaFile ="JVBERi0xLjcKMS.....";
$NaFile ="JVBERi0xLjvvm.....";
$sqlRun = mysqli_query($conn, "SELECT laimCode, laimYear, laimMonth FROM laim_folio");
$row = mysqli_fetch_assoc($sqlRun);
$json_array[] = $row;
$jasondata = json_encode($json_array[]);

Lo que espero como resultado es

[{
"laimCode": "1234",
"laimYear": "2021",
"laimMonth": "11",
"PaFile": "JVBERi0xLjcKMS.....",
"NaFile": "JVBERi0xLjvvm....."
}]

Si coloco estas dos variables en SQL como una columna estática con valor, puedo obtener el resultado que deseo.
Pero ¿hay alguna forma de combinarlos fuera de SQL?
Como extender el array con dos campos adicionales y luego convertirlo a JSON.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes combinar los datos de MySQL y los datos de archivo en base64 fuera de SQL creando un arreglo asociativo y luego codificándolo a JSON. Aquí tienes un ejemplo de código para lograr esto:

    $PaFile="JVBERi0xLjcKMS.....";
    $NaFile="JVBERi0xLjvvm.....";
    $sqlRun = mysqli_query($conn, "SELECT laimCode, laimYear, laimMonth FROM laim_folio");
    $row = mysqli_fetch_assoc($sqlRun);
    
    // Crear el arreglo asociativo
    $json_array = array(
      "laimCode" => $row["laimCode"],
      "laimYear" => $row["laimYear"],
      "laimMonth" => $row["laimMonth"],
      "PaFile" => $PaFile,
      "NaFile" => $NaFile
    );
    
    // Codificar el arreglo a JSON
    $jasondata = json_encode(array($json_array));
    

    Este código crea un arreglo asociativo con los datos de MySQL y los datos de archivo en base64 como pares clave-valor. Luego codifica el arreglo a JSON utilizando json_encode(). Los datos JSON resultantes combinarán tanto los datos de MySQL como los datos en base64 en un solo objeto.

Comments are closed.