Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2008, 14:02
hinfra
 
Fecha de Ingreso: octubre-2008
Mensajes: 93
Antigüedad: 15 años, 6 meses
Puntos: 1
Dudas sobre variables y consultas con la BD

Saludos,

tengo este formulario que me sirve para introducir grupos musicales en la base de datos:

form_inserta_grupo.php
Código php:
Ver original
  1. <?php
  2.  
  3. include ("header.php");
  4. include ("conectar.php");
  5.  
  6. ?>
  7.  
  8. <form name="form" action="insertagrupos.php" method="post">
  9. Nombre del grupo:
  10. <input name="nombre" type="text" size="20" /><br/><br/>
  11. Origen:
  12. <input name="origen" type="text" size="20" /><br/><br/>
  13. Estilo:
  14. <input name="estilo" type="text" size="15" /><br/><br/>
  15. Periodo de actividad:
  16. <input name="periodo_actividad" type="text" size="30" /><br/><br/>
  17. Discografica(s):
  18. <input name="discograficas" type="text" size="50" /><br/><br/>
  19. Sitioweb:
  20. <input name="sitioweb" type="text" size="20" /><br/><br/>
  21. Miembros actuales:<br/>
  22. <textarea rows="4" cols="25" align="top" name="miembros_actuales" type="text" size="100"></textarea><br/><br/>
  23. Miembros antiguos:<br/>
  24. <textarea rows="4" cols="25" align="top" name="miembros_antiguos" type="text" size="100"></textarea><br/><br/>
  25. Albums:<br/>
  26. <textarea rows="4" cols="25" align="top" name="albums" type="text" size="100"></textarea><br/><br/>
  27. <input name="Enviar" type="submit" value="Enviar" />
  28. </form>
  29.  
  30. <?php
  31.  
  32. include ("footer.php");
  33.  
  34. ?>

Y luego esto para introducirlo en la base de datos:

insertagrupos.php
Código php:
Ver original
  1. <?php
  2.  
  3. include ("header.php");
  4. include ("conectar.php");
  5.  
  6.  
  7. //Por si el servidor tiene desactivados los register globals----
  8. $nombre=$_POST['nombre'];
  9. $origen=$_POST['origen'];
  10. $estilo=$_POST['estilo'];
  11. $periodo_actividad=$_POST['periodo_actividad'];
  12. $discograficas=$_POST['discograficas'];
  13. $sitioweb=$_POST['sitioweb'];
  14. $miembros_actuales=$_POST['miembros_actuales'];
  15. $miembros_antiguos=$_POST['miembros_antiguos'];
  16. $albums=$_POST['albums'];
  17. //--------------------------------------------------------------
  18.  
  19.  
  20. $db="musicdai";
  21. mysql_select_db($db,$conectar);
  22.  
  23. $result = mysql_query("insert into grupos (nombre, origen, estilo, periodo_actividad, discograficas, sitioweb, miembros_actuales, miembros_antiguos, albums) values ('$nombre', '$origen', '$estilo', '$periodo_actividad', '$discograficas', '$sitioweb', '$miembros_actuales', '$miembros_antiguos', '$albums')", $conectar) or die ("error en ISERT: " .mysql_error());
  24.  
  25. echo "A insertado los siguientes datos:";
  26. echo "<br /><br />";
  27. echo "Nombre:$nombre";
  28. echo "<br />";
  29. echo "Origen:$origen";
  30. echo "<br />";
  31. echo "Estilo:$estilo";
  32. echo "<br />";
  33. echo "Periodo de actividad:$periodo_actividad";
  34. echo "<br />";
  35. echo "Discografica(s):$discograficas";
  36. echo "<br />";
  37. echo "Sitio web:$sitioweb";
  38. echo "<br />";
  39. echo "Miembros actuales:$miembros_actuales";
  40. echo "<br />";
  41. echo "Miembros antiguos:$miembros_antiguos";
  42. echo "<br />";
  43. echo "Albums:$albums";
  44. echo "<br /><br />";
  45. ?>
  46.  
  47. <a href="form_inserta_grupo.php">Volver a introducir un nuevo grupo.</a>
  48.  
  49. <?php
  50.  
  51. include ("footer.php");
  52.  
  53. ?>


Como se puede ver utilizo input y textarea para entrar los valores, que no sé si es lo más correcto para lo que yo quiero... Todo va perfectamente hasta aquí, pero lo que yo necessito es otra cosa, aver si me sé explicar.

Utilizo un text area para introducir los miembros de un grupo para que el usuario pueda introducir tantos como quiera, pero claro, eso es texto plano y luego se muestra como tal. Lo que necesito es que el usuario pueda introducir un miembro del grupo, y si desea, otro miembro, así sucesivamente... Para luego poderlos mostrar como algo parecido a:

- Miembro1: xxxxxx
- Miembro2: xxxxxx
- Miembro3: xxxxxx
- ...

No sé como plantearlo, solo se me ocurre ir creando registros en la base de datos del tipo: miembro1, miembro2, miembrox... Para así adaptarme a un numero variable de miembros pero no se si esto es possible...

Para mostrar la informacion sobre un grupo:

grupos.php
Código php:
Ver original
  1. <?php
  2.  
  3. include ("header.php");
  4. include ("conectar.php");
  5. ?>
  6.  
  7. <form name="form" action="buscachoches.php" method="post">
  8.  
  9. <?php
  10. $db="musicdai";
  11. mysql_select_db($db,$conectar);
  12.  
  13. //Por si el servidor tiene desactivados los register globals----
  14. $nombre=$_POST['nombre'];
  15. $origen=$_POST['origen'];
  16. $estilo=$_POST['estilo'];
  17. $periodo_actividad=$_POST['periodo_actividad'];
  18. $discograficas=$_POST['discograficas'];
  19. $sitioweb=$_POST['sitioweb'];
  20. $miembros_actuales=$_POST['miembros_actuales'];
  21. $miembros_antiguos=$_POST['miembros_antiguos'];
  22. $albums=$_POST['albums'];
  23. $id=$_GET['id'];
  24. //--------------------------------------------------------------
  25.  
  26.  
  27. $consulta = mysql_query("select * from grupos where id=$id", $conectar) or die ("error en SELECT: " .mysql_error());
  28.  
  29. while($row = mysql_fetch_array($consulta))
  30. {
  31. $id= $row["id"];
  32. $nombre= $row["nombre"];
  33. $origen= $row["origen"];
  34. $discograficas= $row["discograficas"];
  35. $periodo_actividad= $row["periodo_actividad"];
  36. $estilo= $row["estilo"];
  37. $sitioweb= $row["sitioweb"];
  38. $miembros_actuales= $row["miembros_actuales"];
  39. $miembros_antiguos= $row["miembors_antiguos"];
  40. $albums= $row["albums"];
  41.  
  42. echo "Nombre: $nombre";
  43. echo "<br /><br />";
  44. echo "Origen: $origen";
  45. echo "<br /><br />";
  46. echo "Estilo: $estilo";
  47. echo "<br /><br />";
  48. echo "Periodo de actividad: $periodo_actividad";
  49. echo "<br /><br />";
  50. echo "Discograficas: $discograficas";
  51. echo "<br /><br />";
  52. echo "Sitioweb: $sitioweb";
  53. echo "<br /><br />";
  54. echo "Miembros actuales: $miembros_actuales";
  55. echo "<br /><br />";
  56. echo "Miembros antiguos: $miembros_antiguos";
  57. echo "<br /><br />";
  58. echo "Albums: $albums";
  59. echo "<br /><br />";
  60. }
  61.  
  62. ?>
  63.  
  64. <a href="search.php">Volver a buscar</a>
  65.  
  66. <?php
  67.  
  68. include ("footer.php");
  69.  
  70. ?>

Creo que es necesario introducirlos en la base de datos como elementos separados para en un futuro poder listar, por ejemplo, todos los grupos en los que ha tocado cierto artista. Pero no veo muy bien como se relacionan tablas con phpmyadmin... aunque este ya es otro tema.

Lo mismo me ocurre con el textarea de Albums, donde realmente lo que desearia es guardar los albums de cada grupo para luego poderlos ver individualmente.

Espero explicarme bien, gracias de antemano.