PDA

Ver la Versión Completa : Enviar formulario a tablas, chekenlo


Caray
17-03-2007, 05:10:23
HOla ke tal , esperando que esten bien , los voy a molestar nuevamente.
Resulta que tengo unos combos anidados el primero selecciona una unidad académica, el segundo selecciona un docente de dicha unidad y el tercero selecciona la materia de ese maestro.
Ahora bien, los valores seleccionados de los tres campos se tiene que enviar a la tabla "encuesta" (en los campos c_unidad,c_profesor, c_materia) de la base de datos esa es mi primer pregunta como enviarlos: aqui te pongo el codigo de uno:
<select name="c_profesor" id="c_profesor" onChange="submit()">
<option value="" <?php if (!(strcmp("", $_POST['c_profesor']))) {echo "SELECTED";} ?>>Seleccionar</option>
<?php
do {
?>
<option value="<?php echo $row_Profesores['c_profesor']?>"<?php if (!(strcmp($row_Profesores['c_profesor'], $_POST['c_profesor']))) {echo "SELECTED";} ?>><?php echo $row_Profesores['nom_profesor']?></option>
<?php
} while ($row_Profesores = mysql_fetch_assoc($Profesores));
$rows = mysql_num_rows($Profesores);
if($rows > 0) {
mysql_data_seek($Profesores, 0);
$row_Profesores = mysql_fetch_assoc($Profesores);
}
?>
</select>
El otro asunto es el siguiente debajo de los select dependientes tengo lo que es las preguntas de la encuesta:ahi va el codigo de una de ella:

<tr>
<td><div align="center">1</div></td>
<td><span class="Estilo19">Durante el semester o periodo escolar, &iquest;En qu&eacute; momento entrg&oacute; el Profesor su progrma de Estudio?. La Primera Semana ( Valor de 5), en la Segunda Semana ( Valor de 4), en la Tercera Semana ( Valor de 3), despu&eacute;s de la Tercera Semana ( Valor de 2), no entreg&oacute; (Valor 1). </span></td>
<td><input type='radio' name='pregunta[1]' value='1'></td>
<td><input type='radio' name='pregunta[1]' value='2'></td>
<td><input type='radio' name='pregunta[1]' value='3'></td>
<td><input type='radio' name='pregunta[1]' value='4'></td>
<td><input type='radio' name='pregunta[1]' value='5'></td>
</tr>

En total son 18, para enviar a la misma tabla de encuesta uso el codigo que me recomendo Roman, que es este:
<?php
$valores = $c_unidad . ',' . $c_materia . ',' . $c_materia. implode(',', $_POST['pregunta']);
$sql = <<<EOF //ESTA ES LA LINEA 349
insert into encuesta
(c_unidad, c_profesor, c_materia, p1, p2, p3, p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18)
values($valores)
EOF;
?>
Pero me da el siguiente error:
Parse error: syntax error, unexpected T_SL in c:\appserv\www\dataremoto\evaluacion.php on line 349

Quisiera que me ayudaran a ver en que estoy mal y alguna forma de resolverlos. Utilizo PHP y Dreamweaver
Esperando respuesta me despido
Un amigo me dijo que pudiera ser por las primeras variables que le mando:
$c_unidad . ',' . $c_materia . ',' . $c_materia.

Que pusiera una variable que recibiera las valores claves de los select: en delphi seria algo asi
var
c_unidad : integer;
c_unidad:=unidad.keyvalue;// (unidad es el nombre del select)

Bueno pero esto es en Delphi y yo quiero hacerlo pero en PHP además de que no se si es cierto eso que me dijeron, asi que les estoy pidiendo su ayuda por eso.

droguerman
18-03-2007, 15:23:16
y no sería más sencillo depurarlo y hacer un echo de las variables que estás concatenando es decir:

echo "$c_unidad<BR>";
echo "$c_materia<BR>";

y si no hay nada raro, tambien podrías hacer esto


$sql = "insert into encuesta ".
"(c_unidad, c_profesor, c_materia, ".
"p1, p2, p3, p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,".
"p12,p13,p14,p15,p16,p17,p18) values($valores) ";
echo $sql;

Caray
20-03-2007, 21:37:17
Primero que nada gracias por la respuesta, en segundo termino como mandarle el valor clave del select a una variable.

Caray
21-03-2007, 04:52:07
Que onda Droguerman pues molestandote otra vez, mira puse el codigo como me sugeriste,aqui lo pongo pa' que lo cheques:
<?php
$valores =$c_unidad. ',' . $c_materia . ',' . $c_materia. implode(',', $_POST['pregunta']);
$sql ="insert into encuesta(c_unidad, c_profesor, c_materia,p1,p2,p3,p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18) values($valores)";
echo $sql;
?>

La página me la carga pero al final me sale esto:

Warning: implode(): Bad arguments. in c:\appserv\www\dataremoto\evaluacion.php on line 347
insert into encuesta(c_unidad, c_profesor, c_materia,p1,p2,p3,p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18) values(,,)

A que crees que se pueda deber esto.
Bueno esperando respuesta a las últimas dos dudas me despido, dando las gracias.