Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
23 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Foros / PHP / Introducir valores de campos text en un array
5 respuestas recibidas | 129 visitas | Categoría PHP

Introducir valores de campos text en un array

Avatar de tesitina
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 36 posts)

#0 Offline tesitina Usuario 02 abr 08 (09:51)  
Hola!

Alguién sabe como introducir los valores del siguiente campo text de un formulario en un array, para poder recibirlo en otra página.

Código PHP


<form ....>
<?php
for($i=0;$i<10;$i++){
  <
input type="text" name=cantidad[]>
}
?>
</form

Re: Introducir valores de campos text en un array

Avatar de panino
Nivel 7 Nivel 7 Nivel 7 Nivel 7 Nivel 7 Nivel 7 Nivel 7

(Nivel 7 - 1145 posts)

#1 Offline panino Moderador 02 abr 08 (11:14)  
No sé si entiendo bien la pregunta. Agregarle valores se hace simplemente con el atributo value (ojo con el manejo de las comillas que estás haciendo):

Código PHP


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
</head>
<body>
<form>
<?php
for($i=0;$i<10;$i++){?>
  <input type="text" name="cantidad[]" value="<?php echo $i ?>">
<?php } ?>

</form>
</body>
</html>

www.disegnocentell.com.ar

Re: Introducir valores de campos text en un array

Avatar de xGallox
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 134 posts)

#2 Offline xGallox Usuario 02 abr 08 (11:18)  
si haces un:

print_r($_POST);

Podras ver el resultado que te llega creo que se accede con cantidad[N], donde n es el numero de ese textbox. osea:
$_POST['cantidad[1]']
$_POST['cantidad[2]']
etc..

Re: Introducir valores de campos text en un array

Avatar de tesitina
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 36 posts)

#3 Offline tesitina Usuario 02 abr 08 (12:10)  
Perdonad pero es que no me he explicado muy bien.
Estoy intentando hacer un carrito de la compra. Entonces selecciono de la base de datos todos los productos de un determinado tipo de producto, y los muestro en la tabla. Cada producto tiene un numero identificativo.

el código de tablaproducto.php es:

Código PHP


......
<form method="post" action="agregaralcarro.php">

    <table align="center" class="tablanumeros" border="0" bordercolor="<a class=\"numPost\" href=\"/foros/PHP/29213#333333\">#333333</a>">
        <tr bgcolor="#CC0000" height="23">
                   <td width="125"><font size="-1"><b>NÚMERO PRODUCTO</b></font></td>
                <td width="125"><font size="-1"><b>PRECIO</b></font></td>
                <td width="125"><font size="-1"><b>DISPONIBLES</b></font></td>
                <td width="150"><font size="-1"><b>CANTIDAD</b></font></td>
        </tr>
        $i=0;
    <?php
        
//Comprobamos con isset si existe algún valor guardado en la variable de sesión. En caso afirmativo, los asignamos al carro. En caso contrario lo ponemos a                                     //valor false
        
if(isset($_SESSION['carro']))  
            
$carro=$_SESSION['carro'];
        else
            
$carro=false;  

        
$numeros_query = "SELECT * FROM producto1 WHERE tipo_producto= '$tipoproducto'";
        
$numeros_results = mysql_query($numeros_query, $link) or die(mysql_query());
        
        
$sess = session_id();

        while(
$numeros_row = mysql_fetch_array($numeros_results))
        {        
    
?>        
        <tr>
            <td><?php echo $numeros_row[1];?><input type="hidden" name="numerosproductos[<?php echo $numeros_row[1];?>]" /></td>
            <td><?php echo $precio;?> €</td>
            <td><?php echo $numeros_row[2];?></td>
            <td><input type="text" name="cantidad[]" maxlength="3" size="3" /></td>
        </tr>
        
        <?php
    
}
    
?>
    </table>
    <input type="hidden" name="sess" value="<?php echo $sess;?>" />
    <input type="hidden" name="numsorteo" value="<?php echo $tipoproducto;?>" /><br />
    <table border="0" width="88%">
    <tr>
    <td align="right"><input type="submit" name="submit" value="Agregar al carrito"></td></tr></table>
    </form>
....




Como podéis ver, los numeros de los productos los envio con un tipo hidden en un array, porque los tengo previamente. Con ese no tengo problemas. Pero la cantidad de elementos de un producto que desea adquirir el usuario no se muy bien como enviarla a la siguiente página. Estaba intentando hacerlo igual, con un array, pero no obtengo las cantidades.

En agregaralcarro.php recojo los numeros de los productos asi:

Código PHP


<?php

    $numeros
= array_keys($_POST['numerosproductos']);
    
$tipoproducto = $_POST['tipoproducto'];
    
$sess = $_POST['sess'];
    
    
$cadenalista=implode(", ", $numeros);
    echo
"<br>".$cadenalista;    
?>

Re: Introducir valores de campos text en un array

Avatar de panino
Nivel 7 Nivel 7 Nivel 7 Nivel 7 Nivel 7 Nivel 7 Nivel 7

(Nivel 7 - 1145 posts)

#4 Offline panino Moderador 02 abr 08 (13:07) Valor Valor Valor  
Pués tendrías que utilizar algo semejante a esto, para tener los índices asociados apropiadamente, y luego poder recorrerlos con un bucle, ya que como verás en este test, a $_POST['numerosproductos'][0] le corresponde $_POST['cantidad'][0], a $_POST['numerosproductos'][1] le corresponde $_POST['cantidad'][1] y así a $_POST['numerosproductos'][n] le corresponde $_POST['cantidad'][n]:

Código PHP


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
</head>
<body>
<form action="<?php echo basename($_SERVER['PHP_SELF']) ?>" method="post">
  <table>
    <tr>
      <td>15
        <input type="hidden" name="numerosproductos[]" value="15" /></td>
      <td>300 €</td>
      <td>algo</td>
      <td><input type="text" name="cantidad[]" maxlength="3" size="3" /></td>
    </tr>
    <tr>
      <td>20
        <input type="hidden" name="numerosproductos[]" value="20" /></td>
      <td>500 €</td>
      <td>algo 2</td>
      <td><input type="text" name="cantidad[]" maxlength="3" size="3" /></td>
    </tr>
    <tr>
      <td>30
        <input type="hidden" name="numerosproductos[]" value="30" /></td>
      <td>700 €</td>
      <td>algo</td>
      <td><input type="text" name="cantidad[]" maxlength="3" size="3" /></td>
    </tr>
  </table>
  <input type="submit" name="Submit" value="Enviar" />
</form>
<pre>
<?php
print_r
($_POST);
?>
</pre>
</body>
</html>

www.disegnocentell.com.ar

Gracias

Avatar de tesitina
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 36 posts)

#5 Offline tesitina Usuario 03 abr 08 (10:08)  
Muchisimas gracias!! esto me soluciona el problema y ademas mejora lo que yo tenia pensado hacer, porque me relaciona cada numero de producto con la cantidad mediante un indice.

Gracias

Responder mensaje

Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster