//almacenar valores en una variable $usuario=$_POST[usuario]; $operador=$_POST[nick]; $tipo=$_POST[tipo]; $mediosolucion=$_POST[mediosolucion]; $detalle = $_POST['detalle'];
//encontrar el id de cada campo $sql1 = "SELECT id_usuario_cliente FROM usuario_cliente WHERE nombre_usuario = '$usuario'"; $result1= mysql_query($sql1, $link) or die(mysql_error());
$sql2= "SELECT id_operador FROM operador WHERE nombre = '$operador'"; $result2 = mysql_query($sql2, $link) or die(mysql_error());
$sql3 = "SELECT id_area_problema FROM area_problema WHERE tipo_problema = '$tipo'"; $result3= mysql_query($sql3, $link) or die(mysql_error());
$sql4 = "SELECT id_tipo_soporte FROM tipo_soporte WHERE clase_soporte = '$mediosolucion'"; $result4= mysql_query($sql4, $link) or die(mysql_error());
//almacenar fecha en una variable $date = time (); $hora = date ( "G:i:s" , $date ); $fecha = date ( "d-m-y" , $date ); $fechahora = "$fecha " . "$hora";
// Con esta sentencia SQL insertaremos los datos en la base de datos $sql = "INSERT INTO `orden_trabajo` ( cod_ot, usuario_cliente_id_usuario_cliente, cliente_rut, proyecto_id_proyecto, operador_id_operador, area_problema_id_area_problema, tipo_soporte_id_tipo_soporte, status_2_id_status, compromiso_id_compromiso, detalle_problema, solucion_problema, fecha_inicio, fecha_termino, hora_inicio, hora_termino) VALUES ( '', '$result1', '', '', '$result2', '$result3', '$result4', '', '', '$detalle', '', '', '', '', '')";
mysql_query($sql,$link) or die(mysql_error()); ?>
como ven recivo los datos y los almaceno en variables, luego rescato los id de cada campo para luego insertarlos en la tabla de consultar_ot, al parecer tengo un problema al rescatar los id, ya que al ejecutar esto solo me inserta $detalle, y esa es la unica que no se rescata el id, por favor si alguien pudiera decirme en que estoy topando o que estoy haciendo mal estaria muy agradecido
Título: Re: No Inserta Variables A La Base De Dato Mysql
Publicado por: Avalon en Jueves 19 de Julio de 2007, 15:52
A simple vista lo único extraño que veo es que no pusiste las comillas más que donde tomas el detalle. En usuario, nick, etc... no las pusiste...
Código: Text
//almacenar valores en una variable
$usuario=$_POST['usuario'];
$operador=$_POST['nick'];
$tipo=$_POST['tipo'];
$mediosolucion=$_POST['mediosolucion'];
$detalle = $_POST['detalle'];
A ver si así funciona.
Salu2, Avalon
Título: Re: No Inserta Variables A La Base De Dato Mysql
Publicado por: F_Tanori en Jueves 19 de Julio de 2007, 15:59
ademas de lo que comenta Avalon
cada consulta en las variables 'result'
ejemplo
Código: Text
$result1= mysql_query($sql1, $link) or die(mysql_error());
te devuelven toda la matriz de resultados, necesitas extraer el dato (fetch)
por ejemplo
Código: Text
$result1= mysql_query($sql1, $link) or die(mysql_error());
$result1= mysql_fetch_row($result1);
$result1= $result1[0];
Saludos
Título: Re: No Inserta Variables A La Base De Dato Mysql
Publicado por: LeGatoRojo en Jueves 19 de Julio de 2007, 23:46
usa
Código: Text
extract($_GET);
extract($_POST);
Para ahorrarte las asignaciones, y como ya dijo F_Tanori, debes sonseguir primero la matriz de datos ya sea con mysql_fetch_row, mysql_fetch_assoc y conseguir segun sea el caso la posición que gustes, en este caso la primera. Y por ultimo como recomendación usa id's para no tener que buscar nombre_usuario = '$usuario'.