🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #3335

Re: php variables dianmicas

#3335
From: Jos� Miguel Santib��ez
Date: Mon, 21 Mar 2005 04:21
143 lines
6143 bytes
En el cap�tulo anterior (news:d1l07t$aiv$1@news1.nivel5.cl), "Rick_oj"
<rick_oj@[sin-esto]tutopia.com> dijo: 

> En las news:Xns961FBD204747Fjmsnews@200.27.221.71, a Jos� Miguel
> Santib��ez se le ocurrio
> tipear:
>> En el cap�tulo anterior (news:d1kjcf$7ef$1@news1.nivel5.cl),
>> "Rick_oj" <rick_oj@[sin-esto]tutopia.com> dijo:
>>
>>> tengo una duda de una pagina estoy recogiendo X valor, y a la pagina
>>> que llega crea X campos de texto, luego envia a otra pagina los
>>> valores, pero no se como  crear X variables, es decir si de un campo
>>> de texto de un formulario recibo un 2, en la pagina siguiente se
>>> crearan 2*2 campos, luego deseo crear 2*2 variables de forma
>>> dinamica, pero no se me ocurre como, me dijeron algo con arreglos
>>> pero no se si se pueda usar arreglos en algo asi
>>>
>>> tengo algo asi
>>>
>>> <?$total=$_POST['numero'];? //este lo recibo de una pagina 1
>>>
>>> //esta es la pagina 2
>>> <form name="formulario" method="post" action="pagina3.php">
>>>   <?
>>> for($i=1 ; $i<$total+1 ; $i++)
>>> {
>>>>
>>>       <input type="text" name="campo<? echo"$i" ?>">
>>>      <input type="text" name="valor<? echo"$i" ?>">
>>>     <?
>>> }
>>>>
>>>
>>> //pagina 3
>>> entonces en esta pagina tendria $variable1=$_POST['campo1'];
>>> $variable2=$_POST['campo2']; $variable3=$_POST['valor1'];
>>> $variable4=$_POST['valor2'];
>>> como podria hacer esto? espero que se entienda
>>>
>>>
>>>
>>>
>>
>> Como una vez hice algo parecido, te transcribo parte del c�digo:
>>
>> p1.html
>> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
>> <html><body>
>>  <form action=p2.php>
>>    Ingrese nombre Tabla:
>>    <input type=text name=tabla>
>>    Ingrese n�mero de campos:
>>    <input type=text name=cantidad>
>>    <input type=submit value=ingresar>
>>  </form>
>> </body></html>
>> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
>>
>> p2.php
>> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
>> <html><body>
>>  <form action=p3.php>
>>    <? $tabla = $_REQUEST["tabla"];
>>       $cantidad = $_REQUEST["cantidad"];
>>       echo "<input type=hidden name=tabla value=$tabla>\n";
>>       echo "<input type=hidden name=cantidad value=$cantidad>\n";
>>       for ($i = 0; $i < $cantidad; $i++) {
>>         echo "<input type=text name=campo$i><p>\n";
>>         // este debiera ser un campo de tipo select
>>         echo "<input type=text name=tipo$i><p>\n";
>>         echo "<input type=text name=largo$i><p>\n";
>>       }
>>>
>>    <input type=submit value=Continuar>
>>  </form>
>> </body></html>
>> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
>>
>> p3.php
>> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
>> <html><body>
>>   <h1>Los valores son:</h1>
>>    <? $tabla = $_REQUEST["tabla"];
>>       $cantidad = $_REQUEST["cantidad"];
>>       // $sql = "CREATE TABLE $tabla ("
>>       for ($i = 0; $i < $cantidad; $i++) {
>>         // if ($i) $sql .= ',';
>>         // $sql .= $_REQUEST["campo$i"] . " " .
>>         // $_REQUEST["tipo$i"];
>>         // if (strlen($_REQUEST["largo$i"])
>>         //   $sql .= "(" . $_REQUEST["largo$i"] . ")";
>>         echo "Campo: " . $_REQUEST["campo$i"];
>>         echo "Tipo: " . $_REQUEST["tipo$i"];
>>         echo "Largo: " . $_REQUEST["largo$i"] . "<p>\n";
>>       }
>>       // $sql .= ')';
>>>
>> </body></html>
>> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ---
>>
>> Espero que te ayude m�s que el muy cr�ptico mensaje de ayer...
>>
>> si descomentas las l�nas del $sql, debiera tener parte del c�digo de
>> creaci�n de una tabla, aunque de memoria no estoy del todo seguro...
> 
> algo asi es lo que quiero hacer, para el caso de crear la variables
> dinamicamente deberia usar arreglo algo asi como esto?
> 
>        for ($i = 0; $i < $cantidad; $i++) {
>          $variable1[$i]=$_REQUEST["campo$i"];
>          $variable2[$i]=$_REQUEST["tipo$i"];
>          $variable3[$i]=$_REQUEST["largo$i"];
>        }
> 

para que necesitas pasar del $_REQUEST al $variables?
digo, quiz� sea m�s simple manejarlas directamente...

En todo caso, si lo que dices debiera funcionar... te va a crear tres 
arreglos, uno para el nombre, otro para el tipo y el tercero para el largo, 
y en cada posici�n quedar�n los datos relacionados...

En todo caso, si vas a usar arreglos, en vez de eso, yo sugerir�a:

        for ($i = 0; $i < $cantidad; $i++) {
          $variable[$i][0] = $_REQUEST["campo$i"];
          $variable[$i][1] = $_REQUEST["tipo$i"];
          $variable[$i][2] = $_REQUEST["largo$i"];
        }

IMHO, esa es mejor estructura de datos que la anterior...
o a�n m�s elegante:

        for ($i = 0; $i < $cantidad; $i++) {
          $variable[$i]["campo"] = $_REQUEST["campo$i"];
          $variable[$i]["tipo"]  = $_REQUEST["tipo$i"];
          $variable[$i]["largo"] = $_REQUEST["largo$i"];
        }

-- 
                           Jose M. Santiba�ez A.
                             <jms@nivel5.cl>
                           <http://caos.cl/jms>
Technical Details
Message-ID: <Xns96203994C554jmsnews@200.27.221.71>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!news.vcd.cl!not-for-mail
References: <d1kjcf$7ef$1@news1.nivel5.cl> <Xns961FBD204747Fjmsnews@200.27.221.71> <d1l07t$aiv$1@news1.nivel5.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,217afd57e2caed0a
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion
Subject: Re: php variables dianmicas
From: "Jos� Miguel Santib��ez" <jms@nospam.nivel5.cl>
References: <d1kjcf$7ef$1@news1.nivel5.cl> <Xns961FBD204747Fjmsnews@200.27.221.71> <d1l07t$aiv$1@news1.nivel5.cl>
Organization: Caos Consultores
Message-ID: <Xns96203994C554jmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
NNTP-Posting-Host: 120-92-112.adsl.terra.cl
Date: 21 Mar 2005 01:21:24 -0300
X-Trace: news.vcd.cl!not-for-mail 1111382484 120-92-112.adsl.terra.cl (21 Mar 2005 01:21:24 -0300)
Lines: 143
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!news.vcd.cl!not-for-mail