Buenas. Se puede insertar en una tabla con la clausula where???
Al igual que se puede hacer un SELECT....WHERE....
Se podría hacer un INSERT...WHERE....????
Si es posible como sería la sintaxis?
Gracias
| |||
Se podría hacer un INSERT...WHERE ??? Buenas. Se puede insertar en una tabla con la clausula where??? Al igual que se puede hacer un SELECT....WHERE.... Se podría hacer un INSERT...WHERE....???? Si es posible como sería la sintaxis? Gracias |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? Man cuál es tu problema de php? Te aconsejo que vayas al foro del respectivo motor de Base de Datos que estés manejando. Saludos
__________________ Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo) www.programandoweb.com |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Os cuento un poco y gracias por la rapidez de sus respuestas, no me lo esperaba. Resulta que tengo un desplegable con 100 empresas, yo elijo la que quiero y pulso aceptar. Seguidamente se me abre un menu donde yo puedo elegir la opción de consultar los datos de la empresa elegida (en el desplegable). Pues bien...yo si se hacer eso...una SELECT que segun la empresa elegida en el desplegable me muestre todos sus datos. Ahora bien...el problema está en que quiero hacer un gestor de tareas. Cuando yo selecciono la empresa en el desplegable, nuevamente se me vuelve a abrir el menu con la opcion de gestor de tareas. Al pulsar en gestor de tareas puedo añadir nuevas tareas, pero claro...no se como puedo hacer un INSERT teniendo en cuenta la empresa elegida. Se me guardan todos los datos en base de datos excepto el identificador de la empresa elegida (que siempre se guarda como cero) y eso no es correcto. No se si me entendeis jeje. Para que lo veáis mas claro os pongo el código de la SELECT que funciona al pelo caramelo. Cita: Os informo que $ruta lo he rescatado del la emrpesa que yo seleccioné en el desplegable. $sql = "SELECT id_soci,nombre,cif,domicilio) FROM sociedades WHERE id_soci=".$ruta; Pues me gustaría hacer lo mismo pero con un INSERT, es decir, que me tenga en cuenta la empresa que yo he seleccionado en el desplegable como en la SELECT. |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? En ese caso, se supone que algún campo de la tabla tareas está relacionado con la tabla de empresas. Sólo tienes que insertar el dato en el campo correspondiente:
Código MySQL:
Donde tienes en $id_empresa la empresa seleccionada.Ver original No existe (y no tiene mucho sentido) un "INSERT... WHERE"
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? si pero lo q buscas se haria conn un update ya q en un insert genera una fila nueva no puede buscar datos ya q no existen, y un update actualiza datos q ya existen ejemplo:
Código php:
Ver original |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Cita: No, un update no es ya que no existen datos en la base de datos... solo existe un identificador de sociedad (id_soci) que lo selecciono cuando elijo la sociedad en el desplegable.
Iniciado por dcreate ![]() si pero lo q buscas se haria conn un update ya q en un insert genera una fila nueva no puede buscar datos ya q no existen, y un update actualiza datos q ya existen ejemplo:
Código php:
Ver original |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? entonces debes hacer un insert normal... analiza bien .. tomate un descanzo derrepente cuando se pasa mucho tiempo frente al tarro uno se bloquea.. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Cita: Te pongo mi INSTER para que lo veas claramente. Probé lo que me dijiste, pero algo tengo que estar haciendo mal.
Iniciado por David ![]() En ese caso, se supone que algún campo de la tabla tareas está relacionado con la tabla de empresas. Sólo tienes que insertar el dato en el campo correspondiente:
Código MySQL:
Donde tienes en $id_empresa la empresa seleccionada.Ver original No existe (y no tiene mucho sentido) un "INSERT... WHERE" Cita: $ruta lo llamo antes de la función para que me recoja el valor que yo seleccioné en el desplegable, al igual que hice cuando hice la SELECT y me lo recupera perfecto. Pero con el INSERT no se que pasa que no me lo toma. Recupero el valor de $ruta así:function insertar_tarea($id_tarea, $id_soci, $usuario, $tarea, $tiempo, $fecha) { $con = conexion_bd(); $query = "select * from tareas where id_tarea='$id_tarea'"; $result = mysql_query($query); if (!$result || mysql_num_rows($result)!=0) return false; $query = "insert into tareas values ('$id_tarea', '$ruta', '$usuario', '$tarea', '$tiempo', '$fecha')"; $result = mysql_query($query); if (!$result) return false; else return true; } Cita: $ruta=$_GET['pob1']; |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? Debes tener en cuenta el alcance de las variables. $ruta no existe dentro de la función, debes usar $GLOBALS['ruta'] o usar la palabra clave global:
Código PHP:
Ver original
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Cita:
Iniciado por David ![]() Debes tener en cuenta el alcance de las variables. $ruta no existe dentro de la función, debes usar $GLOBALS['ruta'] o usar la palabra clave global:
Código PHP:
Ver original Pues ahora que lo dices puede ser que tengas razón, pero llevo tiempo sin tocar PHP y me esta costando una barbaridad. No sabría donde meter el $GLOBAL dentro de mi función. Echame una mano y dejame los numeros de tu cuenta corriente que en breve te hago un abono. ![]() |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? En lugar de $ruta usa $GLOBALS['ruta'], así de simple. Para despejar dudas, nada mejor que leer el manual: http://php.net/manual/en/language.variables.scope.php
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? David, agradezco tu paciencia. He probado sin éxito lo siguiente: Cita: También probé sin las comillas:$query = "insert into tareas values ('$id_tarea', '$GLOBALS[ruta]', '$usuario', '$tarea', '$tiempo', '$fecha')"; Cita: E incluso poniendo ruta como $ruta:$query = "insert into tareas values ('$id_tarea', $GLOBALS[ruta], '$usuario', '$tarea', '$tiempo', '$fecha')"; Cita: No se que está pasando macho, pero me estoy volviendo loco. $query = "insert into tareas values ('$id_tarea', '$GLOBALS[$ruta]', '$usuario', '$tarea', '$tiempo', '$fecha')"; |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? La primera forma es correcta, justo después de esa línea haz un echo $query para ver qué imprime. También, si la consulta (mysql_query) devuelve false imprime el valor de mysql_error()
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Al hacer el echo $query me dice lo siguiente: insert into tareas values ('', '', 'usuarioprueba', 'tarea23', '2', '2009-11-11')Tarea 'tarea23' fue agregada a la base de datos. Lo puse yo cuando se inserta correctamente. Pero como ves...los 2 primeros valores estan en blanco '','' es como si no tomara los datos. En base de datos se inserta el primero valor y todos los demas excepto el 2º campo que es el id_sociedad |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? Muestra el código con que llamas a la función.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Aquí lo tienes. Es el script completo insertar_tarea.php Cita: <?php session_start(); require_once('funciones.php'); encabezado_html('Agregando una tarea'); $id_tarea = $HTTP_POST_VARS['id_tarea']; $id_soci = $HTTP_POST_VARS['id_soci']; $usuario = $HTTP_POST_VARS['usuario']; $tarea = $HTTP_POST_VARS['tarea']; $tiempo = $HTTP_POST_VARS['tiempo']; $fecha = $HTTP_POST_VARS['fecha']; ?> <h3> <?php if(insertar_tarea($id_tarea, $id_soci, $usuario, $tarea, $tiempo, $fecha)) echo "Tarea '".stripslashes($tarea)."' fue agregada a la base de datos.<br />"; else echo "Tarea'".stripslashes($tarea). "' No puede ser agregada a la base de datos.<br />"; ?> |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? En ningún lugar estás asignando $ruta. En cuanto a $id_tarea, comprueba que realmente tengas un campo con ese nombre. Por otro lado, si es AUTO_INCREMENT no es necesario especificarlo a la hora de insertar el dato. P.S.: No uses $HTTP_POST_VARS, usa $_POST en su lugar.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Perdona David pero sin querer borré la declaración de $ruta. El script quedaría así: Cita: Declaro $ruta arriba cuando abro para escribir en php. Supongo que debería de poner $ruta en algun sitio mas de este script, pero desconozco donde o como se hace.Respecto a id_tarea es autonumerico, por eso no se ve lo que se agrega,pero internamente en la base de datos sime lo hace bien (va numerando correlativo). <?php session_start(); $ruta=$_GET['pob1']; require_once('funciones.php'); encabezado_html('Agregando una tarea'); $id_tarea = $HTTP_POST_VARS['id_tarea']; $id_soci = $HTTP_POST_VARS['id_soci']; $usuario = $HTTP_POST_VARS['usuario']; $tarea = $HTTP_POST_VARS['tarea']; $tiempo = $HTTP_POST_VARS['tiempo']; $fecha = $HTTP_POST_VARS['fecha']; ?> <h3> <?php if(insertar_tarea($id_tarea, $id_soci, $usuario, $tarea, $tiempo, $fecha)) echo "Tarea '".stripslashes($tarea)."' fue agregada a la base de datos.<br />"; else echo "Tarea'".stripslashes($tarea). "' No puede ser agregada a la base de datos.<br />"; ?> |
| ||||
Respuesta: Se podría hacer un INSERT...WHERE ??? ¿Cuando imprimes $ruta imprime el valor correcto? Ya que los demás datos los recibes por POST, me extraña que el valor para $ruta lo obtengas de $_GET (puede que efectivamente lo recibas por la URL, pero debes revisarlo)
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Se podría hacer un INSERT...WHERE ??? Lo estoy haciendo tal cual lo hice en la SELECT y funcionó a la hora de recuperar los datos de la empresa seleccionada. Le echaré un vistazo a ver que pasa. Gracias David, en breve tendrás noticias mias. |