Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formulario a base de datos

Estas en el tema de Formulario a base de datos en el foro de PHP en Foros del Web. Buenas, estoy intentando importar un formulario a una base de datos pero no me funciona... Los datos llegan al seguno archivo porque si hago un ...
  #1 (permalink)  
Antiguo 14/01/2014, 05:51
 
Fecha de Ingreso: septiembre-2012
Mensajes: 24
Antigüedad: 11 años, 7 meses
Puntos: 0
Formulario a base de datos

Buenas,

estoy intentando importar un formulario a una base de datos pero no me funciona...

Los datos llegan al seguno archivo porque si hago un echo a las variabls los puedo llegar a ver

EL formulario es el siguiente:

Código HTML:
<form action="intra_nueva_lista_ok.php" name="form_nueva_lista" onSubmit="return corrector(this);" method="post">
		
		<div>
			
			<div id="n-curso">Nombre Curso:</div>
			<div id="n-curso-for">
 				<input name="ncurso" type="Text" >
			</div>
			
			
			<div id="ano">Año:</div>
			<div id="ano-for">
				<select name="anos" type="Text">
				<option>2013</option>
				<option>2014</option>
				</select> 
			</div>
			
			<div id="mes">Mes:</div>
			<div id="mes-for">
				<select name="mes" type="Text">
				<option>Enero</option>
				<option>Febrero</option>
				<option>Marzo</option>
				<option>Abril</option>
				<option>Mayo</option>
				<option>Junio</option>
				<option>Julio</option>
				<option>Agosto</option>
				<option>Septiembre</option>
				<option>Octubre</option>
				<option>Noviembre</option>
				<option>Diciembre</option>
				</select> 
			</div>
			
			<div id="tematica">Tematica: </div>
			<div id="tematica-for"><?php
		          // Consultar la base de datos
		  	   $consulta_mysql='SELECT tematica FROM dbo_intra_tematica ORDER BY tematica';
	                    $resultado_consulta_mysql=mysql_query($consulta_mysql,$link);
			    echo "<select name='tematica' >";
			    while($fila=mysql_fetch_array($resultado_consulta_mysql)){ 
			    echo "<option value='".$fila['tematica']."'>".$fila['tematica']."</option>";
							}
			echo "</select>";
	        	?>		 
			</div>
			
			<div id="grup">Grupo: </div>
			<div id="grup-for"> 
				<select name="grup" type="Text">
				<option>1</option>
				<option>2</option>
				</select> 
			</div>
			
			<div id="Horari">Horario: </div>
			<div id="horari-for">
				<select name="horari" type="Text">
				<option>8:30 h</option>
				<option>11:30 h</option>
				</select>
			</div>
			
			<div><input type=image src="img/b_enviar_solicitud_of.gif" onMouseOver="this.src='img/b_enviar_solicitud_on.gif';"  onmouseout="this.src='img/b_enviar_solicitud_of.gif';"></div> 

que enlaza al siguiente codigo php en otro archivo:

Código PHP:
<?php 

ob_start
();

$ncurso=$_REQUEST['ncurso'];
$anos=$_REQUEST['anos'];
$mes=$_REQUEST['mes'];
$grup=$_REQUEST['grup'];
$tematica=$_REQUEST['tematica'];
$horari=$_REQUEST['horari'];

// Conexio base de dades
include 'includes/configuracio.php';
include 
'includes/conectar.php';

$query "INSERT INTO dbo_intra_llistas (anos, tematica, grup, horari, n-curso, mes) VALUES ('$anos','$tematica','$grup','$horari','$ncurso','$mes')";

echo 
$query;

$result=mysql_query($query$conn);

mysql_close($conn);

?>
  #2 (permalink)  
Antiguo 14/01/2014, 07:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Formulario a base de datos

Que imprime "echo $query;", es una query válida? Y echo $result

Si la ejecutas en el servidor funciona, da algun error....

???

Cita:
Los datos llegan al seguno archivo porque si hago un echo a las variabls los puedo llegar a ver
Danos mas pistas no parece que haya nada erroneo.... en lo que se ve claro.

(Podrias irte pasando a mysqli)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 15/01/2014, 03:57
 
Fecha de Ingreso: septiembre-2012
Mensajes: 24
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Formulario a base de datos

Código PHP:
$con=mysqli_connect("","","","");
// Check connection
if (mysqli_connect_errno())
  {
  echo 
"Failed to connect to MySQL: " mysqli_connect_error();
  }

$query "INSERT INTO dbo_intra_llistas (anos, tematica, grup, horari, n-curso, mes) VALUES ('$anos','$tematica','$grup','$horari','$ncurso','$mes')";

mysqli_query($con$query);

mysqli_close($con); 
Esta bien ahora no?

la base de datos la tengo configura así...

  #4 (permalink)  
Antiguo 15/01/2014, 04:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Formulario a base de datos

Estas seguro que no da ningún error.... y que los datos no se insertan?


"echo $query;"

Muestra una query bien formateada?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 15/01/2014, 06:04
 
Fecha de Ingreso: septiembre-2012
Mensajes: 24
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Formulario a base de datos

Yo creo que si....

me imprime por pantalla esto:

INSERT INTO dbo_intra_llistas (anos, tematica, grup, horari, n-curso, mes) VALUES ('2016','ESPES','2','11:30 h','Diploma TS','Febrero')
  #6 (permalink)  
Antiguo 15/01/2014, 06:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Formulario a base de datos

Y no inserta los datos?

Seria mucho mejor usar formato Time para horari.... '11:30:00'

$con=mysqli_connect("","","","");<-esto no son nulos son cadenas vacias...

$con=mysqli_connect("myhost","myuser","mypassw","m ybd");
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #7 (permalink)  
Antiguo 15/01/2014, 07:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Formulario a base de datos

Hay un error básico: No se deben usar ni palabras reservadas, ni caracteres reservados en los nombres de objetos de bases de datos. Y tu estás usando el signo "-" en el nombre de uno de ellos
Código MySQL:
Ver original
  1. INSERT INTO dbo_intra_llistas (
  2.     anos,
  3.     tematica,
  4.     grup,
  5.     horari,
  6.     n-curso, # Esto SIN DUDA genera error de sintaxis
  7.     mes)
  8.     '$anos',
  9.     '$tematica',
  10.     '$grup',
  11.     '$horari',
  12.     '$ncurso',
  13.     '$mes')

Cuando has metido la pata (y a fondo) con los nombres de los objetos de base, y no puedes cambiarlos para corregirlos, sólo existe una solución: Se deben encerrar entre acentos agudos (`):
Código MySQL:
Ver original
  1. INSERT INTO dbo_intra_llistas (
  2.     `anos`,
  3.     `tematica`,
  4.     `grup`,
  5.     `horari`,
  6.     `n-curso`,
  7.     `mes`)
  8.     '$anos',
  9.     '$tematica',
  10.     '$grup',
  11.     '$horari',
  12.     '$ncurso',
  13.     '$mes')
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 15/01/2014, 07:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Formulario a base de datos

Bien visto!!!!
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #9 (permalink)  
Antiguo 16/01/2014, 01:23
 
Fecha de Ingreso: septiembre-2012
Mensajes: 24
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Formulario a base de datos

Funcionaaa!!!

Mil gracias por vuestra ayuda!!!

Etiquetas: formulario, mysql, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:09.