Foros del Web » Programando para Internet » PHP »

ir agregando tabla con textbox estilo "agregar un campo mas?"

Estas en el tema de ir agregando tabla con textbox estilo "agregar un campo mas?" en el foro de PHP en Foros del Web. Si bueno ese es el caso, toy trabajando con uan base de datos, y el formato de la pagina debe ser muy limpio asi que ...
  #1 (permalink)  
Antiguo 21/06/2007, 09:42
 
Fecha de Ingreso: junio-2007
Mensajes: 3
Antigüedad: 17 años, 5 meses
Puntos: 0
ir agregando tabla con textbox estilo "agregar un campo mas?"

Si bueno ese es el caso, toy trabajando con uan base de datos, y el formato de la pagina debe ser muy limpio asi que use adove go live etc etc, en concecuencia a esto me solicitaron lo siguiente:

tengo una tabla con los campos "numfactura", "Descripcion","cantidad" vale?
las cajas de texto que usare tienen el mismo nombre:

Numero de factura-----Descripcion-----Cantidad ---- +Agregar otro item?
123--------------------teclado---------12
124--------------------mousepad-------20
125---------------------joystick--------45

la idea es que si agrego otro item se usando una caja de texto y llenando los datos quedaria algo asi:

Numero de factura-----Descripcion-----Cantidad ---- +Agregar otro item?
123--------------------teclado---------12
124--------------------mousepad-------20
125---------------------joystick--------45
126--------------------grabador dvd-----6

Donde 126 seria el nuevo item que agregamos, todo esto obviamente va a la tabla en un solo click :/ aki dejo el codigo que uso para grabar y hacer el efecto de agregar cajas:

<?php
if(isset($_POST['submit']) ) {
$db = mysql_connect("localhost", "yo_user", "mipass");
mysql_select_db("mi_BD",$db);
$numfactura = $_POST['numfactura'];
$descripcion = $_POST['descripcion'];
$cantidad = $_POST['cantidad'];
$sql = "INSERT INTO demo(numfactura, descripcion, cantidad)
VALUES ('$numfactura','$descripcion','$cantidad')";

$result = mysql_query($sql);
header("Location: index.php");
// echo "<br>Thank you! Information entered.\n";
// echo "<br><a href=\"index.php\"> HOME </a> ";
}
else {
?>
<link href="astyles.css" rel="stylesheet" type="text/css" />

<form method="post" action="x.php" name="outputForm1">
<table id="tabla_1">
<thead>
<tr>
<th>Factura N&ordm; </th>
<th>Descripcion</th>

<th>Cantidad</th>
<th>&nbsp;</th>
</tr>
</thead>

<tbody>

<!-- Fila escondida, que va a llegar con un base 0 -->
<tr id="clonable" style="display:none">
<td><input type="text" name="numfactura" /></td>
<td><input type="text" name="descripcion" /></td>

<td><input type="text" name="cantidad" /></td>
<td><a href="#" onClick="borraFila(this.parentNode.parentNode)">El iminar</a></td>
</tr>
<!-- Esta fila va a ser la clonada -->

<tr id="tabla_1_fila_1">
<td><input type="text" name="numfactura" /></td>
<td><input type="text" name="descripcion" /></td>
<td><input type="text" name="cantidad" /></td>
<td><a href="#" onClick="borraFila(this.parentNode.parentNode)">El iminar</a></td>

</tr>

</tbody>

<tfoot>
<tr>
<td colspan="n">
<a href="javascript:agregaFila( 'tabla_1' );">Agregar Fila</a>
</td>
</tr>
</tfoot>

</table>

<input type="submit" name="submit" value="Aceptar">
</form>


<?
}
?>
<script>

function agregaFila( id ) {
var tabla = document.getElementById( id );
var tbody = document.getElementById( tabla.id ).tBodies[0];
var row = tbody.rows[0].cloneNode( true );
var id = 1;
while( document.getElementById( tabla.id+'_fila_'+id ) ) {
id++;
}
row.id = tabla.id+'_fila_'+id;
row.style.display = '';
tbody.appendChild( row );
}

function borraFila( fila ) {
var id = fila.id;
if( fila.parentNode.rows.length <= 2 ) return;
document.getElementById( id ).parentNode.removeChild( document.getElementById(id) );
}

</script>

soy medio tonto en estas cosas y no duermo hace como 2 dias ais que si serian tan amables sean claros en la explicacion de como hacerlo, desde ya muchas gracias.
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 21:35.