PHP - ver codigo

 
Vista:

ver codigo

Publicado por gonzalo (34 intervenciones) el 18/01/2006 19:12:59
hola buenas, tengo el siguiente problema con este codigo, les cuento, tengo que hacer una programa de ingreso de equipos computacionales en la cual tengo que ingresar el equipo y sus accesorios como teclado etc...

los demas lo tengo listo pero cuando tengo que ingresar los accesorios, es el problema.

el usuario tiene que elejir en un combo la cantidad de accesorios del equipo en el cual al elejir le paso como parametro al siguiente archivo la cantidad en la variable $cantidad y segun lo que elija se genera texbox de ingreso de datos como en el sigueinte coidogo , mi problema es que como lo ingreso a la Db si todos los campos tendran el mismo nombre ("name"). por por favor hacer sugerencias.. gracias...
for ($i = 1; $i <= $cantidad; $i++) {
$num = $i;

?>
<tr>
<td><input name="accesorios" type="text" id="accesorio"></td>
<td><input name="modelo" type="text" id="modelo"></td>
<td><input name="n_serie" type="text" id="n_serie" value="<?php echo $num; ?>"></td>
</tr>

<p>
<?php }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ver codigo

Publicado por Bugatti (3 intervenciones) el 18/01/2006 22:38:41
<?
for ($i = 1; $i <= $cantidad; $i++) {
$num = $i;
echo " <tr>
<td><input name=name".$1." type=tex" id=accesorio></td>
</tr>";
}
?>

Con esto crearas los campos de textos que te genere los ciclos del for, los nombres de las variables seran:

name1
name2
name3
name4
...
nameN

Espero te sirva, saludos desde Mexico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ver codigo

Publicado por Angel Geraldo (2 intervenciones) el 18/01/2006 23:32:05
Buenas

lo que dice el companero de mexico es correcto, ahora lo que no se es como estas manejando la base de datos para que tambien sea dinamica, te recomiendo que guardes los campos en forma vertical y no horizontal, para que la base de datos pueda ser dinamica.

por favor visita mi pagina www.tucelular.com.do

agradecere tus sugerencias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ver codigo

Publicado por gonzalo (1 intervención) el 19/01/2006 16:07:06
como lo hago para hacerlo vertical si tengo que ingresar el nombre del acceosrios, modelo y numero de serie, segun cantidad de accesorios que traiga el equipo..

con for o while como ...

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ver codigo

Publicado por Mike79 (669 intervenciones) el 20/01/2006 22:31:36
Los otros comentarios estan mal. Así terminaras con un monton de variables diferente. Lo ideal es hacerlo con arreglos.

Puedes leer la ayuda en:
http://www.php.net/manual/es/language.variables.external.php

Pero basicamente tu codigo quedaria así:

<?php
 for ($i = 1; $i <= $cantidad; $i++) {
  echo "<tr>\n";
  echo "<td><input type="text" name=\"accesorios[$i]\"
class=\"accesorio\"></td>\n";
  echo "<td><input type="text" name=\"modelo[$i]\" class=\"modelo\"></td>\n";
  echo "<td><input type="text" name=\"n_serie[$i]\" class=\"n_serie\" value=\"$num\"></td>\n";   echo "</tr>\n";
}
?>

Para recuperarlos, recojes el valor del campo, por ejemplo accesorios, lo guardas en una variable y luego le haces un foreach.

Como nota, cabe destacar que ya no puedes usar Id="accesorios" ya que por regla los id deben ser unicos, así que tendrias que cambiarlo a una clase, tal como lo propongo en el codigo.

continua...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ver codigo

Publicado por Mike79 (669 intervenciones) el 20/01/2006 22:56:24
Por otro lado, a lo que se refieren Angel Geraldo en un post anterior, es que no cometas la tontada de poner en tu tabla:

IdProducto Accesorio1 Modelo1 NSerie1 Accesorio2 Modelo2 etc..
(Es decir, en forma horizontal)

Mejor pon una tabla que tenga
IdProducto Accesorio Modelo NSerie
(Es decir en forma vertical)

Donde no importa que repitas registros, pero ya sabes que si un equipo tiene 20 accesorios, entonces tienes 20 registros, uno por cada accesorios.

Si tu tabla es muy grande, entonces partela en dos, es decir si tienes una tabla
Computadora con datos como en que departamento se encuentra la computadora, de que color es, etc.. Y obvaimente no quieres que estos datos se repitan, entonces pon un campo auto incremental, donde a cada computadora le asignes un número y otra tabla con todos los accesorios que tienes, donde solo pones el No. de la computadora y las caracteristicas de cada accesorio. A esto se le conoce como relación de tablas.

Espero haberme explicado bien.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar