Foros del Web » Programando para Internet » PHP » Zend »

codigo php actualizar

Estas en el tema de codigo php actualizar en el foro de Zend en Foros del Web. saludos foro, estoy programando un sistema de noticias en php con base de datos mysql, realize tres paginas para ver, modificar y eliminar las noticias: ...
  #1 (permalink)  
Antiguo 20/08/2012, 22:37
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
codigo php actualizar

saludos foro, estoy programando un sistema de noticias en php con base de datos mysql, realize tres paginas para ver, modificar y eliminar las noticias:

mi pagina de borrar funciona muy bien:
Código PHP:
<?php
$codigo
=$_GET['id'];
include(
'_conec.php');
$sql="delete from datos where alucod=$codigo";
$exito=mysql_query($sql);
if (
$exito==1){
header('location: resultados.php');
}else{
echo 
"Error al borrar registro";
}
?>
pero tengo problema con mi pagina para actualizar, no funciona y la verdad no se cual sea el error que cometo al programarlo:

Código PHP:
<?php
include('_conec.php');
$b1=$_POST['paterno'];
$b2=$_POST['materno'];
$b3=$_POST['nombre'];
$b4=$_POST['direccion'];
$b5=$_POST['telefono'];
$b6=$_POST['nacimiento'];
$codigo=$_GET['id'];
$sql="update datos set alupat='$b1',alumat='$b2',
alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6'
where alucod=$codigo"
;
$exito=mysql_query($sql);
if (
$exito==1){
header('location: resultados.php');
}else{
echo 
"Error al actualizar <br>$sql";
}
?>
gracias por la ayuda que me den...
  #2 (permalink)  
Antiguo 20/08/2012, 22:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: codigo php actualizar

Haz un echo al $sql para comprobar que tiene datos correctos.

Luego de hacer mysql_query, puedes ver si hubo un error con
echo mysql_error();
  #3 (permalink)  
Antiguo 21/08/2012, 13:20
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: codigo php actualizar

algo como esto ¿?

Código PHP:
<?php
include('_conec.php');
$b1=$_POST['paterno'];
$b2=$_POST['materno'];
$b3=$_POST['nombre'];
$b4=$_POST['direccion'];
$b5=$_POST['telefono'];
$b6=$_POST['nacimiento'];
$codigo=$_GET['id'];
echo 
$sql="update datos set alupat='$b1',alumat='$b2',
alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6'
where alucod=$codigo"
;
$exito=mysql_query($sql);
if (
$exito==1){
header('location: resultados.php');
}else{
echo 
"Error al actualizar <br>$sql";
}
?>
me salio un mensaje de error en Update, como soy algo novato, no se que pueda haber sido:
Error al actualizar
UPDATE datos (alupat,alumat,alunom,aludir,alutel,alunac)
  #4 (permalink)  
Antiguo 21/08/2012, 13:31
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: codigo php actualizar

y el mysql_error()

Primero, al hacer echo del sql por timismo podrías ver si los datos son correctos.
Luego, con mysql_error() podrías ver otro tipo de errores, algo común es que nombres mal una columna.
  #5 (permalink)  
Antiguo 21/08/2012, 14:19
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años, 6 meses
Puntos: 261
Respuesta: codigo php actualizar

Cita:
Iniciado por ocp001a Ver Mensaje
y el mysql_error()

Primero, al hacer echo del sql por timismo podrías ver si los datos son correctos.
Luego, con mysql_error() podrías ver otro tipo de errores, algo común es que nombres mal una columna.
Y añado...

Faltan las comillas en esta línea:
Código PHP:
echo $sql="update datos set alupat='$b1',alumat='$b2', 
alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6' 
where alucod=$codigo"
//<-- aquí 
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #6 (permalink)  
Antiguo 21/08/2012, 15:07
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: codigo php actualizar

Cita:
Iniciado por ocp001a Ver Mensaje
Haz un echo al $sql para comprobar que tiene datos correctos.

Luego de hacer mysql_query, puedes ver si hubo un error con
echo mysql_error();
tenias razon me habia olvidado, ahora si lo coloque:
_actualizar.php
Código PHP:
<?php
include('_conec.php');
$b1=$_POST['paterno'];
$b2=$_POST['materno'];
$b3=$_POST['nombre'];
$b4=$_POST['direccion'];
$b5=$_POST['telefono'];
$b6=$_POST['nacimiento'];
$codigo=$_GET['id'];
//$sql="UPDATE datos set alupat='$b1',alumat='$b2',
//alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6'
//where alucod=$codigo";
echo $sql="UPDATE datos set (alupat,alumat,alunom,aludir,alutel,alunac)
values('$b1','$b2','$b3','$b4','$b5','$b6')"
;
//where alucod=$codigo";
$exito=mysql_query($sql);
echo 
mysql_error()
if (
$exito==1){
header('location: resultados.php');
}else{
echo 
"Error al actualizar <br>$sql";
}
?>
y me salio este mensaje:

Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in F:\server2go\htdocs\mantenimiento\_actualizar.php on line 18

que significa ese error ¿?
  #7 (permalink)  
Antiguo 21/08/2012, 15:11
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 13 años, 3 meses
Puntos: 34
Respuesta: codigo php actualizar

Código PHP:
Ver original 

Te falta el ; al final de la linea.
Saludos.
  #8 (permalink)  
Antiguo 21/08/2012, 15:13
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: codigo php actualizar

Ese error te salio por que no colocaste ; luego del mysql_error.

Uncontroled_Duck : si alucod es numérico no sería un error que no llevara los apostrofes, claro que siempre es recomendable colocarlos sea el valor una cadena o un número.
  #9 (permalink)  
Antiguo 22/08/2012, 13:11
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: codigo php actualizar

listo ya le coloque el ; que faltaba al final:

Código PHP:
<?php 
include('_conec.php'); 
$b1=$_POST['paterno']; 
$b2=$_POST['materno']; 
$b3=$_POST['nombre']; 
$b4=$_POST['direccion']; 
$b5=$_POST['telefono']; 
$b6=$_POST['nacimiento']; 
$codigo=$_GET['id']; 
//$sql="UPDATE datos set alupat='$b1',alumat='$b2', 
//alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6' 
//where alucod=$codigo"; 
echo $sql="UPDATE datos set (alupat,alumat,alunom,aludir,alutel,alunac) 
values('$b1','$b2','$b3','$b4','$b5','$b6')"

//where alucod=$codigo"; 
$exito=mysql_query($sql); 
echo 
mysql_error(); 
if (
$exito==1){ 
header('location: resultados.php'); 
}else{ 
echo 
"Error al actualizar <br>$sql"

?>
y me salio esto:

UPDATE datos set alupat='sasasas',alumat='MARTINEZ', alunom='DANIEL',aludir='[email protected]',alutel=' 9666-4458',alunac='2000-04-03' where alucod=\"1\"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 '\"1\"' at line 3Error al actualizar
UPDATE datos set alupat='sasasas',alumat='MARTINEZ, alunom='DANIEL',aludir='[email protected]',alutel=' 9666-4458',alunac='2000-04-03' where alucod=\"1\"

que significa ese error ¿?
  #10 (permalink)  
Antiguo 22/08/2012, 17:55
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 13 años, 3 meses
Puntos: 34
Respuesta: codigo php actualizar

Cita:
You have an error in your SQL syntax;
Lo pone claro me parece.
Un UPDATE no se hace así, es de la siguiente manera:
Código SQL:
Ver original
  1. UPDATE tabla SET campo1 = 'valor1', campo2 = 'valor2'

Te recomiendo este manual de SQL.
Saludos.
  #11 (permalink)  
Antiguo 23/08/2012, 06:00
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo php actualizar

Código PHP:
Ver original
  1. <?php
  2. include('_conec.php');
  3. $b1=$_POST['paterno'];
  4. $b2=$_POST['materno'];
  5. $b3=$_POST['nombre'];
  6. $b4=$_POST['direccion'];
  7. $b5=$_POST['telefono'];
  8. $b6=$_POST['nacimiento'];
  9. $codigo=$_GET['id'];
  10. $sql="update datos set alupat='$b1',alumat='$b2',
  11. alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6'
  12. where alucod='$codigo' ";
  13. $exito=mysql_query($sql) or die (mysql_error());
  14. if ($exito==1){
  15. header('location: resultados.php');
  16. }
  17. ?>
  #12 (permalink)  
Antiguo 06/09/2012, 14:10
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: codigo php actualizar

use tu ejemplo webankenovi, el que colocaste ahi, pero no se actualiza al hacer el cambio, esta vez no me salio ningun error, al momento de modificar un campo y dar clic en guardar el cambio no se guarda, a que se debe esto ¿?
  #13 (permalink)  
Antiguo 07/09/2012, 10:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo php actualizar

antes de hacerlo dinamico prueba con valores estaticos
Código PHP:
Ver original
  1. <?php
  2. include('_conec.php');
  3. $b1= 'paterno'
  4. $b2='materno';
  5. $b3='nombre';
  6. $b4='direccion';
  7. $b5='telefono';
  8. $b6='nacimiento';
  9.  
  10. $sql="update datos set alupat='$b1',alumat='$b2',
  11. alunom='$b3',aludir='$b4',alutel='$b5',alunac='$b6'
  12. where alucod='1' ";
  13. $exito=mysql_query($sql) or die (mysql_error());
  14. if ($exito==1){
  15. header('location: resultados.php');
  16. }
yo haria lo siguiente para ir descartando

1 comprueba los nombres de las columas de la bd correspondan a los de el update
2 todos los campos en varchar 100 caracteres si te funciona ya lo ajustas segun el campo

y en el momento de pulsar aztualizar as dicho que no se guarda pero exactamente que hace?? modifica algun campo ninguno??
  #14 (permalink)  
Antiguo 08/09/2012, 10:06
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: codigo php actualizar

pues no la verdad, al hacer clic en el boton guardar no modifica ningun campo, voy a hacer los consejos que me acabas de dar amigo webankenovi, luego te digo como me fue...
  #15 (permalink)  
Antiguo 09/09/2012, 14:01
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo php actualizar

esta solucion te tiene que funcionar si o si

cambia los datos de la conexion por los tuyos y el alucod de la consulta que es 1 por el id que tu desees modificar , si te funca ya solo debes ir adaptandolo a tu primer codigo, tan solo te lo paso para verificar , si no te funca ummm ya veremos....

Código PHP:
Ver original
  1. <?php
  2.  
  3. $enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_myql');
  4. if (!$enlace) {
  5.     die('No se pudo conectar : ' . mysql_error());
  6. }
  7.  
  8. $bd_seleccionada = mysql_select_db('datos', $enlace);
  9. if (!$bd_seleccionada) {
  10.     die ('No se puede usar datos: ' . mysql_error());
  11. }
  12.  
  13. $sql="UPDATE datos SET alupat='paterno',alumat='materno',alunom='nombre',aludir='direccion',alutel='telefono',alunac='fecha_nacimiento' WHERE alucod='1' ";
  14.  
  15. $exito=mysql_query($sql) or die (mysql_error());
  16.  
  17. if ($exito==1)
  18. {
  19.     echo'aztualizado';
  20. }
  21.  
  22. ?>
  #16 (permalink)  
Antiguo 10/09/2012, 07:29
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: codigo php actualizar

Voy a probar con este ultimo codigo que me acabas de dar, luego te cuento como me fue
  #17 (permalink)  
Antiguo 10/09/2012, 14:57
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Pregunta Respuesta: codigo php actualizar

Bueno probe el codigo pero me sale este mensaje:

No se puede usar datos: Unknown database 'datos'

Código PHP:
<?php
 
$enlace 
mysql_connect('localhost''root''');
if (!
$enlace) {
    die(
'No se pudo conectar : ' mysql_error());
}
 
$bd_seleccionada mysql_select_db('datos'$enlace);
if (!
$bd_seleccionada) {
    die (
'No se puede usar datos: ' mysql_error());
}
 
$sql="UPDATE datos SET alupat='paterno',alumat='materno',alunom='nombre',aludir='direccion',alutel='telefono',alunac='fecha_nacimiento' WHERE alucod='1' ";
 
$exito=mysql_query($sql) or die (mysql_error());
 
if (
$exito==1)
{
    echo
'aztualizado';
}
 
?>
mi base de datos se llama "alumnos.sql"

Código:
# SQL Manager 2007 for MySQL 4.4.2.1
# ---------------------------------------
# Host     : localhost
# Port     : 3306
# Database : alumnos


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES latin1 */;

SET FOREIGN_KEY_CHECKS=0;

DROP DATABASE IF EXISTS `alumnos`;

CREATE DATABASE `alumnos`
    CHARACTER SET 'latin1'
    COLLATE 'latin1_swedish_ci';

USE `alumnos`;

#
# Structure for the `datos` table : 
#

DROP TABLE IF EXISTS `datos`;

CREATE TABLE `datos` (
  `alucod` int(11) NOT NULL AUTO_INCREMENT,
  `alupat` varchar(25) DEFAULT NULL,
  `alumat` varchar(25) DEFAULT NULL,
  `alunom` varchar(25) DEFAULT NULL,
  `aludir` varchar(100) DEFAULT NULL,
  `alutel` varchar(20) DEFAULT NULL,
  `alunac` date DEFAULT NULL,
  PRIMARY KEY (`alucod`)
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

#
# Data for the `datos` table  (LIMIT 0,500)
#

INSERT INTO `datos` (`alucod`, `alupat`, `alumat`, `alunom`, `aludir`, `alutel`, `alunac`) VALUES 
  (1,'CORONEL','FERNANDEZ','CARLOS','[email protected]','9987-4457','2005-04-03'),
  (4,'DIAZ','COSTAS','MARIA','MDIAZ@HOTMAIL,COM','8123-6734','2002-04-10'),
  (22,'ESPILCO','VILLAR','PEDRO','[email protected]','9456-3456','2009-04-17');
COMMIT;



/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
¿Que puedo estar haciendo mal?
  #18 (permalink)  
Antiguo 11/09/2012, 01:16
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo php actualizar

debes cambiar en el code que te pase el nombre de la bd en la parte de mysql_select_db cambias 'datos' por el nombre de tu bd , segun has comentado se llama alumnos pues cambia 'datos' por 'alumnos'

Código PHP:
Ver original
  1. <?php
  2.  
  3. $enlace = mysql_connect('localhost', 'root', '');
  4. if (!$enlace) {
  5.     die('No se pudo conectar : ' . mysql_error());
  6. }
  7.  
  8. $bd_seleccionada = mysql_select_db('alumnos', $enlace);
  9. if (!$bd_seleccionada) {
  10.     die ('No se puede usar la base de datos : ' . mysql_error());
  11. }
  12.  
  13. $sql="UPDATE datos SET alupat='paterno',alumat='materno',alunom='nombre',aludir='direccion',alutel='telefono',alunac='fecha_nacimiento' WHERE alucod='1' ";
  14.  
  15. $exito=mysql_query($sql) or die (mysql_error());
  16.  
  17. if ($exito==1)
  18. {
  19.     echo'aztualizado';
  20. }
  21.  
  22. ?>

Última edición por webankenovi; 11/09/2012 a las 12:07
  #19 (permalink)  
Antiguo 12/09/2012, 13:35
 
Fecha de Ingreso: julio-2008
Mensajes: 39
Antigüedad: 16 años, 4 meses
Puntos: 1
Pregunta Respuesta: codigo php actualizar

bueno hice lo que me digiste, y al momento de guardar me guarda el nombre de los campos, o sea: paterno, materno, nombre, direccion, telefono.

porque pasa eso ¿?
  #20 (permalink)  
Antiguo 12/09/2012, 14:15
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: codigo php actualizar

eso quiere decir que funciono correctamente son los datos que introduci manualmente en el UPDATE si te fijas un poco , ahora ya amoldalo a tu script de partida , saludos

Etiquetas: mysql, php, registro, sql
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 10:44.