Foros del Web » Programando para Internet » PHP »

Duda para guardar datos de php a mysql

Estas en el tema de Duda para guardar datos de php a mysql en el foro de PHP en Foros del Web. Hola, de nuevo aqui molestando... disculpen lo que pasa es que tengo estas tablas: USUARIOS *id_nom nombre UNIDADES *id_unidad unidad REPORTE *folio fecha hora id_unidad ...
  #1 (permalink)  
Antiguo 08/09/2010, 10:45
 
Fecha de Ingreso: agosto-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Duda para guardar datos de php a mysql

Hola, de nuevo aqui molestando... disculpen lo que pasa es que tengo estas tablas:

USUARIOS
*id_nom
nombre

UNIDADES
*id_unidad
unidad

REPORTE
*folio
fecha
hora
id_unidad
id_nombre

tengo un formulario donde tengo los campos de reporte, pero quiero que en id_unidad e id_nom esten en combobox y que me jale el nombre de la unidad y el nombre del usuario, no el numero... y que al guardarlo ps me guarde el numero en la tabla REPORTE....

::::::AYUDA:::::
  #2 (permalink)  
Antiguo 08/09/2010, 10:58
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda para guardar datos de php a mysql

//...muestra algo de codigo es q nadie te va ayudar asi...en otras palabras no te van hacer todo el trabajo...eso bye...
  #3 (permalink)  
Antiguo 08/09/2010, 11:07
 
Fecha de Ingreso: agosto-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Duda para guardar datos de php a mysql

**insert_reporte.php**

<form id="form2" name="form2" method="post" action="agregar_reporte.php">
<table width="90%" border="0">
<tr>
<td colspan="4"><div align="center" class="Estilo5">Datos de quien Reporta </div></td>
</tr>
<tr>
<td width="183">&nbsp;</td>
<td width="335">&nbsp;</td>
<td width="75">&nbsp;</td>
<td width="144">&nbsp;</td>
</tr>
<tr>
<td><span class="Estilo23">Fecha:</span></td>
<td><label>
<input name="fecha" type="text" id="fecha" value="<?PHP $fecha=date('Y-m-d'); echo $fecha;?>" size="10" />
</label></td>
<td><span class="Estilo23">Hora:</span></td>
<td><label>
<input name="hora" type="text" id="hora" value="<?php date_default_timezone_set('America/Mexico_City'); echo date ("g:i:s"); ?>" size="10" />
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="4"><div align="center" class="Estilo2"><strong>Folio:</strong>
<?php require_once('Conexion/conec.php'); ?>
<?php mysql_select_db($database_conexion, $conexion);
$query_folio = "SELECT folio FROM reporte ORDER BY folio DESC";
$folio = mysql_query($query_folio, $conexion) or die(mysql_error());
$row_folio = mysql_fetch_assoc($folio);
$totalRows_folio = mysql_num_rows($folio);?>
<span class="Estilo3"><?php echo $row_folio['folio']+1; ?></span></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><span class="Estilo23">Unidad:</span></td>
<td><label>
<?PHP
// datos de conexión a la BD.
$servidor ="localhost"; // host
$usuario ="root";
$clave ="";
$basedatos ="bd_control"; // Indicar una Base de datos.

// Conexión a la BD
$conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
mysql_select_db($basedatos, $conexion) or die(mysql_error());

echo "<select size='1' name='unidad' >";// abres el select
echo "<option selected='' value=''> [ Seleccione la Unidad ] </option>";
$sql_query="Select unidad from unidades";// haces la consulta
$res= mysql_query($sql_query) or die('Error en la consulta'.mysql_error());
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){ //despliegas los resultados
echo "<option value='{$row['unidad']}'>{$row['id_unidad']} -> {$row['unidad']}</option>";
}
echo "</select>";//cierras el select

?>
</label></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><span class="Estilo23">&Aacute;rea:</span></td>
<td colspan="3"><label>
<input name="area" type="text" id="area" size="50" />
</label></td>
</tr>
<tr>
<td><span class="Estilo23">Nombre del quien Reporta: </span></td>
<td><label>
<input name="reporta" type="text" id="reporta" size="50" />
</label></td>
<td><span class="Estilo23">Tel.:</span></td>
<td><label>
<input name="tel" type="text" id="tel" />
</label></td>
</tr>
<tr>
<td><span class="Estilo23">Ext.:</span></td>
<td><label>
<input name="ext" type="text" id="ext" />
</label></td>
<td><span class="Estilo23">VPN:</span></td>
<td><label>
<input name="vpn" type="text" id="vpn" />
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="4"><div align="center" class="Estilo5">Datos del Equipo </div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><span class="Estilo23">Inventario:</span></td>
<td><label>
<input name="inventario" type="text" id="inventario" />
</label></td>
<td><span class="Estilo23">Serie:</span></td>
<td><label>
<input name="serie" type="text" id="serie" />
</label></td>
</tr>
<tr>
<td><span class="Estilo23">Numero de IP: </span></td>
<td><label>
<input name="ip" type="text" id="ip" />
</label></td>
<td><span class="Estilo23">Marca:</span></td>
<td><label>
<input name="marca" type="text" id="marca" />
</label></td>
</tr>
<tr>
<td><span class="Estilo23">Modelo:</span></td>
<td><label>
<input name="modelo" type="text" id="modelo" />
</label></td>
<td><span class="Estilo23">Dispositivo:</span></td>
<td><label>
<input name="dispositivo" type="text" id="dispositivo" />
</label></td>
</tr>
<tr>
<td><span class="Estilo23">Descripci&oacute;n de la Falla: </span></td>
<td colspan="3"><label>
<textarea name="falla" cols="85" id="falla"></textarea>
</label></td>
</tr>
<tr>
<td><span class="Estilo23">Atendido por: </span></td>
<td><label>
<?PHP
// datos de conexión a la BD.
$servidor ="localhost"; // host
$usuario ="root";
$clave ="";
$basedatos ="bd_control"; // Indicar una Base de datos.

// Conexión a la BD
$conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
mysql_select_db($basedatos, $conexion) or die(mysql_error());

echo "<select size='1' name='atendido' >";// abres el select
echo "<option selected='' value=''> [ Seleccione el Nombre ] </option>";
$sql_query="Select nombre from usuarios";// haces la consulta
$res= mysql_query($sql_query) or die('Error en la consulta'.mysql_error());
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){ //despliegas los resultados
echo "<option value='{$row['nombre']}'>{$row['id_nombre']} * {$row['nombre']}</option>";
}
echo "</select>";//cierras el select

?>
</label></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><span class="Estilo23">Actividades Realizadas: </span></td>
<td colspan="3"><label>
<textarea name="actividades" cols="85" id="actividades"></textarea>
</label></td>
</tr>
</table>
<p>
<input type="submit" name="accion" value="Guardar" />
</p>
</form>
<hr>
<?php
include("Conexion/conexion.php");
$link=Conectarse();
$result=mysql_query("select * from reporte",$link);
?>

**agrega_reporte.php**

<?php
include("Conexion/conexion.php");
$link=Conectarse();
$Sql="insert into reporte (fecha, hora, unidad, area, reporta, tel, ext, vpn, inventario, serie, ip, marca, modelo, dispositivo, falla, atendido, actividades) values ('".$_POST["fecha"]."', '".$_POST["hora"]."', '".$_POST['unidad']."', '".$_POST["area"]."', '".$_POST['reporta']."', '".$_POST["tel"]."', '".$_POST['ext']."', '".$_POST["vpn"]."', '".$_POST['inventario']."', '".$_POST["serie"]."', '".$_POST['ip']."', '".$_POST["marca"]."', '".$_POST['modelo']."', '".$_POST["dispositivo"]."', '".$_POST['falla']."', '".$_POST["atendido"]."', '".$_POST['actividades']."')";

mysql_query($Sql,$link);
header("Location: menu.php");
?>

Asi es como lo tenia pero sin relacionar las tablas... y lo guardaba... pero como debo relacionar las tablas para poder hacer mis consultas ps no se como hacer pa q me guarde numero en la tabla reporte y q m muestre el nombre en el formulario... espero si me haya explicado....

::::::AYUDA::::::
  #4 (permalink)  
Antiguo 08/09/2010, 11:08
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Duda para guardar datos de php a mysql

haber para cada combo puedes hacer asi...
combo Usuarios

$sql="select * from usuarios";
$resusu=mysql_query($sql,$conexionquemanejes);
echo "<select name='cmbusu'>"
while($rowusu=mysql_fetch_array)
{
echo "<option value='".$rowusu['id_nom']."'>".$rowusu['nombre']."</option>"
}
echo "</select>"


$sql="select * from unidades";
$resusu=mysql_query($sql,$conexionquemanejes);
echo "<select name='cmbUnidad'>"
while($rowunidad=mysql_fetch_array)
{
echo "<option value='".$unidad['id_unidad']."'>".$unidad['unidad']."</option>"
}

eso lo pones en un form y lo envias a un script que haga el insert en la tabla
  #5 (permalink)  
Antiguo 08/09/2010, 11:14
 
Fecha de Ingreso: agosto-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Duda para guardar datos de php a mysql

no entiendo--> eso lo pones en un form y lo envias a un script que haga el insert en la tabla
  #6 (permalink)  
Antiguo 08/09/2010, 11:17
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda para guardar datos de php a mysql

/*...wachita muy facil...

tu tienes todo en la tablaa reporte...las dos referencias a la dos tablas....con eso sacamos los datos asi...

para sacar el preciso necesitas el id del reporte con eso nomas....

select u.nombre, uni.unidad, r.fecha, r.hora
from reporte r inner join unidades uni
on r.id_unidad = uni.id_unidad
inner join usuarios u
on r.id_usuario = u.id_usuario
where folio = xxxx

*/
  #7 (permalink)  
Antiguo 08/09/2010, 11:18
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda para guardar datos de php a mysql

//....jajaja todos responden algo distinto...alguien le entendio xD
  #8 (permalink)  
Antiguo 08/09/2010, 11:32
 
Fecha de Ingreso: agosto-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Duda para guardar datos de php a mysql

sip, pero como hago que guarde el dato en la tabla........... no se como hacerlo...........
  #9 (permalink)  
Antiguo 08/09/2010, 11:35
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda para guardar datos de php a mysql

//....facil con un insert...
  #10 (permalink)  
Antiguo 08/09/2010, 11:36
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Duda para guardar datos de php a mysql

deberias de buskr un pokito de informacion sobre consultas sql las inserciones se hcen con un insert into ahi en esa àgina tienen varias consultas explicandolas pero en google hay bastante informacion un poco de lectura no le hace mal a nadien saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 08/09/2010, 11:40
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda para guardar datos de php a mysql

//....es q no se q quieres....por el codigo q vi tu sabes cargar un combo y tomar variables en q te complicas
  #12 (permalink)  
Antiguo 08/09/2010, 11:40
 
Fecha de Ingreso: agosto-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Duda para guardar datos de php a mysql

TENGO ESTE ARCHIVO---->

**agrega_reporte.php**

<?php
include("Conexion/conexion.php");
$link=Conectarse();
$Sql="insert into reporte (fecha, hora, unidad, area, reporta, tel, ext, vpn, inventario, serie, ip, marca, modelo, dispositivo, falla, atendido, actividades) values ('".$_POST["fecha"]."', '".$_POST["hora"]."', '".$_POST['unidad']."', '".$_POST["area"]."', '".$_POST['reporta']."', '".$_POST["tel"]."', '".$_POST['ext']."', '".$_POST["vpn"]."', '".$_POST['inventario']."', '".$_POST["serie"]."', '".$_POST['ip']."', '".$_POST["marca"]."', '".$_POST['modelo']."', '".$_POST["dispositivo"]."', '".$_POST['falla']."', '".$_POST["atendido"]."', '".$_POST['actividades']."')";

mysql_query($Sql,$link);
header("Location: menu.php");
?>

AHI ME GUARDABA DATOS SIN RELACIONAR TABLAS TODO ERA DIRECTO, PERO AAHORA QUE LAS RELACIONE NO SE COMO HACER PARA QUE AL TENER SELECCIONADA YA SEA LA UNIDAD O EL NOMBRE ME LO GUARDE PERO CON NUMERO PORQUE ASI ES EEL CAMPO NOP?????
  #13 (permalink)  
Antiguo 08/09/2010, 11:48
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Duda para guardar datos de php a mysql

/*

si es en un option en el value debe llevar el id las unidades y en el otro de los usuarios

<option value"<?php echo $dato['id_usuario']; ?>"> -----ESO---- </option>

y si estas en un input y digamos q ya ingreso en value los datos...

crea un campo hidden oculto pos flaquita

<input type="hidden" name="oculto_id" value="<?php echo $dato['valor_id']; ?>" />

y lo recibes como cualquier varialble....y lleva tu id y no el nombre

*/
  #14 (permalink)  
Antiguo 08/09/2010, 11:52
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Duda para guardar datos de php a mysql

usa un While y llenalo con una consulta Select o un Foreach
  #15 (permalink)  
Antiguo 08/09/2010, 13:07
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Duda para guardar datos de php a mysql

ahhhh
ajajaja ya entiendo cual es tu problema...
haber como aplicaste relaciones a tu modelo relacional.....debes tener en cuenta....que.....cuando haces un insert a una tabla y esta tiene llaves foraneas de otras tablas, el valor de estas foraneas deben tener concordancia con algun registro de las tablas de referencia....o si no el te bota el error...diciendote que no se puede insertar por que los campos que son llaves foraneas no tienen referencia en las tablas....

verifica como tienes las relaciones...por que hay que hacerlas de forma correcta...

o si quieres muestra como esta estructurado tu modelo entidad relacion.
  #16 (permalink)  
Antiguo 08/09/2010, 13:08
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Duda para guardar datos de php a mysql

es decir cuando insertes en el reporte y guardes un id en las foraneas de la tabla usuario o tabla unidades estan deben realmente existir en estas tablas....
  #17 (permalink)  
Antiguo 08/09/2010, 13:29
Avatar de Huacho12  
Fecha de Ingreso: septiembre-2008
Ubicación: Isla Mujeres Q. Roo
Mensajes: 175
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Duda para guardar datos de php a mysql

Hola Dianays,

Es tal y como dice naciostars, los valores que quieras guardar en la campos id_unidad e id_nombre de tu tabla reportes deben de existir en sus tablas correspondientes.

Por otra parte no te jala los id`s por que en el momento que los asignas a tus combobox en su propiedad value le asignas en nombre o la unidad mas no el id, ejemplo:

ComboBox de Unidades:

Ten en cuenta que al momento de hacer la consulta solo extraes un datos (Select unidad from unidades) mas no los dos que necesitas (select id_unidad,unidad from unidades), ahora con lo que se refiere a tu combo en el values pones el valor correspondiente a tu campo unidad mas no el de tu campo id_unidad, por eso siempre te ba a agarrar la unidad y no el id_unidad

Código PHP:
echo "<select size='1' name='unidad' >";// abres el select 
echo "<option selected='' value=''> [ Seleccione la Unidad ] </option>";
$sql_query="Select unidad from unidades";// haces la consulta 
$resmysql_query($sql_query) or die('Error en la consulta'.mysql_error()); 
while(
$row mysql_fetch_array($res,MYSQL_ASSOC)){ //despliegas los resultados 
echo "<option value='{$row['unidad']}'>{$row['id_unidad']} -> {$row['unidad']}</option>"

echo 
"</select>";//cierras el select 
Lo que quedaria asi:

Código PHP:
echo "<select size='1' name='unidad' >";// abres el select 
echo "<option selected='' value=''> [ Seleccione la Unidad ] </option>";
$sql_query="Select id_unidad,unidad from unidades";// haces la consulta 
$resmysql_query($sql_query) or die('Error en la consulta'.mysql_error()); 
while(
$row mysql_fetch_array($res,MYSQL_ASSOC)){ //despliegas los resultados 
echo "<option value='".$row['id_unidad']."'>".$row['unidad']."</option>"

echo 
"</select>";//cierras el select 
ComboBox de Nombres:

Es practicamente lo mismo que te comento con el priimer combobox; y quedaris de la siguiente forma:

Código PHP:
echo "<select size='1' name='atendido' >";// abres el select 
echo "<option selected='' value=''> [ Seleccione el Nombre ] </option>";
$sql_query="Select id_nom,nombre from usuarios";// haces la consulta 
$resmysql_query($sql_query) or die('Error en la consulta'.mysql_error()); 
while(
$row mysql_fetch_array($res,MYSQL_ASSOC)){ //despliegas los resultados 
echo "<option value='".$row['id_nom']."'>".$row['nombre']."</option>"

echo 
"</select>";//cierras el select 
De esta forma ya obtines los id`s de las opciones que hayas seleccionado.

Ahora en la parte de la insercion solamente recibes los valores seleccionados junto con tus demas campos y listo ya tienes tu datos guardos sin tener que hacer mas consultas.

Espero te pueda servir!!

Saludos!!!
__________________
Solo se... que no se nada!!! 0_o
  #18 (permalink)  
Antiguo 08/09/2010, 17:53
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Duda para guardar datos de php a mysql

Huacho12, buen analisis compadre la verdad estaba en el trabajo...y no pude mirar bien....pero que bien que interveniste...=) excelente
  #19 (permalink)  
Antiguo 10/09/2010, 12:10
 
Fecha de Ingreso: agosto-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Duda para guardar datos de php a mysql

Hola chicos...

Muchas gracias naciostars pudiste entender mi problematica jejejeje gracias!!!!

Muchas gracias Huacho12 me ayudaste un buen!!!! ia quedo mil gracias!!!

Saben, tengo otras dudas jejeje la vdd no soy muy buena programando... hay muchas cosas que no he visto y que se requiere...

Mi siguiente problema es que necesito mostrar datos... asi como tipo buscador, por ejemplo:

Hacer un combo donde me de los nombre de los usuarios, y tener fechas (seleccionar un rango de fecha, porejemplo: del 1/sep/10 al 10/sep/2010) y al darle BUSCAR/ACEPTAR me muestre de la tabla de reporte: folio, fecha, unidad) pero de la persona seleccionada y con el rango que se le dio de fechas... espero me haya explicado.... bueno chicos espero su pronta respuesta... de antemano muchas pero muchasss gracias!!!!

Etiquetas: mysql
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 21:46.