Foros del Web » Programando para Internet » PHP »

Problema con Campos de Texto generados automaticamente!!!

Estas en el tema de Problema con Campos de Texto generados automaticamente!!! en el foro de PHP en Foros del Web. Hola a todos.... ten un archivo php que me recoge una consulta de una tabla y que de acuerdo a los valores recogidos genero campos ...
  #1 (permalink)  
Antiguo 06/02/2006, 10:19
 
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 72
Antigüedad: 14 años, 1 mes
Puntos: 0
Problema con Campos de Texto generados automaticamente!!!

Hola a todos....

ten un archivo php que me recoge una consulta de una tabla y que de acuerdo a los valores recogidos genero campos de texto de un form y se asigno el nombre mas un id (el mismo de la consulta) para identificar cada campo y no confundirlo. y luego en otro bloque de codigo que recibe el formulario lo que quiero es recoger el varlo de cada campo de texto que se creo anteriormente pero, como le hagopara recoger los datos con $_post. El codigo que tengo es el siguiente:

Codigo que genera los campos de texto:
Código PHP:
        $consu "SELECT * FROM aspectosg";
        
$rst=mysql_query($consu$Dlink) or die(mysql_error());
        
$row_rst mysql_fetch_assoc($rst);
        
$totalRows_rst mysql_num_rows($rst);
        
$aspectg="";
        do {  
            
$id="aspg".$row_rst['id_aspectog'];
            
$aspectg.=$row_rst['id_aspectog']."&";
            echo
"<tr>
              <td align=\"right\">"
.$row_rst['descrip']."</td>
              <td align=\"left\">
              <input name=\"$id\" type=\"text\" id=\"$id\" maxlength=\"15\"></td></tr>"
;    
        } while (
$row_rst mysql_fetch_assoc($rst));
          
$aspgen=substr($aspectg,0,strlen($aspectg)-1);
              echo
"
            <tr> 
              <td align=\"center\">&nbsp;</td>
              <td align=\"center\"><input name=\"haspg\" type=\"hidden\" id=\"haspg\" value=\"$aspgen\"/></td>
            </tr>"

y con este codigo los recibo para mostrar el valor de cada campo generado anteriormente:
Código PHP:
            $gen=explode("&"$_POST['haspg']);
            
$mes=$_POST['slmes'];
            foreach (
$gen as $valor){
                
$consu="select id, id_cargo, id_puesto, id_emp, id_aspecto, year, rq$mes from evalgen 
                    where id_cargo=$cargoid_ and id_puesto=$puestoid_ and 
                    id_emp=$empleadoid_ and id_aspecto=$valor and year=$anoe"
;
                
$rsevalg=mysql_query($consu$Dlink);
                if(
$fila=mysql_fetch_array($rsevalg)){
                    echo 
"existe<br>";
                }else{
                    echo 
" el valor es: ".$_POST['aspg'$valor]."<br>";
                }
            } 
En si la pregunta es como le hago para recoger el valor de una variable $_Post y que el nombre de la variable es automatica.

Gracias de antemano...
  #2 (permalink)  
Antiguo 06/02/2006, 10:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si recorres el array $_POST .. veras todas tus variables y sus nombres que esta contiene:

Código PHP:
foreach ($_POST as $variable => $valor){
   echo 
$variable." = ".$valor."<br>";

Y para usar esas "variables" como tal (evaluarlas) .. deberías emplear lo que se denomina "Variables variables":

http://www.php.net/manual/en/languag...s.variable.php

Ahora .. realmente asi no deberías tratar el tema y su solución .. Deberías usar "arrays". Concretamente 2 (dos) . .una para contener tus "ID's" y otra para sus datos anexos (o N más según corresponda).

Código PHP:
echo "<input type=\"hidden\" name=\"ids[]\" value=\"$id\">";
echo 
"<input type=\"text\" name=\"valores[]\""
De esta forma .. en tu script PHP recibiras un par de arrays con mismo indice (numérico de 0 a N) que puedes recorrer con un bucle tipo for() usando como mismo indice el mismo valor para ambos (o N) arrays que tengas que recorrer.

Código PHP:
for ($x=; $x<cont($_POST['ids']); $x++){
   echo 
$_POST['ids'][$x]." => ".$_POST['valores'][$x]."<br>";

De esta forma es muy sencillo tener que asociar N datos entre sí por "linea". ( o registro).

Un saludo,

PD: Omitan los "BEGIN__VBULLETIN__CODE__SNIPPET" si los ven.
  #3 (permalink)  
Antiguo 06/02/2006, 11:56
 
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 72
Antigüedad: 14 años, 1 mes
Puntos: 0
Muchas Gracias Cluster.....

Funciono....muchas gracias....
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 19:49.