Foros del Web » Programando para Internet » PHP »

Crear variables $_POST a partir de una consulta

Estas en el tema de Crear variables $_POST a partir de una consulta en el foro de PHP en Foros del Web. Buenas a todos, a partir de una consulta necesito crear unas variables que me permitan posteriormente guardar en una tabla: Este es el código: @import ...
  #1 (permalink)  
Antiguo 27/07/2011, 10:28
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Crear variables $_POST a partir de una consulta

Buenas a todos, a partir de una consulta necesito crear unas variables que me permitan posteriormente guardar en una tabla:

Este es el código:
Código PHP:
Ver original
  1. <?php
  2. $sql="SELECT NOMCAMPO FROM HCFORMHIS WHERE HCCTIPOHC='".$formulario."' AND TIPDATO <>'7'";
  3.  $obj->consulta($sql);
  4. $numfilas = $obj->numFilas();
  5. $camtabla="";
  6. while($row = sqlsrv_fetch_array($obj->result)){
  7. $camtabla=$camtabla."@".$row[0];
  8. }
  9. $camtabla= explode("@", $camtabla);
  10.  
  11. //ahora aca creo las variables POST:
  12. $i=0;
  13. while($i<$numfilas)
  14. {
  15. echo $string[$i]=$_POST[$string[$i]];
  16.  $i++;
  17. }
  18. ?>

Y dandole echo a la variable $camtabla me genera:

EQUIPOX@FECFIN@FECINI@OBSERVA
Estos nombres qeu estan separados por @, debo convertirlos en nombres que se reciben por POST, para guardar un valor que recoge de un formulario que trae esos mismos nombres, lo que pasa es que como el formulario varia, no puedo recibir la variables POST con el mismo nombre, me toca hacerlo asi....

Pero me esta apareciendo el siguiente error:

Notice: Undefined index: EQUIPOX in C:\AppServ\www\dev\intranet\histoclin\hcclini.php

Notice: Undefined index: FECFIN in C:\AppServ\www\dev\intranet\histoclin\hcclini.php

Notice: Undefined index: FECINI in C:\AppServ\www\dev\intranet\histoclin\hcclini.php

Notice: Undefined index: OBSERVA in C:\AppServ\www\dev\intranet\histoclin\hcclini.php


Todos en la linea echo $string[$i]=$_POST[$string[$i]];

Como podria crear estas variables?..Agradezco me puedan colaborar o dar alguna idea, muchas gracias
  #2 (permalink)  
Antiguo 27/07/2011, 10:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Crear variables $_POST a partir de una consulta

Haz un var_dump($_POST); y verifica que estes recibiendo los valores correctamente y sean iguales a tu variable inicial.

Saludos.
  #3 (permalink)  
Antiguo 27/07/2011, 10:45
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Crear variables $_POST a partir de una consulta

Si, los valores son iguales, me recibe los ID de los campos que llenan en los formularios, es decir:

EQUIPOX@FECINI@FECFIN@HOROX@TOTOXI@OBSERVA

Pero cuando es otro formulario me puede recibir 3 campos o mas campos,

Por eso necesito crear la variable POST a partir del array que tiene $string

Por ejemplo para este caso string tiene 6 campos, necesito entonces crear 6 variables POST...
  #4 (permalink)  
Antiguo 27/07/2011, 10:46
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Crear variables $_POST a partir de una consulta

este fue el resultado de var_dump:

Código PHP:
Ver original
  1. array(7) { ["camposformu"]=> string(42) "EQUIPOX@FECINI@FECFIN@HOROX@TOTOXI@OBSERVA" ["op"]=> string(2) "29" ["archivo"]=> string(24) "hc_0000700724_114114.xml" ["ingreso"]=> string(10) "0000700724" ["paciente"]=> string(7) "5820700" ["formulario"]=> string(6) "COX001" ["codarea"]=> string(10) "1501 " }
  #5 (permalink)  
Antiguo 27/07/2011, 11:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Crear variables $_POST a partir de una consulta

Si te fijas en tu $_POST no existe ninguna de las variables que quieres leer, es decir no existe $_POST['EQUIPOX'], $_POST['FECINI'], etc. es por eso que te da ese error.
  #6 (permalink)  
Antiguo 27/07/2011, 11:06
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Crear variables $_POST a partir de una consulta

Si lo que dices es cierto, pero es que no puedo recibir cada variables, es decir,
Formulario 1 tiene los siguientes campos:
Campo 1: ID=CAMPOA
Campo2: ID=CAMPOB

Formulario 2 tiene los siguientes campos:
CAMPO 1: ID=EQUIPOX
Campo 2: ID=FECINI
Campo 3: ID=HOROX

entonces los nombres de las variable siempre van a ser diferentes, por eso a la hora de recibirlos no puedo dejar :
_POST['EQUIPOX'], $_POST['FECINI']

Sino que recibo todos los campos en un string, luego los separo y a partir de los datos que vienen quiero crear las variables, Como podria hacerlo o que otra solución podria utilizar sabiendo que los nombres de las variables POST, siempre van a ser diferentes a la hora de recibirlos?

Gracias por la ayuda...
  #7 (permalink)  
Antiguo 27/07/2011, 11:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Crear variables $_POST a partir de una consulta

Es que ese es el problema, como vas a recibir datos que no sabes como se llaman? Tienes que de cierta forma ligar que dato pertenece a que variable...
  #8 (permalink)  
Antiguo 27/07/2011, 11:55
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Crear variables $_POST a partir de una consulta

Si, se me esta complicando el asunto, pero de todos modos gracias, voy a probar de otra forma y te cuento....
  #9 (permalink)  
Antiguo 27/07/2011, 13:15
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Crear variables $_POST a partir de una consulta

[SOLUCIONADO]

Listo, menos mal di con el chiste
Yo utilizo una funcion en ajax que me pasa cualquier cantidad de variables y campos por POST
Entonces la función la utilizo asi:
Código PHP:
Ver original
  1. <?php
  2. $nvar="op@archivo@ingreso@paciente@formulario@codarea";
  3. $vvar="29@$archivo@$ingreso@$paciente@$formulario@$codarea";
  4. $campos= $camposa."".$camposb;
  5. //la variable $campos me guarda el string CAMPO1@CAMPO2@CAMPO3
  6.  
  7. echo "<button id='si' Onclick='pasa_camp_var('archivo.php','div','$campos','$nvar','$vvar')'>";
  8.  
  9.  
  10. //Entonces cuando recibo por POST tengo lo siguiente:
  11.  
  12. $sql="SELECT NOMCAMPO FROM HCFORMHIS WHERE HCCTIPOHC='".$formulario."' AND TIPDATO <>'7'";
  13.      $obj->consulta($sql);
  14.      $numfilas = $obj->numFilas();
  15.      $camtabla="";
  16.      $i=0;
  17.      while($row = sqlsrv_fetch_array($obj->result)){
  18.        
  19.  echo $row[0]=$_POST[$row[0]]."--";
  20.          
  21. $i++;
  22.        
  23.  }
  24.  
  25. ?>
Y como en la consulta el ID del campo del formulario es igual a lo que traigo de la consulta, entonces en este while me compara y me muesrta el resultado......
Voy a compartir la función con ustedes, donde la puedo publicar?....
Es una función que pasa n cantidad de campos y variables, la tengo por POST y por GET

Etiquetas: post, sql, tabla, variables, formulario
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 00:48.