Foros del Web » Programando para Internet » PHP »

como concatener variables

Estas en el tema de como concatener variables en el foro de PHP en Foros del Web. Hola a todos; Bueno, lo que sucede es que quiero optimizar mis validaciones y otras funciones, por lo cual deseo saber si se puede en ...
  #1 (permalink)  
Antiguo 21/10/2004, 09:11
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
como concatener variables

Hola a todos;

Bueno, lo que sucede es que quiero optimizar mis validaciones y otras funciones, por lo cual deseo saber si se puede en PHP;

Me explico; en javascript tengo unas funciones en las cuales utilizo la funcion EVAL para concatenar y que asuma el objeto al que hago referencia por variables;

eval("document.Form." + Obj + ".value = document.Form." + Obj2 + ".value");

De esta menera me evito realizar unas funciones por cada objeto que poseo, en donde las variables Obj es el objeto destino y Obj2 es el que contiene la información. (funciona de maravillas).

Aqui va mi consulta; como puedo realizar algo similar pero en php y asiendo referencia a Variables ($), intente realizar algo asi, pero no me sale y da error..

function .... ($QueCaja){
$a = $QueCaja;
$a1 = eval("$Objeto".$a.="sql");
echo($a1); /// solo para ver
}
$Objeto son los primeros caracteres de la variable y $a es la segunda parte;
ejemplo ; si $a es igual a 02.. seria algo asi $Objeto02=sql

gracias...
  #2 (permalink)  
Antiguo 21/10/2004, 09:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En PHP para lo que pretendes creo que lo que necesitas es usar "Variables variables":

http://www.desarrolloweb.com/articul...8.php?manual=6

Ahora, .. tus elementos del formulario HTML común .. puedes "convertilos" a arrays tal como ves en el ejemplo de esta FAQ:

http://www.forosdelweb.com/f18/faqs-php-530600-post518710/

Un saludo,

Última edición por Cluster; 21/10/2004 a las 09:29
  #3 (permalink)  
Antiguo 21/10/2004, 09:59
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias Cluster.. Me explico

La razon por la cual deseo realizar eso (si es posible) es para tratar de armar una funcion lo mas completa posible en la cual validar todos los caracteres de un texto, todos los simbolos complicados y otros... para su posterior INSERT a la BD SQL... poseo una pagina muy estensa en la cual poseo mas menos 200 objetos y seria mas engorrozo validar uno tras otro, asi que pense realizar una funcion compleja y completa para poder validar los objetos.. (a todo esto mis objetos los enumero en orden, eso quiere decir que realizo algo asi

<input name="OB01" type="text" value="<?php echo $_POST['BO01']; ?>">
<input name="OB02" type="text" value="<?php echo $_POST['BO02']; ?>">
<input name="OB03" type="text" value="<?php echo $_POST['BO03']; ?>">

Y en PHP los capturo...

$Obj001 = trim($_POST['OB01']);
$Obj002 = trim($_POST['OB02']);
$Obj003 = trim($_POST['OB03']);

Entonces, pense, pense y pense ... mmmmmm, aaaa creare una funcion en donde validar todo (pero como!) extraigo los 3 ultimos caracteres de las variables ($Obj001 seria 001) y los mando a la funcion validar(), aqui en la funcion validar concateno $Obj + 001 (o cualquiere segun el que envie) y empiezo a realizar todo... y despues lo retorno...

Es posible o no?

Gracias...........................
  #4 (permalink)  
Antiguo 21/10/2004, 11:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ya te dije .. ...

El nombre de tus elementos del formulario (pese que la faq del link que te dejé habla de "checkbox" es lo mismo para cualquier otro tipo de elemento de tu formulario) .. ha de ser tipo array:

<input name="OB[0]" type="text" value="<?php echo $_POST['BO'][0]; ?>">
<input name="OB[1]" type="text" value="<?php echo $_POST['BO'][1]; ?>">
<input name="OB[2]" type="text" value="<?php echo $_POST['BO'][2]; ?>">

(el indice no es necesario .. puedes usar [] simplemente y se crea automático de 0 a N)

Para que en PHP los recibas en un array y los puedas recorrer tipo:

foreach ($_POST['OB'] as $valor){
validar ($valor);
}

si te fijas . .a cada pasada del bucle te entrega uno de esos valores (secuencialmente de 0 a N) .. ahí puedes mandar a llamar a tu función de validar() por ejemplo o hacer cualquier otra cosa.

Te vendría bien generar esos "input" con un bucle también (un for() de 0 a N)

Un saludo,
  #5 (permalink)  
Antiguo 22/10/2004, 09:50
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias..

Muchas gracias... asi lo realizare, tendre que cambiar algunas cosas, pero es lo minimo...

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 21:03.