Hola buen dia colegas, este es mi problema, tenia mi script con Mysqli el cual hacia consulta a bdd y manda a imprmir una tabla html generada dinamicamente desde PHP, el detalle es que al migrar a PDO (Por causas de fuerza mayor) ya no me funciona el foreach.. les pongo el código del antes(mysqli) y el despues(pdo)
Agrego como estoy obteniendo el valor de result:
Código PHP:
Ver original$sql='SELECT folio_intel as FOLIO,date(fecha_venta) as FECHA_VENTA,ventas.sku_garantia as SKU_GARANTIA,
garantias.desc_garantia AS NOMBRE_GARANTIA,productos.descripcion as TIPO_PRODUCTO,
marca as MARCA,ventas.descripcion as DESCRIPCION_EQUIPO,finicioA as INICIO_ASISTENCIA,
ffinA as FIN_ASISTENCIA,finicioG AS INICIO_GARANTIA,ffinG AS FIN_GARANTIA,
importe as IMPORTE_SIN_IVA,financiamiento as TOTAL_PAGOS,mensualidad AS MENSUALIDADES,origen AS ORIGEN,
nombre_canal AS CANAL_VENTA,users.nombre as VENDEDOR,profile.profile as PERFIL_VENDEDOR,
sucursales.nombre_suc as NOMBRE_SUCURSAL
FROM ventas
RIGHT JOIN canal_venta ON ventas.id_canal=canal_venta.id_canal
INNER JOIN users ON ventas.id_user=users.id_user
RIGHT JOIN profile ON users.id_profile=profile.id_profile
INNER JOIN sucursales ON users.clave_suc=sucursales.clave_suc
RIGHT JOIN productos ON ventas.tipo_prod=productos.id_prod
RIGHT JOIN garantias ON ventas.SKU_garantia=garantias.SKU_garantia
WHERE ventas.folio_intel=:folio';
$query = $conn->prepare($sql);
$query->bindParam(':folio', $folio);
$query->execute();
$result = $query->fetchAll();
$query->closeCursor();
Aqui con Mysqli funcionando perfecto:
Código PHP:
Ver original$tabla ="<b>INFORMACION DE LA VENTA...</b><br>";
$tabla .= '<table border="1"><tr><th class="B_Titulos">Campo</th><th class="B_Titulos">Valor</th></tr>';
foreach($result->fetch_assoc() as $key => $val){
$tabla .= "<tr><td class='C_subtitulos'>$key</td><td>$val</td></tr>";
}
$tabla .= '</table>';
echo $tabla;
Aqui con PDO, como el foreach que usaba antes me mandaba error en el fetch_all(), le cambie a esto, y no me envia error, solo que no me arroja lo que yo deseo..
Código PHP:
Ver original$tabla ="<b>INFORMACION DE LA VENTA...</b><br>";
$tabla .= '<table border="1"><tr><th class="B_Titulos">Campo</th><th class="B_Titulos">Valor</th></tr>';
//foreach($result->fetch_all() as $key => $val){
foreach ($result as $key => $val){
$tabla .= "<tr><td class='C_subtitulos'>$key</td><td>$val</td></tr>";
}
$tabla .= '</table>';
echo $tabla;
}
lo que me muestra es una tabla con esto:
| Campo | Valor |
===========
| [0] | Array |
Alguien podria ayudarme a saber como puedo hacer el foreach para que me funcione correctamente, se supone que la tabla resultante debe contener todos los datos que yo obtento de mi query, que son como 10... Saludos!