Hola de nuevo!
He avanzado un poco en este tema pero aún no he encontrado solución. Lo que he hecho hasta ahora es lo siguiente:
Código PHP:
// Utilizo dos funciones para el envío y recepción de $tipo
function array_envia($array) {
$tmp = stripslashes($array);
$tmp = serialize($array);
$tmp = urlencode($tmp);
return $tmp;
}
function array_recibe($url_array) {
$tmp = stripslashes($url_array);
$tmp = urldecode($tmp);
$tmp = unserialize($tmp);
return $tmp;
}
//(…)
// Recojo los datos del formulario y los trato para hacer la búsqueda en la BD
$tipo= $_REQUEST['tipo'];
if ($tipo !=''){
$tipo_array=" AND tipo IN ('";
$tipo_array .= implode("' , '", $tipo);
$tipo_array .= "')";
$where .= "$tipo_array";
}
// Aquí recibo el array y lo incorporo a la url:
$tipo_ser=array_envia($tipo);
$url=$PHP_SELF . "?tipo=$tipo_ser&pagina=";
Hasta aquí, todo bien, haciendo un var_dump me aparece:
array(4) { [0]=> string(3) "mp3" [1]=> string(3) "wmv" [2]=> string(3) "avi" [3]=> string(3) "mov" }
Y la url la construye bien:
documentos.php?tipo=a:4:{i:0;s:3:"mp3";i:1;s:3:"wm v";i:2;s:3:"avi";i:3;s:3:"mov";}&pagina=2
El problema viene cuando voy a la página 2, entonces al hacer un var_dump de $tipo me imprime:
string(70) "a:4:{i:0;s:3:\"mp3\";i:1;s:3:\"wmv\";i:2;s:3:\"av i\";i:3;s:3:\"mov\";}"
Y ya no me hace la búsqueda en la base de datos.
Por otro lado, si incorporo la línea
$tipo=array_recibe($tipo);
Entonces no me construye bien el valor tipo en la url, me sale así:
documentos.php?tipo=b:0;&pagina=2
¿Alguna idea?