Foros del Web » Programando para Internet » PHP »

No sé hacer esta consulta

Estas en el tema de No sé hacer esta consulta en el foro de PHP en Foros del Web. hola: Haber tengo unda duda: Tengo un formulario cuya funcion es la de acualizar el campo q elige el usuario. Para eso, tengo tres campos ...
  #1 (permalink)  
Antiguo 07/11/2007, 17:23
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 17 años, 2 meses
Puntos: 1
Exclamación No sé hacer esta consulta

hola:
Haber tengo unda duda:
Tengo un formulario cuya funcion es la de acualizar el campo q elige el usuario. Para eso, tengo tres campos que indican:
el primer campo es de tipo select y tienen varias opciones q muestran los titulos( es el tipo)
el segundo campo tambien es de tipo select y tiene varias opciones q muestran distintas cosas como : autor, fecha, titulo, año.....(es el que se llama opciones )
el tercero es de tipo text y es donde el usuario va a introducir el nuevo valor que se quiere insertar en la BD(nuevo).
Pues bien. Me he creado un archivo php en el que quiero esto:

<?php
session_start();
include "conn.inc.php";

$consulta ="UPDATE publicaciones SET '" . $_POST['opciones']. "'= '" . $_POST['nuevo']. "' WHERE titulo= '" . $_POST['tipo']. "';";


$resultado = mysql_query($query) or die(mysql_error());
header("Location: anadirpublicacion.php");
?>



es decir q lo que intento hacer es modificar la publicacion cuyo titulo ha sido elegido en el primer select. Y despues dependiendo de si el usuario en el segundo select elige modificar el autor, el año,o el titulo, pues modificar ese valor con el nuevo valor que introduzca en el tercer campo que es de tipo text.

Mi problema está en que no sé como hacer la parte que he en rojo.
Gracias!!!
  #2 (permalink)  
Antiguo 08/11/2007, 01:56
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Re: No sé hacer esta consulta

$consulta ="UPDATE publicaciones SET " . $_POST['opciones']. "= '" . $_POST['nuevo']. "' WHERE titulo= '" . $_POST['tipo']. "';";

Sin las ' en el nombre del campo a actualizar, solo se usan para valores tipo string.

De todas formas, una forma mas segura para evitar que juegen con tu consulta seria:

$campos=array('nombre_campo1','nombre_campo2','nom bre_campo3'); // los nombres de los campos de la tabla que se pueden modificar
if (in_array($_POST['opciones'])) {
$consulta ="UPDATE publicaciones SET " . $_POST['opciones']. "= '" . $_POST['nuevo']. "' WHERE titulo= '" . $_POST['tipo']. "';";
$resultado = mysql_query($query) or die(mysql_error());
header("Location: anadirpublicacion.php");
exit;
} else {
echo 'Error nombre campo no valido';
// o como quieras gestionarlo
}
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 13:09.