Foros del Web » Programando para Internet » PHP »

guardar datos introducidos en un textbox creado dinamicamente

Estas en el tema de guardar datos introducidos en un textbox creado dinamicamente en el foro de PHP en Foros del Web. Buenas, en el titulo no sabia q poner para dejar claro lo q quiero hacer asi q os lo cuento... tengo el siguiente codigo: Código ...
  #1 (permalink)  
Antiguo 01/08/2005, 00:49
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Pregunta Compara Resultados de una consulta con el contenido de una array.

Buenas, en el titulo no sabia q poner para dejar claro lo q quiero hacer asi q os lo cuento...

tengo el siguiente codigo:

Código PHP:
<table width="75%" cellpadding="0" cellspacing="0" class="list">
<tr>
<td align="left" class="listheader">Codi</td>
<td align="center" class="listheader">Article</td>
<td align="center" class="listheader">Quantitat</td>
</tr>
<? if ($rc_list_comanda == 0)
echo 
"<tr><td colspan=3 class=listitem>No hi ha resultats.</td></tr>";
for(
$cr_list_comanda=0;$row_list_comanda=mysql_fetch_array($qry_list_comanda);$cr_list_comanda++){ 
echo 
"<tr>"
echo 
"<td align='left' class=listitem>".$row_list_comanda[codiarticle]."</td>";
echo 
"<td align='left' class=listitem>".$row_list_comanda[nom_article]."</td>";
echo 
"<td align=center width=10% class=listitem><input type='text' name='numero' value='' onblur='comprovar()'></td>";    
echo 
"</tr>";
}
?>
</table>
Este codigo lo q hace es mostrarme en una table el resultado de una consulta y al lado de cada resultado se pone un textbox para q el usuario introduzca una cantidad. Este codigo es para hacer pedidos e inventarios de tiendas...
y el problema es q no se komo hacer para poder guardarme todos los datos introducidos en el textbox creado dinamicamente para poder realizar los pedidos y los inventarios.
Supongo q tendria d ser algo parecido a un carrito pero no ser...
Una vez guardados, tendre q mandarlos por correo... pero de momento solo me interesa lo primero
Si teneis alguna idea o algun ejemplo q pueda servirme...

Muchas gracias de antemano!

Última edición por sergi_climent; 03/08/2005 a las 10:43
  #2 (permalink)  
Antiguo 01/08/2005, 09:00
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
alguna idea de como hacerlo?
  #3 (permalink)  
Antiguo 01/08/2005, 11:01
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 1
En realidad no tendrías más que nombrar a cada textbox con un nombre diferente y luego obtenerlos por POST en este caso y ya, no te parece?.
__________________
:serio: :adios:
  #4 (permalink)  
Antiguo 01/08/2005, 23:59
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Mandar por POST varios Textbox creados apartir de una consulta.

es q el resultado de la consulta salen como unos 2500 articulos... se mandan entonces todos por POST? y el nombre de el TEXTBOX seria el ID del articulo... y luego komo recojo los 2500 articulos? solo me interesan los q el usuario a metido alguna cantidad.
Alguna idea?

Última edición por sergi_climent; 02/08/2005 a las 03:13
  #5 (permalink)  
Antiguo 02/08/2005, 03:53
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
este es mi codigo... Lo q quiero hacer es q cuando me metan todas las cantidades del pedido poderlas pasar a otra pagina ya sea mediante carrito o post... pero no ser como hacerlo... Luego tendre q mandar este pedido por correo electronico, pero esta parte ya la tengo solucionada... me podeis ayudar con la 1era opcion???? Pasar el id y la cantidad...
Gracias de antemano.

Código PHP:
?>
<script language="JavaScript">
function envia(){
    document.form1.submit();
}

</script>
<html>
<head>
    <link href="../../../../Style/Style.css" rel="stylesheet" type="text/css">
</head>
<body class="fondo">
<form name="form1" method="post" action="index.php?fuseaction=new">
<table width="75%"align="center" cellspacing=0 cellpadding=0 bgcolor="#CCCCCC" border=0>
    <tr>   
        <td height="10px" width="10px"></td>
        <td height="10px" align="left">
        <p align="left"><a href="index.php?fuseaction=list"><img src="../../../../img/sortir.gif" width="91" height="25" border="0"></a></p>
        </td>
        <td height="10px" align="right">
        <p align="right"><a href="javascript:envia();"><img src="../../../../img/continuar.gif" width="91" height="25" border="0"></a></p>
        </td>
        <td height="10px" width="10px"></td>
    </tr>
    <tr>
        <td height="10px" width="10px"></td>        
        <td align="center" colspan="2"><font size="3"><strong>Comandes</strong></font><p></p>
        <table width="75%" cellpadding="0" cellspacing="0" class="list">
            <tr>
                <td align="left" class="listheader">Codi</td>
                <td align="center" class="listheader">Article</td>
                <td align="center" class="listheader">Quantitat</td>
                    </tr>
                        <? if ($rc_list_comanda == 0)
                            echo 
"<tr><td colspan=3 class=listitem>No hi ha resultats.</td></tr>";
                            for(
$cr_list_comanda=0;$row_list_comanda=mysql_fetch_array($qry_list_comanda);$cr_list_comanda++){ 
                                echo 
"<tr>"
                                echo 
"<td align='left' class=listitem>".$row_list_comanda[codiarticle]."</td>";
                                echo 
"<td align='left' class=listitem>".$row_list_comanda[nom_article]."</td>";
                                
?> 
                                <input type='hidden' name='idarticle[]' value='<? echo($row_list_comanda[codiarticle]) ?>'>
                                <td align=center width=10% class=listitem><input type='text' name='quantitat[]'></td>
                                <?                                
                                
echo "</tr>";
                            }
                        
?>
                </table>
            </td>        
        <td height="10px" width="10px"></td>
    </tr>
    <tr>        
        <td width=100 colspan="4" height="15px" align="center"></td>
    </tr>
</table>
</form>
</body>
</html>
  #6 (permalink)  
Antiguo 02/08/2005, 05:12
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Nadieeee tiene alguna idea d como hacerlo?
  #7 (permalink)  
Antiguo 03/08/2005, 03:06
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Haber si mexplico mejor y me ayudais...
en este codigo me muestra una tabla con todos los articulos. y al lado un texto para q introduzcan la cantidad q quieren.

Código PHP:
?>
<script language="JavaScript">
function envia(){
    document.form1.submit();
}

function comprovar() {
    if (isNaN(document.form1.quantitat.value) && document.form1.quantitat.value != "") {
        alert("HAS D'INTRODUIR UN VALOR NUMÈRIC. RECORDA QUE LA COMA ÉS EL PUNT.");
        document.form1.quantitat.focus();
        document.form1.quantitat.value = "";
        }
}

</script>
<html>
<head>
    <link href="../../../../Style/Style.css" rel="stylesheet" type="text/css">
</head>
<body class="fondo">
<form name="form1" method="post" action="index.php?fuseaction=new">
<table width="75%"align="center" cellspacing=0 cellpadding=0 bgcolor="#CCCCCC" border=0>
    <tr>   
        <td height="10px" width="10px"></td>
        <td height="10px" align="left">
        <p align="left"><a href="index.php?fuseaction=list"><img src="../../../../img/sortir.gif" width="91" height="25" border="0"></a></p>
        </td>
        <td height="10px" align="right">
        <p align="right"><a href="javascript:envia();"><img src="../../../../img/continuar.gif" width="91" height="25" border="0"></a></p>
        </td>
        <td height="10px" width="10px"></td>
    </tr>
    <tr>
        <td height="10px" width="10px"></td>        
        <td align="center" colspan="2"><font size="3"><strong>Comandes</strong></font><p></p>
        <table width="75%" cellpadding="0" cellspacing="0" class="list">
            <tr>
                <td align="left" class="listheader">Codi</td>
                <td align="center" class="listheader">Article</td>
                <td align="center" class="listheader">Quantitat</td>
                    </tr>
                        <? if ($rc_list_comanda == 0)
                            echo 
"<tr><td colspan=3 class=listitem>No hi ha resultats.</td></tr>";
                            for(
$cr_list_comanda=0;$row_list_comanda=mysql_fetch_array($qry_list_comanda);$cr_list_comanda++){ 
                                echo 
"<tr>"
                                echo 
"<td align='left' class=listitem>".$row_list_comanda[codiarticle]."</td>";
                                echo 
"<td align='left' class=listitem>".$row_list_comanda[nom_article]."</td>";
                                
?> 
                                <input type='hidden' name='max' value='<? echo($rc_list_comanda?>'>
                                <input type='hidden' name='idarticle' value='<? echo($row_list_comanda[codiarticle]) ?>'>
                                <td align=center width=10% class=listitem><input type='text' name='quantitat'></td>
                                <?                                
                                
echo "</tr>";
                            }
                        
?>
                </table>
            </td>        
        <td height="10px" width="10px"></td>
    </tr>
    <tr>        
        <td width=100 colspan="4" height="15px" align="center"></td>
    </tr>
</table>
</form>
</body>
</html>
ellos pueden poner o no alguna cantidad...
en la otra pagina tengo q recoger los valores los cuales la persona haya introducido alguna cantidad...
ser q tengo q hacer una matriz bidimensional pero no se como assignar los valores a la matriz...
la matriz la tengo q llenar con el codigo del articulo y la cantidad q le ha asigando la persona.

Algo rollo esto xo q pueda discrimnar los valores q me pasan....

Código PHP:
$max $_POST['max'];// variable amb el tope de la consulta
$max=$max-1;
$reg 0
$reg1 =1;
$carrito=array();
while (
$reg <= $max) { 
    
        
$i = list ($Key$Value) = each($_POST['idarticle']); 
        
$i1 = list ($Key1$Value1) = each($_POST['quantitat']);
            
$carrito[$reg][$reg] = $Value
            
$carrito[$reg][$reg1] = $Value1
             
$reg++; 
            
$reg1++; 

Disculpen mi poca experiencia con arrays y matrices..

Gracias de antemano...
  #8 (permalink)  
Antiguo 03/08/2005, 05:51
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... viendo esto:
Código PHP:
<input type='hidden' name='max' value='<? echo($rc_list_comanda?>'>
<input type='hidden' name='idarticle' value='<? echo( $row_list_comanda[codiarticle]) ?>'>
Tienes el mismo error que acabo de explicar: http://www.forosdelweb.com/showthrea...70#post1203170

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 03/08/2005, 10:38
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Para no abrir un nuevo tema.... Cuando tengo el carrito cargado, hay la posibilidad de q puedan rectificar ese carrito entonces tengo q retroceder la pagina y volver a cargar el carrito con todos los articulos de la lista.
Lo q me gustaria saber como puedo hacer para q cuando vaya generando la lista de articulos... si el articulo en cuestion esta dentro del array q me cargue la cantidad q le habia puesto antes x defecto...
esta seria mi primera pagina donde cargan los articulos y ponen las cantidades....
Código PHP:
<? 
if ($rc_list_comanda == 0)
echo 
"<tr><td colspan=3 class=listitem>No hi ha resultats.</td></tr>";
for(
$cr_list_comanda=0;$row_list_comanda=mysql_fetch_array($qry_list_comanda);$cr_list_comanda++){ 
echo 
"<tr>"
echo 
"<td align='left' class=listitem>".$row_list_comanda[codiarticle]."</td>";
echo 
"<td align='left' class=listitem>".$row_list_comanda[nom_article]."</td>";
?> 
<td align=center width=10% class=listitem><input type='text' name='<? echo($row_list_comanda[codiarticle]) ?>'></td>
<?                                
echo "</tr>";
}
?>
y esta es mi segunda pagina donde lleno el carrito.
Código PHP:
<? 
foreach ($_POST as $idarticle => $quantitat)
    {    
    if (!empty(
$quantitat))
        {
        
$carrito[]=array($idarticle,$quantitat);
        }        
    }
echo 
"<pre>"
print_r($carrito); 
echo 
"</pre>";
?>
ahora si de la segunda pagina kiero volver atras y modificar algun articulo q no he introducido o bien variar alguna cantidad... como puedo hacerlo?

muchas gracias por todo.
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #10 (permalink)  
Antiguo 04/08/2005, 00:09
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Alguna manita q alguien me pueda echar?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
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 12:11.