Foros del Web » Programando para Internet » PHP »

info sobre error insertar datos con select

Estas en el tema de info sobre error insertar datos con select en el foro de PHP en Foros del Web. Hola nuevamente.. No quiero pasar sin agradecer a todos los que me han ayudado a avanzar un poco en esto del PHP.. Mil Gracias.. Bueno ...
  #1 (permalink)  
Antiguo 28/01/2011, 03:53
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta info sobre error insertar datos con select

Hola nuevamente..
No quiero pasar sin agradecer a todos los que me han ayudado a avanzar un poco en esto del PHP..
Mil Gracias..

Bueno otro problemilla
Intento ingresar informacion a dos o mas tablas de la DB...
lo estoy haciendo con select... la idea es que si se toma un elemento del select me inserte los datos en la tabla que se selecciono (mediante el mismo select..) y adicional tambien me ingrese los datos en una tabla maestra..
He puesto solamente unos que otros campos para no hacer largo el tema...

Aca El codigo..

<?php
$hostname_DBME = "localhost";
$database_DBME = "Motivo";
$username_DBME = "root";
$password_DBME = "";
$DBME = mysql_pconnect($hostname_DBME, $username_DBME, $password_DBME)
or trigger_error(mysql_error(),E_USER_ERROR);
?>
<html>

<head>
<title>prueba</title>
</head>

<body> <form name="" action="prueba.php" method="post">

<table>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Articulo:</strong></td>
<td class="inserta_tablas2"><input name="articulo" type="text" id="articulo" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Descripción</strong></td>
<td class="inserta_tablas2"><input name="descripcion" type="text" id="descripcion" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Area:</strong></td>
<td class="inserta_tablas2"><select name="area" id="area">
<option selected="selected">Seleccione Area</option>
<?php mysql_select_db($database_DBME, $DBME);
$query_Areas = "SELECT * FROM area ORDER BY area ASC";
$Areas = mysql_query($query_Areas, $DBME) or die(mysql_error());
$row_Areas = mysql_fetch_assoc($Areas);
$totalRows_Areas = mysql_num_rows($Areas);
do {
?>
<option value="<?php echo $row_Areas['area']?>" >
<?php echo $row_Areas['area']?></option>
<?php
} while ($row_Areas = mysql_fetch_assoc($Areas));
$cod_area=(array)
?>
</select></td> </tr>
<!--//aca la idea es validar si se selecciono un elemento entonces insertar en su
respectiva tabla//-->
<?php
if ($cod_area=='Accesorios') {

($codigo='codigo');
($articulo='articulo');
($factura='factura');
($proveedor='proveedor');
($cantidad='cantidad');
($fecha_adq='fecha_adq');
($precio='precio');
($descripcion='descripcion');
$result = mysql_query ("INSERT INTO accesorios (id_name, nombre, factura, proveedor, cantidad,
fecha_adq, precio, descripcion)
VALUES ($codigo, $articulo, $factura, $proveedor, $cantidad,
$fecha_adq, $precio, $descripcion)");
}
else {

}

?>

<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Cantidad:</strong></td>
<td class="inserta_tablas2"><input name="cantidad" type="text" id="cantidad" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Precio:</strong></td>
<td class="inserta_tablas2"><input name="precio" type="text" id="precio" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Ubicación:</strong></td>
<td class="inserta_tablas2"><select name="ubicacion" id="ubicacion">
<option selected="selected">Seleccione Ubicaci&oacute;n</option>
<?php
do {
?>
<option value="<?php echo $row_Ubicacion['ubicacion']?>" >
<?php echo $row_Ubicacion['ubicacion']?></option>
<?php
} while ($row_Ubicacion = mysql_fetch_assoc($Ubicacion));
?>
</select></td>
</tr>
</table>
<input type="submit" value="Cargue info">
<!--//aca deberia insertar absolutamente todos los datos//-->
<?php
$query = "INSERT INTO total (articulo,descripcion,area,cantidad,precio,ubicaci on)
VALUES('$articulo','$descripcion','$area','$cantid ad','$precio','$ubicacion')";
?>
</form>
</body>

</html>
  #2 (permalink)  
Antiguo 28/01/2011, 09:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Debes hacer dos consultas seguidas con INSERT, enviándolos a distintas tablas.

¿Es ese tu inconveniente o estoy entendiendo mal?
  #3 (permalink)  
Antiguo 29/01/2011, 15:45
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Cita:
Iniciado por aagus Ver Mensaje
Debes hacer dos consultas seguidas con INSERT, enviándolos a distintas tablas.

¿Es ese tu inconveniente o estoy entendiendo mal?
Bueno... primero que todo.. gracias por responder..

Si y no... te explico... la cuestion es que necesito insertar en dos tablas diferentes segun pille algo con el select desde otra tabla...
Algo mas o menos como que si se selecciona un producto, pues que me modifique la tabla de ese producto pero ademas que me modifique tambien una tabla maestra donde caen todos los seleccionados o insertados...
No se si soy claro??
Por tu colaboracion Mil gracias..
  #4 (permalink)  
Antiguo 29/01/2011, 17:45
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Entonces a ver si entiendo... (voy a tirar un ejemplo)

Código PHP:
Ver original
  1. <?php $consulta=mysql_query("SELECT .......");
  2. $registro=mysql_fetch_array($consulta);
  3.  
  4. $nombreproducto=$registro["nombre"];
  5. $precio=$registro["precio"];
  6.  
  7. if($_POST["producto"]){
  8. $nombreproducto2=$_POST["producto"];
  9. $precio2=$_POST["precio"];
  10.  
  11. mysql_query("UPDATE tabla1 SET producto=$nombreproducto2 AND precio=$precio2 WHERE id=.....");
  12. mysql_query("UPDATE tabla2 SET.....");}
  13. ?>
  14.  
  15. // aca va el formulario

No te llego a entender del todo bien, pero por lo que llego a entender, querés actualizar una tabla en vez de insertar nuevos campos.

Sino, tratá de explicar mejor y aquí estaré.
Un saludo.
  #5 (permalink)  
Antiguo 29/01/2011, 18:24
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Hola... no mira el codigo que coloque en principio, es lo siguiente... tengo dos campos a los que le inserto datos (El Usuario los inserta..) luego tengo otros dos campos que son capturados desde un select... estos han hecho una busqueda en la DB, y muestran las tablas que hay en la DB, al seleccionar una tabla y al rellenar todos los demas datos le dan clik en el boton y deben insertarse los datos tanto en la tabla maestra como en la tabla que se halla seleccionado atraves de los select...
Espero sea claro...yo he probado con tomar el dato seleccionado con $cod_area=(array) dentro del While... pero no me da la info... no se que estoy haciendo mal... tambien lo he puesto fuera del While pero nada...
Gracias
  #6 (permalink)  
Antiguo 29/01/2011, 20:23
Avatar de JesusDavidValdivia  
Fecha de Ingreso: enero-2011
Ubicación: Mexico
Mensajes: 46
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: info sobre error insertar datos con select

te diste cuenta que en la coneccion en la base de datos escribiste pconnect???
  #7 (permalink)  
Antiguo 29/01/2011, 20:27
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

ajajajaj sabés que es verdad? :P
  #8 (permalink)  
Antiguo 29/01/2011, 21:04
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Cita:
Iniciado por aagus Ver Mensaje
ajajajaj sabés que es verdad? :P
Bueno...??? la verdad lo conecto asi por que oense en mantener una conexion persistente... pero no entiendo que pueda tener de malo esto..??
No.. creo que este no es mi problema..
  #9 (permalink)  
Antiguo 29/01/2011, 21:14
 
Fecha de Ingreso: diciembre-2008
Mensajes: 69
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Hay ciertas desprolijidades del código, al menos no se entiende si está incompleto o no.

Hay un else vacío:

Código PHP:
Ver original
  1. else {
  2.  
  3. }

Algunos echo sin cerrar con punto y coma:

Código PHP:
Ver original
  1. <option value="<?php echo $row_Ubicacion['ubicacion']?>" >
  2. <?php echo $row_Ubicacion['ubicacion']?></option>

Un while que no abre con llave:

Código PHP:
Ver original
  1. <option value="<?php echo $row_Ubicacion['ubicacion']?>" >
  2. <?php echo $row_Ubicacion['ubicacion']?></option>
  3. <?php
  4. } while ($row_Ubicacion = mysql_fetch_assoc($Ubicacion));
  5. ?>

Lo siguiente no tiene sentencia if($_POST["campo"]) y además hay espacios de más en ubicacion y cantidad:

Código PHP:
Ver original
  1. <?php
  2. $query = "INSERT INTO total (articulo,descripcion,area,cantidad,precio,ubicaci on)
  3. VALUES('$articulo','$descripcion','$area','$cantid ad','$precio','$ubicacion')";
  4. ?>

Te sugeriría que emprolijes el código porque puede que no funcionen muchas cosas; recordá que la programación es muy precisa.
Un saludo.
  #10 (permalink)  
Antiguo 30/01/2011, 22:03
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: info sobre error insertar datos con select

Mira te agradezco tu colaboracion... si... tienes razon al acotar estos pequenines pero mamones errores... pero NO... no son esos los errores...
No se por que pero cuando estoy haciendo inyeccion de info desde la DB PHP no me exige el ; aunque ya los he colocado... aun sigue el problema de no capturar el valor que extraigo con el segmento de "area"

De todas formas aca envio el codigo completo.... no lo habia subido por que creia que era demasiado extenso....

<?php
$hostname_DBME = "localhost";
$database_DBME = "MotoEspectacular";
$username_DBME = "root";
$password_DBME = "";
$DBME = mysql_pconnect($hostname_DBME, $username_DBME, $password_DBME)
or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_DBME, $DBME);
$query_Areas = "SELECT * FROM area ORDER BY area ASC";
$Areas = mysql_query($query_Areas, $DBME) or die(mysql_error());
$row_Areas = mysql_fetch_assoc($Areas);
$totalRows_Areas = mysql_num_rows($Areas);

mysql_select_db($database_DBME, $DBME);
$query_Ubicacion = "SELECT * FROM ubicacion ORDER BY ubicacion ASC";
$Ubicacion = mysql_query($query_Ubicacion, $DBME) or die(mysql_error());
$row_Ubicacion = mysql_fetch_assoc($Ubicacion);
$totalRows_Ubicacion = mysql_num_rows($Ubicacion);
mysql_select_db($database_DBME, $DBME);

$query_Proveedores = "SELECT * FROM proveedores ORDER BY nombre ASC";
$Proveedores = mysql_query($query_Proveedores, $DBME) or die(mysql_error());
$row_Proveedores = mysql_fetch_assoc($Proveedores);
$totalRows_Proveedores = mysql_num_rows($Proveedores);

mysql_select_db($database_DBME, $DBME);
$query_Responsable = "SELECT * FROM responsable ORDER BY cedula ASC";
$Responsable = mysql_query($query_Responsable, $DBME) or die(mysql_error());
$row_Responsable = mysql_fetch_assoc($Responsable);
$totalRows_Responsable = mysql_num_rows($Responsable);

?>
<html>
<head>
<title>prueba</title>
</head>

<body> <form name="" action="prueba.php" method="post">

<table>
<div if="formulario">
<form method="post" name="form1" id="form1" >
<table align="center">
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Codigo / Placa:</strong></td>
<td class="inserta_tablas2"><input name="codigo" type="text" id="codigo" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Articulo:</strong></td>
<td class="inserta_tablas2"><input name="articulo" type="text" id="articulo" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Descripción</strong></td>
<td class="inserta_tablas2"><input name="descripcion" type="text" id="descripcion" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Proveedor:</strong></td>
<td class="inserta_tablas2"><select name="proveedor" id="proveedor">
<option selected="selected">Seleccione Proveedor</option>
<?php
do {
?>
<option value="<?php echo $row_Proveedores['nombre'];?>" >
<?php echo $row_Proveedores['nombre'];?></option>
<?php
} while ($row_Proveedores = mysql_fetch_assoc($Proveedores));
$cod_area = array();
?>
</select> <p>Si el proveedor no Existe.. Debes crearlo antes de insertar un articulo</p></td>
</tr>
<tr>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Ubicación:</strong></td>
<td class="inserta_tablas2"><select name="ubicacion" id="ubicacion">
<option selected="selected">Seleccione Ubicaci&oacute;n</option>
<?php
do {
?>
<option value="<?php echo $row_Ubicacion['ubicacion'];?>" >
<?php echo $row_Ubicacion['ubicacion'];?></option>
<?php
} while ($row_Ubicacion = mysql_fetch_assoc($Ubicacion));
?>
</select></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Area:</strong></td>
<td class="inserta_tablas2"><select name="area" id="area">
<option selected="selected">Seleccione Area</option>
<?php
do {
?>
<option value="<?php echo $row_Areas['area'];?>" >
<?php $destino = $_POST['area'];
echo $row_Areas['area'];?></option>
<?php
} while ($row_Areas = mysql_fetch_assoc($Areas));
$destino = $_POST['area'];
?>
</select></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Factura:</strong></td>
<td class="inserta_tablas2"><input name="factura" type="text" id="factura" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Fecha de Adquisición:</strong></td>
<td class="inserta_tablas2"><input name="fecha_adq" type="text" id="fecha_adq" style="cursor: text" onclick="ds_sh(this);" value="Haga clic aqu&iacute; para escoger fecha." size="32" readonly="readonly" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Fecha vence Garantía:</strong></td>
<td class="inserta_tablas2"><input name="fecha_gar" type="text" id="fecha_gar" style="cursor: text" onclick="ds_sh(this);" value="Haga clic aqu&iacute; para escoger fecha." size="32" readonly="readonly" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Cantidad:</strong></td>
<td class="inserta_tablas2"><input name="cantidad" type="text" id="cantidad" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Precio:</strong></td>
<td class="inserta_tablas2"><input name="precio" type="text" id="precio" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Estado:</strong></td>
<td class="inserta_tablas2"><select name="estado" id="estado">
<option selected="selected">Seleccione Estado</option>
<option value="Activo">Activo</option>
<option value="No Activo">No Activo</option>
<option value="En Mantenimiento">En Mantenimiento</option>
<option value="En Almacen">En Almacen</option>
<option value="Pool">Pool</option>
</select></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>CI del Responsable:</strong></td>
<td class="inserta_tablas2"><select name="ci_responsable" id="ci_responsable" onchange="ajaxFunction()">
<option selected="selected">Seleccione Responsable</option>
<?php
do {
?>
<option value="<?php echo $row_Responsable['cedula'];?>" >
<?php echo $row_Responsable['cedula']." - ".$row_Responsable['nombre']; ?></option>
<?php
} while ($row_Responsable = mysql_fetch_assoc($Responsable));
?>
</select></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Nombre del Responsable:</strong></td>
<td class="inserta_tablas2"><input name="nombre_responsable" type="text" id="nombre_responsable" value="" size="32" readonly="readonly"/></td>
</tr>
<tr valign="baseline">
</tr>
<tr> </tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1"><strong>Comentario:</strong></td>
<td class="inserta_tablas2"><input type="text" name="comentario" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="inserta_tablas1">&nbsp;</td>
<td class="inserta_tablas2"><input type="submit" value="Insertar registro" onclick="return Activo()"/>
<label>
<input type="reset" name="button" id="button" value="Restablecer" />
</label></td>
</tr>
</table>

<?php
$insertSQL = mysql_query("INSERT INTO activo (codigo, articulo, descripcion, proveedor, ubicacion, area,
factura, cantidad,precio,estado, ci_responsable,nombre_responsable, ci_usuario,nombre_usuario,
comentario,fecha_adq, fecha_gar)
VALUES ($codigo,$articulo,$descripcion,$proveedor,$ubicac ion,$area,,$factura,$cantidad,$precio,$estado,
$ci_responsable,$nombre_responsable,$ci_usuario,$n ombre_usuario,$comentario,$fecha_adq,$fecha_gar)") ;


if ('area' == $destino['Motos']) {
// if ($_POST['area'] == ['Motos']) {
//if ( $destino ==['area'] as ['Motos'] ) {
$inserta = mysql_query("INSERT INTO motos (id_name, nombre,vendedor,cantidad, fecha_in, valor_in,
fecha_out, nota_id) VALUES ($codigo,$articulo,$proveedor,$cantidad,$fecha_adq ,$precio,$descripcion)");
}
else {

$inserta = mysql_query("INSERT INTO accesorios (id_name, articulo,vendedor,cantidad, fecha_in, valor_in,
fecha_out, nota_id) VALUES ($codigo,$articulo,$proveedor,$cantidad,$fecha_adq ,$precio,$descripcion)");
}
?>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p>&nbsp;</p>
</div>
</body>

</html>

Etiquetas: info, select
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 14:31.