Hola
de nuevo ,como les va , me dirijo a este foro de nuevo por que la verdad después de tanto probar y probar el código que tengo y ver el mismo error casi que me doy por vencido pero aun sigo buscando.
Bien el asunto es asi al principio no tenia ni idea de como pasarme un arreglo por la URL hasta que encontré el serialize y el unserialize uno al parecer y segun lo que lei comprime de alguna forma el arreglo y el otro al resivir el arreglo con $_GET lo descomprime evidentemente por que por la URL no se pueden pasar arreglos asi no mas.. bien. empece hacer las pruebas al principio sin existo pero después de arreglar unas cosas logre que funcionara pero con el código de prueba que es algo asi mas o menos :
Código PHP:
<?php
$pais[]=1;
$pais[]=2;
$pais[]=34543;
$pais[]=4;
$arreglo = serialize($pais);
?>
bien sin problemas hay solo me cree el arreglo le meti algunas variables y todo bien el arreglo lo paso por URL atraves de una imagen asi
Código HTML:
<div align="center"><a href="prueba_para_resivir_por_url.php?id_reporte=<?php echo "$arreglo"; ?>"
onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage
('resultados_imag','','resultados_img_sustitucion.png',1)">
<img src="resultados_img_original.png" alt="resultados_perfiles"
name="resultados_imag" width="24" height="37" border="0"></a></div>
y para resivir solo hice asi
Código PHP:
<?php
$arreglo =$_GET['id_reporte'];
$id_reporte= unserialize($arreglo);
$var=count($id_reporte);
echo $var."<br>";
for($i=0;$i<count($id_reporte);$i++){
echo "$id_reporte[$i]"."<br>";
}
?>
hay todo bien me pasa el arreglo de lo mas de bien peroo.. cuando me dispongo a montar mi codigo es un poco mas complejo por lo siguiente el arreglo que me quiero pasar se esta llenado con unos id que me traigo despues de una consulta el codigo es asi :
Código PHP:
<?php
//CONSULTA LOS EXAMENES
$sql_examenes_de_la_factura="SELECT exa.nombre_examen,exa.id_examenes
FROM examenes AS exa , factura AS fac , factura_examenes AS fac_exa
WHERE((fac.id_factura='$id_factura')AND
(fac.id_factura=fac_exa.id_factura)AND
(exa.id_examenes = fac_exa.id_examenes))";
$res_examenes_de_la_factura=mysql_query($sql_examenes_de_la_factura,$idc)or die (mysql_error());
while ($datos_examenes=mysql_fetch_array ($res_examenes_de_la_factura)){
?>
<tr>
<td colspan="4"><div align="center"><?php echo $datos_examenes['nombre_examen']; ?> </div></td>
<?php
$arreglo[]=$datos_examenes['id_examenes'];
} // cierre del while de examnes
$var_1= serialize ($arreglo);
?>
me paso la variable serializada de igualmenera que lo hice en el ejemplo de arriba atravez de la imagen
y recibo de la misma forma que el ejemplo de arriba la unserializo y despues imprimo a ver si me esta pasando los valores y resulta que me sale el siguiente error
Notice: unserialize() [function.unserialize]: Error at offset 9 of 13 bytes in C:\wamp\www\mirilab\prueba_para_resivir_por_url.ph p on line 9
no se que sea eso y de paso me fijo en la URL y aparece algo asi
http://localhost/mirilab/prueba_para_resivir_por_url.php?id_reporte=a:6:{i: 0;s:2:
cuando normalmente la url cuando uno le pasa el arreglo deberia de haber algo asi
http://localhost/mirilab/prueba_para_resivir_por_url.php?id_reporte=a:4:{i: 0;i:1;i:1;i:2;i:2;i:34543;i:3;i:4;}
la verdad es que llevo todo el dia tratando de hubicar el error pero nada
Como siempre si alguien fuera tan amable de prestarme un poco de ayuda le estaria enormente agradecido y como
siempre que Dios los bendiga