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, 09:38
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
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, 11:14
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
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 18:28.