entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

imprimir consulta SQL en PHP para procesarla en un JS

Hola a todos, resulta que quiero imprimir el query en PHP en forma de array y poder asociarlo en un js que me trae una tabla, pongo pedazo de mi codigo JS

function procesarfiltro1(filtro1){
     alert("hola"); 
   // $('#messageOK').hide();

    //var project = document.getElementById("sel_project_name").value;
    var ServiceUrl = "test.php";

alert(ServiceUrl);
   // $("#tbodyProjects tr").remove();

    var table = $('#sample_1').DataTable({
        responsive: true,
        retrieve: true
        //lengthMenu: [[50], [50]],
        //"language": {
        //    "info": ""
       // }
    });
    table.clear();
    $.ajax({
        url: ServiceUrl,

        success: function (data) {
         //   var html = "";
            $.each(data, function (i, d) {                                  

                table.row.add([d.campo1, d.campo2, d.total])

            })
            table.draw();
          //  $("#tbodyProjects").append(html);
            //$('#tblProjects').DataTable({
            //    retrieve: true,
            //    paging: false
            //});
            //$('#tbsubactivities').DataTable({
            //    responsive: true,
            //    "retrieve": true,
            //    "lengthMenu": [[50], [50]],
            //});

        },
        error: function (xhr, status, statusText) {
            alert("No matching records found ");
            // $('#messageError').show();
            console.log('An error occurred');
        }
    });
}

pero quiero hacer que mi php me traiga algo asi

{campo1: org1, campo2:pais1,total:2}

codigo:
PHP

sqlUpd="exec [OM_test].[dbo].[OM_HC_Ev]  '4','',''";
 $res=odbc_exec($connection,$sqlUpd);
//print $sqlUpd;
while(odbc_fetch_row($res)){
 /// aqui mandar a imprimir de alguna manera que llegue a lo que puse abajo
}

///
o como este otro ejemplo que encontré

var persona = [
  persona1 = {"nombre": "Luis","Edad": "32"},
  persona2 = {"nombre": "Marcos","Edad": "15"},
]

por favor si alguien me puede ayudar se los agradeceré mucho, en cuanto tenga la solución si la encuentro yo primero la traeré como siempre para compartirla, muchas gracias de antemano.

2 Respuestas

2votos

rach Puntos5570

Por si alguien lo ocupa lo hice de esta manera el php y me sale exactamente como lo necesito

<?php 
header('Content-Type: application/json');//cabecera json
include ("../conexion/connection.php");

$sqlUpd="exec [OM_test].[dbo].[OM_HC_Ev]  '4','',''";
$res=odbc_exec($connection,$sqlUpd);
$result = array(); 

while ($row = odbc_fetch_array($res))
{
 array_push($result, $row);
} 

echo json_encode($result);
?>

Peter comentado Feb 7

Gracias por compartir la solución!

Saludos.

2votos

Leonardo-Tadei Puntos223480

Hola @rach,

lo que tenés que hacer es generar la salida que te hace falta en el propio script PHP...

Para tu segundo ejemplo, pero sin saber los nombre de los campos que devuelve la query, sería:

sqlUpd="exec [OM_test].[dbo].[OM_HC_Ev]  '4','',''";
 $res=odbc_exec($connection,$sqlUpd);
//print $sqlUpd;
$i=1; // contador para el nombre
// Principio del vector JS
print('var persona = [');
while(odbc_fetch_row($res)){
  $nom = $res['nombre'];
  $edad= $res['edad'];
  print("persona$i = {\"nombre\":\"$nom\",\"Edad\":\"$edad\" },");
  $i++;
}
// Fin del vector JS
print(']');

En resumen, generás el array JavaScript como si lo estuvieras escribiendo, pero programáticamente... el JS que espera la respuesta espera algo en Java Script Object Notation (JSON) y un vector es eso... luego tenés que usarlo para algo en el JavaScript, pero eso es otra cosa.

Saludos cordiales

rach comentado Feb 7

muchas gracias por tu respuesta, yo seguí investigando y ya había encontrado la solución que compartí con ustedes en la parte de arriba, igual funciona trayéndome el json.. Saludos

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

  • carlossevi ganó una medalla hace 8 horas

    Buena Respuesta - Recibió +1 votos en respuesta
  • matrixmar8 ganó una medalla hace 1 día

    Club de los 100 - Recibió un total de 100 puntos
  • matrixmar8 ganó una medalla hace 1 día

    Humano Verificado - Verificó su email
  • JoseVillalta ganó una medalla hace 2 días

    Club de los 100 - Recibió un total de 100 puntos
  • JoseVillalta ganó una medalla hace 2 días

    Humano Verificado - Verificó su email
  • Tammya ganó una medalla hace 2 días

    Club de los 100 - Recibió un total de 100 puntos
  • Tammya ganó una medalla hace 2 días

    Humano Verificado - Verificó su email
  • edu_botero ganó una medalla hace 2 días

    Fotogénico - Subió un avatar
  • edu_botero ganó una medalla hace 2 días

    Club de los 100 - Recibió un total de 100 puntos
...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta