Foros del Web » Programando para Internet » PHP »

Problema con Variable

Estas en el tema de Problema con Variable en el foro de PHP en Foros del Web. Buenos Dias. Vengo a pedirles ayuda sobre un problema que tengo que no se como resolverlo. resulta que tengo un array de checkbox que envio ...
  #1 (permalink)  
Antiguo 07/04/2017, 06:52
 
Fecha de Ingreso: junio-2015
Mensajes: 30
Antigüedad: 8 años, 10 meses
Puntos: 1
Problema con Variable

Buenos Dias.
Vengo a pedirles ayuda sobre un problema que tengo que no se como resolverlo.
resulta que tengo un array de checkbox que envio a un bucle for.
pero dentro de el tengo una variable que quiero que cambie segun el resultado del for.
en ejemplo suponiendo que hay 30 checkbox deberia generarse 30 variables $reporte_1..... $reporte_2.. ect. es correcto lo que quiero hacer? o no es posible? cual es la forma correcta?
muchas gracias de antemano por la ayuda
Código PHP:
$idnum=$_POST["idtercero"];
    
$count count($idnum);
    for (
$x 0$x $count$x++) {
        
//echo $idnum[$x].'<br>';
    
    
    
$reporte='Hola';
    
$reporte.=' esto';
    
$reporte.=' es ';
    
$reporte.=' una cadena';
        
    }    
echo 
$reporte4 
  #2 (permalink)  
Antiguo 07/04/2017, 12:44
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Variable

No entendí bien, buscas algo como esto?

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.     </head>
  4.     <body>
  5.         <form method="post">
  6.         <input type="checkbox" value="asddsadd" name="asd[]" /><br />
  7.         <input type="checkbox" value="aswewed" name="asd[]" /><br />
  8.         <input type="checkbox" value="adsadssd" name="asd[]" /><br />
  9.         <input type="checkbox" value="asqwqwqd" name="asd[]" /><br />
  10.         <input type="submit">
  11.         </form>
  12.         <?php
  13.         if($_POST["asd"] != null){
  14.         $count = sizeof($_POST["asd"]);
  15.             for($i=0;$i<$count;$i++){
  16.             echo "Valor Checkbox".($i+1).": ".$_POST["asd"][$i]."<br/>";
  17.             }
  18.         }
  19.         ?>
  20.     </body>
  21. </html>
  #3 (permalink)  
Antiguo 07/04/2017, 13:27
 
Fecha de Ingreso: junio-2015
Mensajes: 30
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Problema con Variable

muchas gracias por responder.
lo que busco es que la variable del ejemplo
Código PHP:
$reporte 
tome un valor diferente por ejemplo asi
Código PHP:
$reporte_.$i 
. porque quiero generar una variable diferente para asignarle contenido diferente.

por ejemplo asi.
Código PHP:
$reporte texto1
en mi caso reorte uno va a cambiar si el array son 3 checkbox en el blucle lo que obtendria seria algo asi
Código PHP:
$reporte texto1.
$reporte .= texto2.
$reporte .= texto3
al que rer yo recuperar el resultado obtendre esto:
Código PHP:
echo $reporte//lo cual imprimira 
texto1texto2texto3
 texto1texto2texto3
texto1texto2texto3 
asi no me sirve porque obtendre 3 veces lo mismo
por eso quiero saber como cambiar la variable $reporte para que asi me obtenga un resultado diferente por cada checbox
algo asi
Código PHP:
echo $reporte1//lo cual imprimira texto1texto2texto3
echo $reporte2;//lo cual imprimira texto1texto2texto3
echo $reporte3//lo cual imprimira texto1texto2texto3 
espero averme explicado
  #4 (permalink)  
Antiguo 07/04/2017, 14:21
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con Variable

Al leer tu problema creo que no conoces el concepto de arreglos. te recomiendo leer sobre arreglos:

https://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica) (disculpen por usar un enlace de terceros.)

No quiero explicarte yo todo eso, una vez tengas el concepto se puede resolver tu problema fácilmente...

Si tomamos en cuenta tu método:

Código PHP:
Ver original
  1. $texto = "texto1texto2texto3";
  2.  
  3. $reporte1 = $texto;
  4. $reporte2 = $texto;
  5. $reporte3 = $texto;
  6.  
  7. $reporte1; //lo cual imprimira texto1texto2texto3
  8. $reporte2; //lo cual imprimira texto1texto2texto3
  9. $reporte3; //lo cual imprimira texto1texto2texto3

Lo podemos hacer más rápido:

Código PHP:
Ver original
  1. $texto = "texto1texto2texto3";
  2.  
  3. $reporte = array();
  4.  
  5. for($i=0;$i<3;$i++){
  6. $reporte[$i] = $texto;
  7. }

Claro se ve complicado para solo 3 asignaciones pero imagina para "n":

$reporte1 = $texto;
$reporte2 = $texto;
$reporte3 = $texto;
... seguir escribiendo ...
$reporteN = $texto;

en cambio para arreglos, solo debes cambiar ese simple 3 del for

for($i=0;$i<3;$i++){

por "n" y listo, todo se asignará solo...

Saludos
  #5 (permalink)  
Antiguo 07/04/2017, 14:21
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Problema con Variable

porque no lo concatenas y despues lo separas con explode

Código PHP:
Ver original
  1. $cad = '';
  2.  
  3. for($i = 1; $i <= 30; $i++){
  4.  
  5. cad.= "valor $i[-]";
  6.  
  7. }
  8.  
  9. $misvalores = explode("[-]",$cad);

asi para obtener los valores

Código PHP:
Ver original
  1. foreach($misvalores as $ind => $dato){
  2.  
  3. echo "indice = $ind, valor: $dato<br>";
  4.  
  5. }
  #6 (permalink)  
Antiguo 07/04/2017, 14:33
 
Fecha de Ingreso: junio-2015
Mensajes: 30
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Problema con Variable

Muchas gracias por la ayuda, pero en contre la solucion precisa que buscaba se las planteo aqui.

Código PHP:
$idnum=$_POST["idtercero"];//contiene el array
    
$count count($idnum);
    for (
$x 0$x $count$x++) {
    
    
    ${
'reporte'.$x}='Hola';
    ${
'reporte'.$x}.=' esto';
    ${
'reporte'.$x}.=' es ';
    ${
'reporte'.$x}.=' una cadena';


echo ${
'reporte'.$x}; //si por ejemplo son 15 elementos en el array, obtendre 15 varibles $reporte1,$reporte2,$reporte3,
    
}    
asi genero las variables dinamicamente cuantas yo quiera 
Gracias por la ayuda pero esta me parece la mejor opcion a usar
  #7 (permalink)  
Antiguo 07/04/2017, 17:36
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Problema con Variable

porque quieres hacerlo asi se ve horrible, anteriormente te mencionaron trabajar con arreglos porque no haces esto

Código PHP:
Ver original
  1. $arr = array();
  2. $i = 1;
  3. foreach($_POST["idtercero"] as $ind => $dato){
  4.  
  5.     $arr["reporte_$i"] = $dato;
  6.    
  7.  
  8.     /*
  9.     $arr["reporte_$i"] = $dato;
  10.     $arr["reporte_$i"] .= $dato;
  11.  
  12.  
  13.     o mejor asi con solo el indice
  14.  
  15.     $arr[$i] = $dato;
  16.  
  17.     o asi
  18.  
  19.     $arr[$i]["reporte"] = 'Esto';
  20.     $arr[$i]["reporte"] .= ' es otro texto';
  21.     */
  22.  
  23.     $i++;
  24. }

es solo un simple aporte

suerte

Etiquetas: variable
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 09:25.