Foros del Web » Programando para Internet » PHP »

Switch Case dinamico

Estas en el tema de Switch Case dinamico en el foro de PHP en Foros del Web. Disculpen tengo un problema necesito hacer unos unos updates de datos, cuando en una pag1.php hacen check en unos checkbox como los datos no son ...
  #1 (permalink)  
Antiguo 31/05/2005, 08:38
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 22 años, 1 mes
Puntos: 0
Exclamación Switch Case dinamico

Disculpen tengo un problema necesito hacer unos unos updates de datos, cuando en una pag1.php hacen check en unos checkbox como los datos no son unicos, he creado una cadena que nunca se repite asi lograre consistencia de los datos
Código PHP:
while ($registro = mysql_fetch_array($_pagi_result)){     
$nombrex = "";
for (
$i=0;$i<20;$i++){                
if (
$i == 18) {
    
$nombre[] = $nombrex;
     echo 
"<td><center><input type=checkbox  name=".$nombre[$r]." value=".$nombrex." "; 
    if(
$registro[$i] == 1) echo " checked"; 
     echo 
"></center></td>";
} else {
    echo 
"<td> $registro[$i] </td>";
    if ((
$i == 0) OR ($i == 2) OR ($i == 11)) {$nombrex .= $registro[$i];}
        }
    }        
} 
al hacer click en un boton envio lso datos para ser procesados, lo que he conseguido es que ejecute todos los registros de la tabla para luego compararlos con los que estan en los post, el problema es que lee el primer valor de post y recorre todo los registros de la tabla hasta que se ubica dentro de ellos, pero lo malo es que solo hace ese barrido una sola vez, y no logro que lo haga con cada post:
Código PHP:
$consulta = "SELECT DISTINCT CONCAT(inscripcion,telefono,estado_pedido) AS ID ";
$consulta .= "FROM pedidos_posible_fraude ";
$resultado = mysql_query($consulta,$Sistema);
$numero = mysql_num_rows($resultado);
while(list(
$key, $val) = each($_POST)) {            
    
$final=strlen($key);    
    
$key=substr($key,6,$final);             
    while(
$registro = mysql_fetch_array($resultado)){        
        switch (
$key) {             
            case 
$registro['ID']:
                echo 
"Aqui iria mi UPDATE </br>";
                break;                     
        }    
    }        
}
mysql_free_result($resultado); 
les agradecere su ayuda
  #2 (permalink)  
Antiguo 31/05/2005, 10:14
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 22 años, 1 mes
Puntos: 0
Despues de un analisis minucioso encontre la solucion, aqui esta:
Código PHP:
$consulta = "SELECT DISTINCT CONCAT(inscripcion,telefono,estado_pedido) AS ID ";
$consulta .= "FROM pedidos_posible_fraude ";
$consulta .= "WHERE nombre <> 'nombre' AND zona <> 'zona' ORDER BY 1";
$w=0;
while(list(
$key, $val) = each($_POST)) {            
    
$final=strlen($key);    
    
$key=substr($key,6,$final);     
    echo 
" POST:".$w." xxx ".$key." xxx ".$val." </br>";        
    
$resultado = mysql_query($consulta,$Sistema);
    
#$numero = mysql_num_rows($resultado);
    
$i=0;        
    if (
$val == 'on') {
        
$analizado=1;
    } else {
        
$analizado=0;
    }
    while(
$registro = mysql_fetch_array($resultado)){
        switch (
$key) {                         
            case 
$registro['ID']:
                echo 
"SWITCH_CASE: ".$i." xxx ".$key." xxx ".$val." xxx ".$registro['ID']."</br>";
                
$consulta2 = "UPDATE pedidos_posible_fraude SET analizado = '".$analizado;
                
$consulta2 .= "' WHERE CONCAT(inscripcion,telefono,estado_pedido) = ".$registro['ID'];
                
$resultado2 = mysql_query($consulta2,$Sistema);
                
#echo $consulta2."</br>";                
                
continue;                     
        }        
        
$i++;    
    }        
    
$w++;    
    
mysql_free_result($resultado);
} 
Gracias a todos
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 03:38.