Ver Mensaje Individual
  #8 (permalink)  
Antiguo 19/06/2009, 07:16
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 4 meses
Puntos: 74
Respuesta: Varios datos y foreach

Synkronice, lo de:
Cita:
<input type="text" name="url[1]">
, ya lo estoy haciendo con esto, ¿no?:
Cita:
Enlace:<INPUT TYPE="text" NAME="enlace[<?php echo $MostrarFilaServidores['id_serv']; ?>]" SIZE="15" MAXLENGTH="100"><br>
Con eso lo que hago es identificar a que servidor pertenece cada enlace.

Al margen de esto, de la manera que lo ha puesto alguienmas, parece que me empieza funcionar pero no del todo.

Antes de nada, asi lo tengo ahora:


Código Mostramos servidores:
Ver original
  1. <tr>
  2. <td>Servidor:</td>
  3. <td>
  4. <?php
  5.  
  6. $sqlServidores=mysql_query("SELECT * FROM oc_servidores ORDER BY id",$conexion);
  7.  
  8. $i=0;
  9.  
  10. while($MostrarFilaServidores=mysql_fetch_array($sqlServidores)){
  11.  
  12. $i++;
  13.  
  14. $ide = $MostrarFilaServidores['id'];
  15.  
  16.  $nombre = $MostrarFilaServidores['nom_serv'];
  17.  ?>
  18.  
  19. <input type="checkbox" name="id_serv[<?php echo $MostrarFilaServidores['id_serv']; ?>]" onclick="showMe('div1<?php echo $i ?>', this)" value="<?php echo $MostrarFilaServidores['id_serv']?>"><?php echo $nombre; ?><br />
  20.  
  21. <div id="div1<?php echo $i ?>" style="display:none">
  22. <SPAN ID="contenido" CLASS="hideable">
  23.  
  24. Enlace:<INPUT TYPE="text" NAME="enlace[<?php echo $MostrarFilaServidores['id_serv']; ?>][]" SIZE="15" MAXLENGTH="100"><br>
  25.  
  26. Enlace:<INPUT TYPE="text" NAME="enlace[<?php echo $MostrarFilaServidores['id_serv']; ?>][]" SIZE="15" MAXLENGTH="100"><br>
  27.  
  28. </FORM>
  29. </SPAN>
  30. </div>
  31.  
  32. <?php
  33.  }
  34.  
  35.  ?>
  36. </td>
  37. </tr>

Código Aqui el insert:
Ver original
  1. $id_servidor=$_POST['id_serv'];
  2. $enlaces=$_POST['enlace'];
  3. foreach ($id_servidor as $indice => $valor) {
  4.       foreach($enlaces[$indice] as $link) {
  5.                   echo "{$id_servidor[$indice]} : {$link}<br />";  
  6.      
  7.  
  8.       $connection=mysql_connect("localhost","root","pass")
  9.  
  10.       or die("Error conectando a la base de datos");
  11.  
  12.       $db=mysql_select_db("deffer",$connection)
  13.  
  14.       or die ("Error seleccionando la base de datos");
  15.  
  16.       $query="INSERT INTO oc_servers_pel1 (id_servidor,enlace) values ('$id_servidor[$indice]','$link')";
  17.  
  18.       $result=mysql_query($query) or die (mysql_error());
  19.       }
  20.       }

¿Que sucede ahora?, pues se podría decir que me funciona, pero no del todo, puesto que si por ejemplo, selecciono el primer servidor, y relleno los dos inputs que hay, y luego a continuación selecciono el segundo servidor y SOLO relleno un input (el otro lo dejo vacio)
Ejemplo:


Al subirse a la base de datos, queda asi:

id = 1
id_servidor = 1
enlace = www.demo.com

id = 2
id_servidor = 1
enlace = www.demo2.com

id = 3
id_servidor = 2
enlace = www.ejemplo.com

id = 4
id_servidor = 2
enlace =

O sea que, se sube correctamente, pero si hay un input que queda vacio, pues tambien se sube . ¿Como lo puedo solucionar?

Bueno, al menos se va progesando

Muchas gracias, a todos una vez más