Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Extraer datos con json_decode

Estas en el tema de Extraer datos con json_decode en el foro de PHP en Foros del Web. Hola y buenas Trato de extraer datos de un Array que me envio de un JQuery por Ajax Lo que me envio por medio de ...
  #1 (permalink)  
Antiguo 03/07/2015, 23:52
 
Fecha de Ingreso: junio-2015
Ubicación: Venezuela
Mensajes: 6
Antigüedad: 8 años, 9 meses
Puntos: 0
Extraer datos con json_decode

Hola y buenas

Trato de extraer datos de un Array que me envio de un JQuery por Ajax

Lo que me envio por medio de POST

Código:
 
[{"Codigo":"D1092-7997","Cantidad":"5"},{"Codigo":"D1184-7123","Cantidad":"2"},{"Codigo":"D1712-1795","Cantidad":"15"},{"Codigo":"D52-728","Cantidad":"27"},{"Codigo":"D152-7070","Cantidad":"100"}]
Lo que tengo en php

Código PHP:
<?php

$jsonData 
$_POST['data'];
$phpArray json_decode($jsonDatatrue);

foreach (
$phpArray as $key => $value) { 
    
    foreach (
$value as $Codigo => $Cantidad) { 
    
    
$dev =  $dev .  " $Codigo : $Cantidad "  
 
    } 
}


echo 
$dev;


?>

Lo que obtengo
Código:
Codigo : D1092-7997 Cantidad : 5 Codigo : D1184-7123 Cantidad : 2 Codigo : D1712-1795 Cantidad : 15 Codigo : D52-728 Cantidad : 27 Codigo : D152-7070 Cantidad : 100

Como hago para poder ordenar de esta forma :





Ayuda por favor...!!
  #2 (permalink)  
Antiguo 04/07/2015, 06:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraer datos con json_decode

Cita:
Como hago para poder ordenar de esta forma :
Para eso necesitas ir imprimiendo tus datos en una tabla de HTML, nada del otro mundo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/07/2015, 18:30
 
Fecha de Ingreso: junio-2015
Ubicación: Venezuela
Mensajes: 6
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Extraer datos con json_decode

Hola pateketrueke

Entiendo para ti sera facil, pero para otros, es muy dificil...

Entiendo un poco el lenguaje de programacion, pues lo hago con VB y VBA (Pero creeme son dos mundo distintos y solo se parecen en la logica)

Mas sin embargo he logrado con tu ayuda sacar adelante el problema, exactamente debia armar el html

Código PHP:
<?php
// tomamos el array enviado por ajax
$jsonData $_POST['data'];
// decoficamos el array con json
$phpArray json_decode($jsonDatatrue);
// extraigo
foreach ($phpArray as $key => $value) { 
      
// por cada key construyo el campo tbdoy html de la tabla
    
$dev "<tr>" ;
     foreach (
$value as $titulo => $valor) {  
     
// le voy agregando lo que he enviado por ajax y filtrado por jquery
    
$dev  =   $dev .  "<td>$valor</td>"  
    } 
    
// alamceno en una variable y concateno para terminar el arreglo de la tabla
    
$dev  =   $dev "</tr>";
       
// termino de concatenar la variable que me almaceno todo el html de la tabla
      
$res =  $res $dev 
}
   
// si esta vacio el key, informo y devuelvo
  
if (empty($key)) { echo "Ud no ha ingresado ningun producto al pedido.."; } else { 
                
// si todo bien SIGO
                // lo bueno
                // armo la salida del email
                
$usuario_empresa "Google inc"// En mi caso envio a una empresa 
                
$usuario_email "[email protected]";  //a quien enviamos este mail
        
$sBCC "[email protected]"//me envio una copia oculta
        
$remite_nombre "ACME"// mi nombre o el de mi empresa
        
$remite_email "[email protected]"// el correo remitente osea el mio
        
$asunto   "Pedido para ACME"// el asunto
        
$mensaje  '<img src="https://upload.wikimedia.org/wikipedia/en/thumb/7/7e/Oldacmelogo.png/200px-Oldacmelogo.png" alt="Logo ACME" /><br>';
        
$mensaje .= "<font face='Calibri' size=5>Gracias : <font color='red'><b>Fulano de tal</b><font color='black'>
         por elegir enviar este pedido </font><br> "
;
        
$mensaje .= "<font color='black' face='Calibri' size=4>Este pedido sera facturado a : <font color='blue'><b>" .$usuario_empresa"</b><br><font color='black'>
         si observa alguna irregularidad llame inmediatamente al 321-041.545.5245 </font><br> "
;         
        
$mensaje .= "<font color='black' face='Calibri' size=4>Empresa ACME no garantiza que el pedido pueda ser despachado con las cantidades correctas, </font><br>";
        
$mensaje .= "<font color='black' face='Calibri' size=4>hasta previo analisis  de nuestro departamente de ventas <br><br>";
        
$mensaje .= '<html><body>';
        
$mensaje .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
        
$mensaje .= "<tr style='background: #eee;'><th><strong>Codigo</strong></th><th><strong>Marca</strong>
        </th><th><strong>Precio</strong></th><th><strong>Cantidad</strong></th><th><strong>Total</strong></th></tr>"
;
        
$mensaje .= $res //finalmente agrego la variable res (donde esta armado el tbody html)
        
$mensaje .= "</table>";
        
$mensaje .= "</body></html>";  
        
$cabeceras "From: ".$remite_nombre." <".$remite_email.">\r\n"
        
$cabeceras $cabeceras."Bcc:" $sBCC"\n";
        
$cabeceras $cabeceras."Mime-Version: 1.0\n"
        
$cabeceras $cabeceras."Content-Type: text/html"
        
$envioMail mail($usuario_email,$asunto,$mensaje,$cabeceras);
        
//si todo sale bien envio por email
        // ** OJO EN ESTE CASO FALLARA EL ENVIO PUES LOS DATOS DE EMAIL SON FALSOS ** //
        
if ($envioMail) { echo "el pedido se ha enviado con exito a ACME \nCon copia a su correo : " $usuario_email ; } 
        else { echo 
"no se pudo enviar el pedido \nintente nuevamente"; } 
}
?>
El ejemplo completo aqui : http://cort.as/UIh3


Gracias...

Última edición por jjjtaccess; 05/07/2015 a las 18:39

Etiquetas: Ninguno
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 23:11.