02/11/2007, 12:21
|
| | | Fecha de Ingreso: noviembre-2007 Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años, 3 meses Puntos: 25 | |
Re: Duda con INSERT múltiple Aqui esta la solucion al problema espero que te sirva :D
CREATE TABLE `encuestas` (
`id_enc` int(11) NOT NULL auto_increment,
`pregunta` char(50) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id_enc`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
CREATE TABLE `encuestas_opt` (
`id_opt` int(11) NOT NULL auto_increment,
`opciones` char(50) collate latin1_general_ci NOT NULL,
`num_votos` int(3) NOT NULL,
`id_enc` int(11) NOT NULL,
PRIMARY KEY (`id_opt`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
<?php
mysql_connect('localhost','root','');
mysql_select_db('pruebas');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Encuestas</title>
<meta name="distribution" content="global" />
<meta name="robots" content="all" />
<style type="text/css">
body {
font-family: 'Trebuchet MS', Verdana, Arial, Helvetica, sans-serif; /* Tahoma,Verdana, sans-serif*/
Font-size: 10pt;
background: #fff;
padding: 0;
margin: 0;
}
a.link {
color: #0066cc;
text-decoration: none;
}
a.link:hover {
text-decoration: underline;
}
.file {
display: block;
}
label {
display: block;
}
span a {
margin-left: 1em;
}
</style>
<script type="text/javascript">
var numero = 0;
// Funciones comunes
c = function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
return evt.srcElement ? evt.srcElement : evt.target;
}
addField = function () {
container = d('files');
span = c('SPAN');
span.className = 'file';
span.id = 'file' + (++numero);
field = c('INPUT');
field.name = 'opciones[]';
field.type = 'text';
a = c('A');
a.name = span.id;
a.href = '#';
a.onclick = removeField;
a.innerHTML = 'Quitar';
span.appendChild(field);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {
lnk = f(e(evt));
span = d(lnk.name);
span.parentNode.removeChild(span);
}
</script>
</head>
<body>
<?php
//Preguntamos si nuetro arreglo 'archivos' fue definido
if(isset($_POST['enviar'])) {
if($_POST['pregunta'] == '') {
echo "No has ingresado la pregunta de la encuesta. <a class='link' href='javascript:history.back()'>Regresar</a>";
}else {
$pregunta = strip_tags($_POST['pregunta']);
mysql_query("INSERT INTO encuestas (pregunta) VALUES('".$pregunta."')");
$id_enc = mysql_insert_id();
$cont = '0';
$cant = count($_POST['opciones']);
while($cont < $cant){
// $opciones = $opciones["$cont"];
$sql = mysql_query("INSERT INTO encuestas_opt (opciones, id_enc) VALUES ('".$_POST['opciones'][$cont]."', '".$id_enc."')");
$cont++;
}
echo "exito";
}
}else {
?>
<form name="frm" id="frm" method="post">
<label>Título de la encuesta:</label>
<input type="text" name="pregunta" size="30" /><br />
<label>Opciones:</label>
<a class="link" href="#" onclick="addField()" accesskey="5">Añadir opciones</a>
<div id="files"></div>
<input type="submit" value="Guardar datos" id="envia" name="enviar" />
</form>
<?php
}
?>
</body>
</html>
Última edición por eddwinpaz; 02/11/2007 a las 15:00 |