Hola de nuevo,
Pues esta vez tengo el siguiente problema:
Tengo un formulario:
Código HTML:
Ver original<script language="javascript" type="text/javascript"> function d1(selectTag){
if(selectTag.value == 'normal'){
document.getElementById('horas').disabled = false;
document.getElementById('minutos').disabled = false;
}else{
document.getElementById('horas').disabled = true;
document.getElementById('minutos').disabled = true;
}
if(selectTag.value == 'multimedia'){
document.getElementById('diafin').disabled = false;
document.getElementById('mesfin').disabled = false;
document.getElementById('aniofin').disabled = false;
}else{
document.getElementById('diafin').disabled = true;
document.getElementById('mesfin').disabled = true;
document.getElementById('aniofin').disabled = true;
}
}
<form action="..." method="post" OnSubmit="return valida(this)"> <label><b>Categor
ía
</b> <select id="categoria" name="categoria" onchange="d1(this)"> <option SELECTED value="">Selecciona una categor
ía
<option value="normal">Evento Programado o espont
áneo
<option value="multimedia">Evento Multimedia
<b>Fecha
</b> <i>(Fecha de Inicio)
</i>:
<SELECT id="dia" name="dia"> dias~
meses~
<b>Fecha de Finalizaci
ón:
</b> <SELECT disabled="true" id="diafin" name="diafin"> dias~
</SELECT> <SELECT disabled="true" id="mesfin" name="mesfin"> meses~
<b>Hora:
</b> <input type="text" maxlength="2" size="2" disabled="true" name="horas" id="horas"> :
<input type="text" maxlength="2" size="2" disabled="true" name="minutos" id="minutos"> (Hora Per
ú)
<br> <label><b>Organizador:
</b> <input type="text" name="organizador" id="organizador" value="<?php echo $user->data['username']; ?>" readonly="readonly">
</label><br> <br><input type="submit" name="submit" value="Enviar" />
Lo que hace básicamente es activar los campos
horas y minutos si se selecciona el value
normal como categoria. Si se selecciona multimedia activa los campos
diafin, mesfin, aniofin. De esa forma, los eventos de categoria normal cuentan con una hora fijada
(sin fecha de finalización), y los multimedia con una fecha de finalización
(sin hora).
Pues bien, al seleccionar multimedia y enviar el formulario los datos se ingresan perfectamente. Pero al elegir normal
(es decir, ingresar una hora) me sale el siguiente error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '-', , '-', )),'normal')' at line 1
realizo la sintaxis de la siguiente manera:
Código PHP:
Ver original$query = "INSERT INTO eventos (nombre,link,fecha,horas,minutos,organizador,fecha_fin,categoria) values ('{$_POST['nombre']}','{$_POST['link']}',DATE(CONCAT({$_POST['anio']}, '-', {$_POST['mes']}, '-', {$_POST['dia']})),'{$_POST['horas']}','{$_POST['minutos']}','{$_POST['organizador']}',DATE(CONCAT({$_POST['aniofin']}, '-', {$_POST['mesfin']}, '-', {$_POST['diafin']})),'{$_POST['categoria']}')";
Espero su ayuda, gracias desde ya.