Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2008, 15:04
Avatar de JuanKa
JuanKa
 
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Problema con array dentro de otro array

Buenas tardes amigos, estoy con un problema que me esta costando encontrar la solucion, a ver si me echan un cable...

En una tabla tengo 3 campo correos_eletronicos (id,correo,publicidad)
En la tabla correos_eletronicos como veran tengo el campo publicidad que por defecto esta en 'S' (esto quiere decir que el correo que tenga la 'S' acepta la publicidad)

Entonces

Código PHP:
$SQL_X 'SELECT * FROM correos_eletronicos ORDER BY id';
$EJECT_SQL_X $bd->bbdd_query($SQL_X);

while (
$row $bd->bbdd_fetch($EJECT_SQL_X ))
{

    if (
$row['publicidad']=='S')
    {
          echo 
"<input type='checkbox' name='chk_publicidad[]' value='".$row['id']."' checked >";
               
     }
     else
     {
          echo 
"<input type='checkbox' name='chk_publicidad[]' value='".$row['id']."' >";

     }

y tengo un boton submit que me envia a la misma pagina pero con una accion diferente.

Hasta aca todo Correcto.

Lo que pretendo hacer es recibir todos los checkbox y evaluar los que estan marcados y los que No estan marcados, es decir, si han sido desmarcados por el usuario actualizar ese registro por su id.

Lo que hago es lo siguiente

Código PHP:
//Almaceno todos los registros de la tabla en un array 

$correos_marcadas_en_tabla = array();
$SQL "SELECT * FROM correos_eletronicos ";
$XXXXX $bd->bbdd_query($SQL);

while(
$row_correos_Tablas=$bd->bbdd_fetch($XXXXX))
{
       
$correos_marcadas_en_tabla[]=$row_correos_Tablas["id"];
 }

//Ahora evaluo los marcados y desmarcado.

 
foreach($_POST['chk_publicidad'] as $key => $value)
 {
                      
    if (
in_array($value,$correos_marcadas_en_tabla))
    {
             echo 
"Encontrado<br />";
     }
     else
    {
            echo 
"NO Encontrado<br />";
     }
                        
 } 
Ahora el problema es el siguiente:

si tengo 4 registros y por defecto los 4 estan marcados y yo desmarco el 2 y 4 me sale solo 2 que dicen ENCONTRADO pero no me sale los dos restantes(registros 1 y 3), lo que pasa que quiero que me salga el NO ENCONTRADO para actualizarlo.

Donde puede esta mi error ???

Espero que me puedan ayudar.

SAludos y gracias a todos.