Foros del Web » Programando para Internet » PHP »

No me modifica los cambios

Estas en el tema de No me modifica los cambios en el foro de PHP en Foros del Web. Este es mi codigo tengo un boton de nombre Save, primero muestro los campos en cada uno de los TEXT Fields la idea es posteriormente ...

  #1 (permalink)  
Antiguo 04/11/2008, 07:01
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta No me modifica los cambios

Este es mi codigo tengo un boton de nombre Save, primero muestro los campos en cada uno de los TEXT Fields la idea es posteriormente modificarlos con este codigo, solo que no me funciona y no encuentro el error que estoy comentiendo me puedes ayudar?

gracias...



if ($_GET[Save]){
$status=$_GET['status'];
$txtroom=$_GET['txtroom'];
$room_type=$_GET['room_type'];
$txtarriveNotes=$_GET['txtarriveNotes'];
$kitchenette=$_GET['kitchenette'];
$txtweekday=$_GET['txtweekday'];
$txtweekend=$_GET['txtweekend'];

include ("../include/conexion.php");
$db=mysql_select_db($base,$conexion);
$sql2=("UPDATE room SET status_code='$status',room_number='$txtroom',room_ type_id='$room_type',ammenities='$txtarriveNotes', kitchenette='$kitchenette',kstd_rate='$txtweekday' ,special_rate_1='$txtweekend'where '$id'=id");
$result=mysql_query($sql2,$conexion);

}?>
  #2 (permalink)  
Antiguo 04/11/2008, 07:05
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

Hola

cual es el mehod de tu form??,
por lo que veo ha de ser GET (no recomendado). compruebalo y por si acaso coloca los errores de MySQL para saber si hay error en la consulta.

$result=mysql_query($sql2,$conexion) or die (mysql_error());

Un saludo
  #3 (permalink)  
Antiguo 04/11/2008, 19:32
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta Respuesta: No me modifica los cambios

Segui tus indicaciones pero no me funciona.... y tampoco me marca ningun error.

qeu hacemos?
  #4 (permalink)  
Antiguo 04/11/2008, 19:56
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

Hola

cambia esta linea

if ($_GET[Save]){

por esta

if ($_GET['Save']){

Y enseñame el form

Un saludo
  #5 (permalink)  
Antiguo 04/11/2008, 20:22
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

mas omenos esta asi pero aun no funciona

<form id="form2" name="form2" method="get" action="">

<textarea name="txtarriveNotes" id="txtarriveNotes" cols="45" rows="5"><?php if(isset($ammenities)) { echo $ammenities ; } ?>
</textarea>
select name="room_type" id="room_type">
<option value="1">Junior Suite - 1 King Bed</option>
<option value="2">Junior Suite - 2 Full Bed</option>
<option value="3">Liberty Suite - 1 King Bed</option>
<option value="4">Liberty Suite - 2 Full Bed</option>
</select>


<input name="txtroom" type="text" id="txtroom" value="<?php if(isset($room_number)) { echo $room_number ; } ?>"size="45" maxlength="45" />
<input type="submit" name="Save" id="Save" value="Save Changes" />
</form>
  #6 (permalink)  
Antiguo 04/11/2008, 20:25
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

cambia esta linea, ponle las comillas simples

if ($_GET['Save']){

seguramente no te entra el if por ello.

y pon a donde va el form en el action que lo tienes vacio

Un saludo
  #7 (permalink)  
Antiguo 04/11/2008, 21:02
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

que tendria que ponerle en el action?

me puedes poner un ejemplo.? como la idea es utilizar el metodo get, tengo que ponerle algo en action?

gracias..
  #8 (permalink)  
Antiguo 04/11/2008, 21:04
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

el nombre de la pagina que procesa los datos, vamos donde tienes el codigo php

action="pagina_que_sea.php"

Un saludo
  #9 (permalink)  
Antiguo 04/11/2008, 21:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No me modifica los cambios

quieres ejemplos, referencias??

consulta la documentación oficial...

http://php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 04/11/2008, 21:07
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

tambien te aconsejo poner un ELSE al final para saber si hay error.

Código PHP:

if ($_GET[Save]){
$status=$_GET['status'];
$txtroom=$_GET['txtroom'];
$room_type=$_GET['room_type'];
$txtarriveNotes=$_GET['txtarriveNotes'];
$kitchenette=$_GET['kitchenette'];
$txtweekday=$_GET['txtweekday'];
$txtweekend=$_GET['txtweekend'];

include (
"../include/conexion.php"); 
$db=mysql_select_db($base,$conexion); 
$sql2=("UPDATE room SET status_code='$status',room_number='$txtroom',room_ type_id='$room_type',ammenities='$txtarriveNotes', kitchenette='$kitchenette',kstd_rate='$txtweekday' ,special_rate_1='$txtweekend'where '$id'=id"); 
$result=mysql_query($sql2,$conexion); 

}
else
{
echo
"no se realizo el update";
}

?> 
  #11 (permalink)  
Antiguo 04/11/2008, 21:49
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

Este seria mi codigo utilizando el metodo post en la otra seccion , ya agregue el siguiente action al formulario action="save.php" Method=Post
me envia perfectamente a la nueva pagina pero no me lo guarda.


$status=$_POST['status'];
$txtroom=$_POST['txtroom'];
$room_type=$_POST['room_type'];
$txtarriveNotes=$_POST['txtarriveNotes'];
$kitchenette=$_POST['kitchenette'];
$txtweekday=$_POST['txtweekday'];
$txtweekend=$_POST['txtweekend'];

include ("../include/conexion.php");
$db=mysql_select_db($base,$conexion);
$sql2=("UPDATE room SET status_code='$status',room_number='$txtroom',room_ type_id='$room_type',ammenities='$txtarriveNotes', kitchenette='$kitchenette',kstd_rate='$txtweekday' ,special_rate_1='$txtweekend'where '$id'=id");
$result=mysql_query($sql2,$conexion);
  #12 (permalink)  
Antiguo 04/11/2008, 21:58
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

pon los errore de mysql
Y DE DONDE RECIBES EL ID DE LA CLAUSULA WHERE where '$id'=id, que a demas seria alreves
Código PHP:
where id='$id'"); 
Código PHP:

include ("../include/conexion.php"); 
$db=mysql_select_db($base,$conexion) or die (mysql_error()); 
$sql2=("UPDATE room SET status_code='$status',room_number='$txtroom',room_ type_id='$room_type',ammenities='$txtarriveNotes', kitchenette='$kitchenette',kstd_rate='$txtweekday' ,special_rate_1='$txtweekend' where id='$id'"); 
$result=mysql_query($sql2,$conexion)or die (mysql_error()); 
aver si hay error de mysql en la consulta y sin la ID nunca te hara el update
  #13 (permalink)  
Antiguo 04/11/2008, 22:35
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta Respuesta: No me modifica los cambios

ya corregi los errores , lo volvi aprobar sigue sin funcionar , que podra estar ocacionando que no pueda hacer el cambio.


Ojo recuerda que estoy mostrando primero los campos existentes en mis textbox y luego sobre escribo sobre estos y cuando intento guardar estos datos modificados sobre mi registro.

como lo logro.?

gracias...
  #14 (permalink)  
Antiguo 04/11/2008, 23:25
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

te paso nuevamente el codigo haber si me puedes ayudar


$id=$_GET['id'];

if ($id==""){ echo" ";}
else{

$status=$_POST['status'];
$txtroom=$_POST['txtroom'];
$room_type=$_POST['room_type'];
$txtarriveNotes=$_POST['txtarriveNotes'];
$kitchenette=$_POST['kitchenette'];
$txtweekday=$_POST['txtweekday'];
$txtweekend=$_POST['txtweekend'];

include ("../include/conexion.php");
$db=mysql_select_db($base,$conexion) or die (mysql_error());
$sql2=("UPDATE room SET status_code='$status',room_number='$txtroom',room_ type_id='$room_type',ammenities='$txtarriveNotes', kitchenette='$kitchenette',std_rate='$txtweekday' ,special_rate_1='$txtweekend' where id='$id'");
$result=mysql_query($sql2,$conexion)or die (mysql_error());

}
?>
  #15 (permalink)  
Antiguo 05/11/2008, 04:58
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

El codigo parece bien, pero prueba asi:


Código PHP:

<?php

$id
=$_GET['id'];

if (!isset(
$id)){ echo" nada";}
else{

$status=$_POST['status'];
$txtroom=$_POST['txtroom'];
$room_type=$_POST['room_type'];
$txtarriveNotes=$_POST['txtarriveNotes'];
$kitchenette=$_POST['kitchenette'];
$txtweekday=$_POST['txtweekday'];
$txtweekend=$_POST['txtweekend'];

include (
"../include/conexion.php"); 
$db=mysql_select_db($base,$conexion) or die (mysql_error()); 
$sql2=("UPDATE room SET status_code='$status', room_number='$txtroom', room_ type_id='$room_type', ammenities='$txtarriveNotes', kitchenette='$kitchenette',std_rate='$txtweekday' ,special_rate_1='$txtweekend' where id='$id'"); 
$result=mysql_query($sql2,$conexion)or die (mysql_error()); 

}
?>
Un saludo
  #16 (permalink)  
Antiguo 05/11/2008, 06:11
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

ME aparece una leyenda que dice "nada"


que procede gracias!
  #17 (permalink)  
Antiguo 05/11/2008, 06:38
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

Pues Eso es por que no te llega la variable ID por get.

De donde viene esa variable, $id=$_GET['id'];??
  #18 (permalink)  
Antiguo 05/11/2008, 06:50
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

Bueno...cuando ejecuto el boton para ir a la seccion Saveroom.php lo hago con post pero ya probe con POST y tan poco funciona, como me recomiendas que me lleve la variable.?
  #19 (permalink)  
Antiguo 05/11/2008, 06:54
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

pon el codigo donde esta ese boton, sin verlo no se que decirte, el metodo GET O POST son buenos para pasar la variable, siempre mejor POST, pero pon el codigo, a ver donde esta el fallo.

Un saludo
  #20 (permalink)  
Antiguo 05/11/2008, 07:00
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

<form id="form2" name="form2" method="post" action="saveroom.com">

<textarea name="txtarriveNotes" id="txtarriveNotes" cols="45" rows="5"><?php if(isset($ammenities)) { echo $ammenities ; } ?>
</textarea>
select name="room_type" id="room_type">
<option value="1">Junior Suite - 1 King Bed</option>
<option value="2">Junior Suite - 2 Full Bed</option>
<option value="3">Liberty Suite - 1 King Bed</option>
<option value="4">Liberty Suite - 2 Full Bed</option>
</select>


<input name="txtroom" type="text" id="txtroom" value="<?php if(isset($room_number)) { echo $room_number ; } ?>"size="45" maxlength="45" />
<input type="submit" name="Save" id="Save" value="Save Changes" />
</form>

Este es el codigo donde esta el boton.
  #21 (permalink)  
Antiguo 05/11/2008, 07:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

pero en este form nunca pasas la ID en ningun sitio


<form id="form2" name="form2" method="post" action="saveroom.com">

<textarea name="txtarriveNotes" id="txtarriveNotes" cols="45" rows="5"><?php if(isset($ammenities)) { echo $ammenities ; } ?>
</textarea>
select name="room_type" id="room_type">
<option value="1">Junior Suite - 1 King Bed</option>
<option value="2">Junior Suite - 2 Full Bed</option>
<option value="3">Liberty Suite - 1 King Bed</option>
<option value="4">Liberty Suite - 2 Full Bed</option>
</select>


<input name="txtroom" type="text" id="txtroom" value="<?php if(isset($room_number)) { echo $room_number ; } ?>"size="45" maxlength="45" />
<input type="submit" name="Save" id="Save" value="Save Changes" />
</form>

en negrita estan las variables que envias por POST, pero en ninguna de ellas pasa ID de una BBDD, en tu consulta tienes una clausula WHERE id = '$id'

pero no la envias, la has de obtener de una primera consulta a la bbdd antes del form donde rellenas los campos del form, en la misma pagina.

Ese ID de la clausula where, DONDE ESTA???

Un saludo
  #22 (permalink)  
Antiguo 05/11/2008, 07:12
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

Postea todo el codigo de como rellenas el form para actualizar los datos
  #23 (permalink)  
Antiguo 05/11/2008, 08:06
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

Cita:
Iniciado por jaronu Ver Mensaje
Postea todo el codigo de como rellenas el form para actualizar los datos


Lo que sucede es que saco el campo del ID desde otro link el cual lo muestro ese id con un echo " $id";
Si lo visualizo el numero de Id si me lo muestra

Como puedo llevar esta variable hasta la otra seccion ?


es decir utilizo un include para sacar los datos
showroom
<?
$id=$_GET['id'];
include ("conexion.php");
$db=mysql_select_db($base,$conexion);
if (isset($_GET['id'])){
$sql="select * From room Where id='$id' ";
$result = mysql_query($sql) or die (mysql_error());
while ($fila=mysql_fetch_array($result)){
$id=$fila['id'];
$room_number=$fila['room_number'];
$ammenities=$fila['ammenities'];
$std_rate=$fila['std_rate'];
$special_rate_1=$fila['special_rate_1'];
$status_code=$fila['status_code'];

}
}


// condicional If





?>

<?

include ("../include/conexion.php");
$db=mysql_select_db($base,$conexion);
include ("../include/showdataroom.php");





?>

Luego <? echo"$id";?>
  #24 (permalink)  
Antiguo 05/11/2008, 08:12
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

pues incluye en un campo oculto del form la variable

$id=$fila['id'];

y la recibes con post en el otro codigo donde haces el update, paa hacer ek where en la consulta.

Un saludo
  #25 (permalink)  
Antiguo 05/11/2008, 08:13
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

acabo de habiltar otro text box para llevar los datos a la otra seccion con $_POST y me salio este error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type_id='1', ammenities='Telephone, shower, iron and board, luggage rac, hair dr' at line 2
  #26 (permalink)  
Antiguo 05/11/2008, 08:17
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

postea la linea de la consulta a la BBDD como te quedo

Un saludo
  #27 (permalink)  
Antiguo 05/11/2008, 08:21
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

ya lo verifique corresponden todos los campos

Pero no veo el error en el codigo SQL.
corresponde con el nombre de los campos en mi tabla y con las variables


$id=$_POST['id'];

if (!isset($id)){ echo" nada";}
else{

$status=$_POST['status'];
$txtroom=$_POST['txtroom'];
$room_type=$_POST['room_type'];
$txtarriveNotes=$_POST['txtarriveNotes'];
$kitchenette=$_POST['kitchenette'];
$txtweekday=$_POST['txtweekday'];
$txtweekend=$_POST['txtweekend'];

include ("../include/conexion.php");
$db=mysql_select_db($base,$conexion) or die (mysql_error());
$sql2=("UPDATE room SET status_code='$status', room_number='$txtroom'
, room_ type_id='$room_type', ammenities='$txtarriveNotes', kitchenette='$kitchenette',std_rate='$txtweekday' ,special_rate_1='$txtweekend' where id='$id'");
$result=mysql_query($sql2,$conexion)or die (mysql_error());

}
?>

Última edición por RicardoU; 05/11/2008 a las 08:24 Razón: En donde crees que deba aplicar alguna modificación ?
  #28 (permalink)  
Antiguo 05/11/2008, 08:28
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

La cosa se complica.

quitale las comillas simples a todo lo que sea un valor numerico

$sql2=("UPDATE room SET status_code='$status', room_number='$txtroom'
, room_ type_id=$room_type, ammenities=$txtarriveNotes, kitchenette=$kitchenette,std_rate='$txtweekday' ,special_rate_1=$txtweekend where id=$id");

PERO que es todo esto que esta en negrita

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type_id='1', ammenities='Telephone, shower, iron and board, luggage rac, hair dr' at line 2
  #29 (permalink)  
Antiguo 05/11/2008, 08:40
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: No me modifica los cambios

son datos que estan dentro de este campo!

ya quite las comillas y no se resuelve me aparece

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type_id=1, ammenities=Telephone, shower, iron and board, luggage rac, hair dryer' at line 2
  #30 (permalink)  
Antiguo 05/11/2008, 10:36
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: No me modifica los cambios

el error empieza dosde he puesto las negritas

$sql2=("UPDATE room SET status_code='$status', room_number='$txtroom'
, room_ type_id=$room_type, ammenities=$txtarriveNotes, kitchenette=$kitchenette,std_rate='$txtweekday' ,special_rate_1=$txtweekend where id=$id");

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type_id=1, ammenities=Telephone, shower, iron and board, luggage rac, hair dryer' at line 2

revisa sean esos los nombres correvtos de tus campos de la bbdd.

y fijate como insertates los valores la primera vez y al actualizar haz lo mismo.

Un saludo
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:46.