Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2009, 04:23
Avatar de jlmoreno31
jlmoreno31
 
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años
Puntos: 2
problemas con UPDATE en formulario

Hola amigos,

Estoy haciendo un administrador de contenidos de una web y me ha surgido un problema con un formulario que no hay manera que realice un UPDATE.
Explico el tema, aunque disculparme de antemano porque es un pelin largo.
Tengo una pagina en salas.php con un select option con diferentes tipos de salas de reunión. Cuando escojes la opción en el select, éste, llama a un archivo javascript (getsala.js) y devuelve en la misma pagina(sala.php) (en un div predeterminado) la información de la sala de reunión, con un formulario para poder cambiar datos de las salas (getsala.php). El problema es que en el formulario de getsala.php, cuando hago submit no modificada el registro. Os dejo los códigos por si alguien pudiera ver donde está el error.

Sala.php
Código:
<div id="datos" style="font-family:arial; font-size:12px; color:#333;">
	
		<form name="formsalas" method="post" >
     
	Salas dadas de alta:<br />
    <? 
	$id=$_GET['id_centro'];
$sala ="select Nombre_sala, id_sala from salas where id_centro='$id'" or die(mysql_error());
$resultado=mysql_query($sala) or die( mysql_error() ); 
?>
<select name="salas" style="border:1px solid #ccc;" onchange="showUser(this.value)">
<option selected="selected">Escoja la sala </option >
<?
//Mostrar los registros en forma de menú desplegable
while ($row=mysql_fetch_array($resultado)){
echo '<option value="'.$row['id_sala'].'">'.$row["Nombre_sala"].'</option>';
}
echo "</select><br/><br/>";
echo"<div id='txtHint' style='width:auto; height:auto; '><b>Elija La Sala para Cargar info.</b></div>";
	?>
</select>
</form>
Formulario para hacer update del registro

Código:
<?php
include('conexion.php');
$q=$_GET["q"];

$sql="SELECT * FROM salas WHERE id_sala ='$q'";
$result = mysql_query($sql);
$row=mysql_fetch_array($result);

$id_centro=$row['id_centro'];
$id_sala=$row['id_sala'];
$nombresala=$row['Nombre_sala'];
$descripcion=$row['Descripcion'];
$metros=$row['metros'];
$capacidad=$row['capacidad'];
$precio=$row['Precio'];

	echo "<form action='updatesalas.php' method='post'>";
  	echo "<input type=\"hidden\" name=\"id_centro\" value='$id_centro'><br/>";
	echo "<input type=\"hidden\" name=\"id_sala\" value='$id_sala'><br/>";
	echo "Nombre Sala<br/>";
	echo "<input type=\"text\" name=\"Nombre_sala\" value='$nombresala' style='border:1px solid #ccc;'><br/>";
	echo "Descripcion<br/>";
	echo "<textarea name=\"Descripcion\" cols=\"50\" rows=\"20\" >$descripcion</textarea><br/>";
	echo "Metros:<br/>";
	echo "<input type=\"text\" name=\"metros\" value='$metros' style='border:1px solid #ccc;'><br/>";
	echo "Capacidad:<br/>";
	echo "<input type=\"text\" name=\"capacidad\" value='$capacidad'style='border:1px solid #ccc;' ><br/>";
	echo "Precio:<br/>";
	echo "<input type=\"text\" name=\"Precio\" value='$precio' style='border:1px solid #ccc;'><br/><br/>";
	echo "<input name='modificar' type='submit' value='modificar datos' style='border:1px solid #69c; background:#69c; color:#fff;'>";

echo "</form>";
?>
Archivo php que se encarga de realizar el update

Código:
<?php
    // Configura los datos de tu cuenta
    
    // Conexión a la base de datos
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    mysql_select_db($dbname) or die("Cannot select database");

    // Preguntaremos si se han enviado ya las variables necesarias
    if (isset($_POST["id_sala"])) {
$id_centro =$_POST['id_centro'];	
$id_sala=$_POST['id_sala'];
$nombresala=$_POST['Nombre_sala'];
$descripcion=$_POST['Descripcion'];
$metros=$_POST['metros'];
$capacidad=$_POST["capacidad"];
$precio=$_POST['Precio'];

 
    //Todo parece correcto procedemos con la inserccion
    $query = "UPDATE salas SET Nombre_sala='$nombresala', Descripcion='$descripcion', metros='$metros', capacidad='$capacidad', Precio='$precio' WHERE id_sala='$id_sala'";
    mysql_query($query) or die(mysql_error());
    $_SESSION["centro"] = $row['id_centro'];
	print "<script>";
	print " self.location='business-centers-salas.php?id_centro=$id_centro'";
	print "</script>"; 
    }
	
    ?>
Si alguien ve el porque no funciona se lo agradecería. Gracias por todo.