Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2009, 13:58
nelypizarro
 
Fecha de Ingreso: octubre-2009
Ubicación: Córdoba
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 1
introducir datos de un checkbox

Hola a todos.
Tengo un problema, he creado dos tablas en una base de datos, una (deportes) con los deportes e iddeporte
y otra (clientes) con nombres, idnombre e iddeporte.

quiero que salga un formulario donde el cliente ponga su nombre y de un checkbox seleccione uno o varios deportes.
estos datos deben de introducirse en la base de datos, exactamente en la tabla clientes.
También quiero que se puedan listar por ejemplo saber cuantos practican futbol, por eso la tabla de deportes.
El problema es el siguiente, los datos del formulario que rellena el cliente llegan bien, pero solo se introduce en la tabla un deporte de los varios que ha podido marcar, ¿como hago el insert para que entren todos los deportes marcados?
aqui va el codigo.

<td>
<p><b>Deporte:</b></>
</td>
<td width ="150">

<input type="checkbox" name="iddeporte[]" value="1">tenis
<br>
<input type="checkbox" name="iddeporte[]" value="2">natación
<br>
<input type="checkbox" name="iddeporte[]" value="3">futbol
<br>
<input type="checkbox" name="iddeporte[]" value="4">baloncesto
<br>

</td>

los valores "value" corresponden con el iddeporte de la tabla deportes.

cuando verifico, se han enviado bien los valores:
$iddeporte=join(",", $_POST['iddeporte']);

echo $iddeporte;
se listan los diferentes iddeporte introducidos.

hasta aqui todo bien,

pero en la base de datos solo inserta un iddeporte, aqui va el codigo que me da problemas

function insert_deporte($iddeporte, $nombre)


{
$conn = db_connect();


// inserta nuevo cliente en la base de datos


$query = 'INSERT INTO `ingenielex`.`clientes` (`iddeporte`, `nombre`) VALUES ("'.$iddeporte.'", "'.$nombre.'");';

$result = mysql_query($query);

if (!$result)
{
echo "<h2>No se ha podido introducir al cliente '$nombre'</h2>";

return false;
}

else

echo "<h2>El cliente '$nombre' ha sido introducido.</h2>";

return true;

}

Muchas gracias