Foros del Web » Programando para Internet » PHP »

Limpiando un poco el codigo.

Estas en el tema de Limpiando un poco el codigo. en el foro de PHP en Foros del Web. Chicos tengo esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $can1 = $_POST [ 'can1' ] ;     $id1 = $_POST [ 'id1' ] ; ...
  #1 (permalink)  
Antiguo 24/10/2010, 19:58
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Limpiando un poco el codigo.

Chicos tengo esto:

Código PHP:
Ver original
  1. $can1=$_POST['can1'];
  2.     $id1=$_POST['id1'];
  3.     $can2=$_POST['can2'];
  4.     $id2=$_POST['id2'];
  5.     $can3=$_POST['can3'];
  6.     $id3=$_POST['id3'];
  7.     $can4=$_POST['can4'];
  8.     $id4=$_POST['id4'];
  9.     $can5=$_POST['can5'];
  10.     $id5=$_POST['id5'];
  11.     $can6=$_POST['can6'];
  12.     $id6=$_POST['id6'];
  13.     $can7=$_POST['can7'];
  14.     $id7=$_POST['id7'];
  15.     $can8=$_POST['can8'];
  16.     $id8=$_POST['id8'];
  17.     $can9=$_POST['can9'];
  18.     $id9=$_POST['id9'];
  19.     $can10=$_POST['can10'];
  20.     $id10=$_POST['id10'];
  21.     $can11=$_POST['can11'];
  22.     $id11=$_POST['id11'];
  23.     $can12=$_POST['can12'];
  24.     $id12=$_POST['id12'];
  25.     $can13=$_POST['can13'];
  26.     $id13=$_POST['id13'];
  27.     $can14=$_POST['can14'];
  28.     $id14=$_POST['id14'];
  29.     $can15=$_POST['can15'];
  30.     $id15=$_POST['id15'];
  31.     $can16=$_POST['can16'];
  32.     $id16=$_POST['id16'];
  33.     $can17=$_POST['can17'];
  34.     $id17=$_POST['id17'];

No hay una menera de meter esto dentro un while?
ya que en lo unico que varian es en el numero.
se podra?
  #2 (permalink)  
Antiguo 24/10/2010, 20:03
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Limpiando un poco el codigo.

lo probaste antes de preguntar?? yolo he echo de echo puedes recorrer el $_POST con un foreach() pero el echo es para que lo deseas xq aveces no es muy optimo saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 24/10/2010, 20:09
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Limpiando un poco el codigo.

Cita:
Iniciado por carlos_belisario Ver Mensaje
lo probaste antes de preguntar?? yolo he echo de echo puedes recorrer el $_POST con un foreach() pero el echo es para que lo deseas xq aveces no es muy optimo saludos
y mira, para empezar por lo extenso que se hace el codigo, por otro lado, por ejemplo ahora tengo que agregar otra variable ejemplo $ppp1, $ppp2, $ppp3 y sigue. ademas necesito hacer una consulta por cada uno.

es medio tedioso...

pero si es como decis .... seguro no me queda otra que hacerlo a lo clasico o crear una function.
  #4 (permalink)  
Antiguo 24/10/2010, 20:16
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Limpiando un poco el codigo.

O sea, todo depende de lo que quieras hacer. Si cada campo se trabaja independientemente no serviría de nada, pero si todos van a recibir el mismo tratamiento claro que serviría. La cosa sería más o menos así:

Código PHP:

foreach ($_POST as $key => $val) {
     
// $key es el valor de la clave y $val es valor
    // Aquí le das el tratamiento que debes darle, en tu caso, cual sería?


Ahora que si explicas que haces con esos campos se podría saber bien si vale la pena hacer el bucle o no
  #5 (permalink)  
Antiguo 24/10/2010, 20:17
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Limpiando un poco el codigo.

bueno puedes trabajarlo como arreglo es mas sencillo y menos tedioso como dices has la prueba por ejemplo todos los cant los meterias de esta manera
Código PHP:
Ver original
  1. $cantidad=5; /*aca dirias la cantidad de cant que tienes */
  2. for($i=0;$i<$cantidad;$i++){
  3.    $cant[$i]=$_POST['cant'.$i];
  4. }
  5. por darte un ejemplo saludos espero que te sirva
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 24/10/2010, 20:39
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Limpiando un poco el codigo.

Cita:
Iniciado por carlos_belisario Ver Mensaje
bueno puedes trabajarlo como arreglo es mas sencillo y menos tedioso como dices has la prueba por ejemplo todos los cant los meterias de esta manera
Código PHP:
Ver original
  1. $cantidad=5; /*aca dirias la cantidad de cant que tienes */
  2. for($i=0;$i<$cantidad;$i++){
  3.    $cant[$i]=$_POST['cant'.$i];
  4. }
  5. por darte un ejemplo saludos espero que te sirva
Carlos, intente esto para ver hasta que punto puede servir.

Código PHP:
Ver original
  1. $cantidad=18; /*aca dirias la cantidad de cant que tienes */
  2.      for($i=0;$i<$cantidad;$i++){  
  3.      $can[$i]=$_POST['can'.$i];
  4.      }
  5.      echo "$can4";

Y por el error entregado no queda en la memoria temporal el valor de variable, pero si cumple la intension ya que cuando provee tu codigo (copy paste) pusiste
$cant[$i]=$_POST['cant'.$i]; en ves de $_POST['can'.$i] y en el error me salia
$cant1, 2 , 3 ,4 etc. no definidos.

Pero no cumple mi necesidad. en cambio ElJavista.

foreach no me sirve, ya que si bien repito una consulta 17 veces o mas, despues tengo que tomar valores de esas 17 consultas y valores $_POST para realizar un Insert o Update.
__________________
Mono programando!
twitter.com/eguimariano
  #7 (permalink)  
Antiguo 25/10/2010, 05:50
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Limpiando un poco el codigo.

Hola.
Mirate ésto de variables variables. Espero que te sirva.

http: / /php.net/manual/es/language.variables.variable.php
  #8 (permalink)  
Antiguo 25/10/2010, 06:11
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: Limpiando un poco el codigo.

hola prueba con esto, con este codigo recorres el array post y creas una variable en cada caso con su nombre

Código PHP:
foreach($_POST as $key => $value) {$$key $value;} 
en tal caso si tienes un parametro que llegue por post digamos

$_POST['test'];

al pasarle el foreach te generaria una variable

$test = $_POST['test']

saludos

Última edición por Adell; 25/10/2010 a las 08:50

Etiquetas: Ninguno
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 14:02.