Foros del Web » Programando para Internet » PHP »

Comoo modificar y añadir nuevos registros a mysql con php?

Estas en el tema de Comoo modificar y añadir nuevos registros a mysql con php? en el foro de PHP en Foros del Web. hola amigos, me gustaria saber como se le hace para poder editar y añadir nuevos registros a mysql usando php, ya que encontre este codigo, ...
  #1 (permalink)  
Antiguo 07/03/2009, 08:52
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Pregunta Comoo modificar y añadir nuevos registros a mysql con php?

hola amigos, me gustaria saber como se le hace para poder editar y añadir nuevos registros a mysql usando php, ya que encontre este codigo, pero no me lista, no me deja agregar ni me deja modificar los registros:

Código PHP:
<html>
<body>

<?php
include('config.php');

//Comprobamos si hemos recibido datos del formulario (enviar)
if ($enviar) {
   
// Si recibimos un id, modificamos, sino añadimos un registro 
   
if ($id) {
      
$sql "UPDATE users SET nick='$nick', nombre='$nombre', generacion='$generacion', pass='$pass', email='$email', fecha='$fecha', level='$level' WHERE id='$id'";
      echo 
"Registro Actualizado<p>";
   } else {
      
$sql "INSERT INTO users (nick, nombre, generacion, pass, email, fecha, level) VALUES ('$nick', '$nombre', '$generacion', '$pass', '$email', '$fecha', '$level')";
      echo 
"Registro Añadido<p>";
   }
   
// Enviamos la sentencia SQL al servidor DB
   
$result mysql_query($sql);
} elseif (
$delete) {
   
// Borramos un registro
   
$sql "DELETE FROM users WHERE id='$id'"
   
$result mysql_query($sql);
   echo 
"Registro Borrado<p>";
} else {
   
// Esta parte se ejecuta si no hemos presionado el boton enviar,
   // es decir no venimos de un formulario
   
if (!$id) {
      
// Mostramos todos los registros de nuestra BD

     
$result=mysql_query("SELECT * FROM users WHERE id='$id'") or die (mysql_error());
  
$myrow=mysql_fetch_row($result);
      
      {
         echo 
"".$myrow["nick"]." - ".$myrow["nombre"]." - ".$myrow["generacion"]." - ".$myrow["pass"]." - ".$myrow["email"]." - ".$myrow["fecha"]." - ".$myrow["level"]."";
         echo 
"<a href=admin2.php?id=".$myrow["id"]."&delete=yes\>   Borrar - </a>"
         echo 
"<a href=admin2.php?id=".$myrow["id"]."> Modificar </a><br>";
      }
   }
}
?>

<P>
<a href="<?php echo $PHP_SELF?>">Añadir un registro</a>
<P>
<form method="post" action="<?php echo $PHP_SELF?>">
<?php

if ($id) {
     
// editamos el registro seleccionado
     
$sql "SELECT * FROM users WHERE id='$id'";
     
$result mysql_query($sql);
     
$myrow mysql_fetch_array($result);
     
$id $myrow["id"];
     
$nick $myrow["nick"];
     
$nombre $myrow["nombre"];
      
$generacion $myrow["generacion"];
     
$pass $myrow["pass"];
     
$email $myrow["email"];
     
$fecha $myrow["fecha"];
    
          
$level $myrow["level"];
     
// enviamos el id para poder editar el registro
     
echo "<input type=hidden name=\"id\" value=$id>";
}
?> 

Nick:<input type="Text" name="nick" value="<?php echo $nick ?>"><br>
Nombre:<input type="Text" name="nombre" value="<?php echo $nombre ?>"><br>
Generacion:<input type="Text" name="generacion" value="<?php echo $generacion ?>"><br>
contraseña:<input type="Text" name="pass" value="<?php echo $pass ?>"><br>
Email:<input type="Text" name="email" value="<?php echo $email ?>"><br>
Fecha:<input type="Text" name="fecha" value="<?php echo $fecha ?>"><br>
Nivel:<input type="Text" name="level" value="<?php echo $level ?>"><br>
<input type="Submit" name="enviar" value="Enviar Información">
</form>

<?php



 
($enviar)



?>


</body>
</html>
  #2 (permalink)  
Antiguo 07/03/2009, 08:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Cuidado con lo que estás haciendo, estás confiando en que la directiva register_globals esté en On, además, estás confiando en los datos ingresados en los campos sin ningún tipo de filtro.

En fin, ¿te da algún error?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/03/2009, 09:04
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Ese es el problema, que no me da ni error, pero al especificarle la id no me carga los datos, o al ingresar datos en el form no los agrega.
  #4 (permalink)  
Antiguo 07/03/2009, 09:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

¿Qué tienes en el archivo config.php? ¿En ella está la conexión a la base de datos? ¿Has comprobado que los nombres de los campos sean correctos?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 07/03/2009, 09:16
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Este es el config:

Código PHP:
<?
$dbhost
="****"//Host del mysql
$dbuser="****"//Usuario del mysql
$dbpass="****"//Password del mysql
$db="base_users"//db donde se creará la tabla users

//conectamos y seleccionamos db
mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$db"); 


?>
Si coneecta ya que pues no me manda ningun error.

Y como le hago para poder hacer el script sin usar las register_globals o como dijiste???
  #6 (permalink)  
Antiguo 07/03/2009, 09:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

En lugar de usar directamente $enviar, $nick, etc., usa $_POST['enviar'], $_POST['nick'], etc.

Además, en la línea de conexión coloca:
Código php:
Ver original
  1. mysql_connect($dbhost, $dbuser, $dbpass) or die('Sin conexión');
Además, supongo que los (****) tienen sus respectivos valores, y que sólo los ocultas aquí por seguridad, ¿no?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 07/03/2009, 10:04
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

sip, es solo por seguridad, gracias, en este momento lo probare
  #8 (permalink)  
Antiguo 07/03/2009, 10:07
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Entonces, tengo que cambiarles en todo el codigo donde tenga $enviar, $nick, etc de todo el codigo por $_POST['enviar'], $_POST['nick'], etc. ?
  #9 (permalink)  
Antiguo 07/03/2009, 10:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

No sería mala idea, así te evitas depender de que la directiva register_globals esté activada o no y sabes con seguridad de dónde vienen las variables que estás utilizando.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 07/03/2009, 10:18
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

entonces quedaria algo asi: ??

Código PHP:
<html>
<body>

<?php
include('config.php');

//Comprobamos si hemos recibido datos del formulario (enviar)
if ($enviar) {
   
// Si recibimos un id, modificamos, sino añadimos un registro 
   
if ($id) {
      
$sql "UPDATE users SET nick='$_POST['nick']', nombre='$_POST['nombre']', generacion='$_POST['generacion']', pass='$_POST['pass']', email='$_POST['email']', fecha='$_POST['fecha']', level='$_POST['level']' WHERE id='$_POST['id']'";
      echo 
"Registro Actualizado<p>";
   } else {
      
$sql "INSERT INTO users (nick, nombre, generacion, pass, email, fecha, level) VALUES ('$_POST['nick']', '$_POST['nombre']', '$_POST['generacion']', '$_POST['pass']', '$_POST['email']', '$_POST['fecha']', '$_POST['level']')";
      echo 
"Registro Añadido<p>";
   }
   
// Enviamos la sentencia SQL al servidor DB
   
$result mysql_query($sql);
} elseif (
$delete) {
   
// Borramos un registro
   
$sql "DELETE FROM users WHERE id='$_POST['id']'"
   
$result mysql_query($sql);
   echo 
"Registro Borrado<p>";
} else {
   
// Esta parte se ejecuta si no hemos presionado el boton enviar,
   // es decir no venimos de un formulario
   
if (!$id) {
      
// Mostramos todos los registros de nuestra BD

     
$result=mysql_query("SELECT * FROM users WHERE id='$_POST['id']'") or die (mysql_error());
  
$myrow=mysql_fetch_row($result);
      
      {
         echo 
"".$myrow["nick"]." - ".$myrow["nombre"]." - ".$myrow["generacion"]." - ".$myrow["pass"]." - ".$myrow["email"]." - ".$myrow["fecha"]." - ".$myrow["level"]."";
         echo 
"<a href=admin2.php?id=".$myrow["id"]."&delete=yes\>   Borrar - </a>"
         echo 
"<a href=admin2.php?id=".$myrow["id"]."> Modificar </a><br>";
      }
   }
}
?>

<P>
<a href="<?php echo $PHP_SELF?>">Añadir un registro</a>
<P>
<form method="post" action="<?php echo $PHP_SELF?>">
<?php

if ($id) {
     
// editamos el registro seleccionado
     
$sql "SELECT * FROM users WHERE id='$_POST['id']'";
     
$result mysql_query($sql);
     
$myrow mysql_fetch_array($result);
     
$_POST['id'] = $myrow["id"];
     
$_POST['nick'] = $myrow["nick"];
     
$_POST['nombre'] = $myrow["nombre"];
     
$_POST['generacion'] = $myrow["generacion"];
     
$_POST['pass'] = $myrow["pass"];
     
$_POST['email'] = $myrow["email"];
     
$_POST['fecha'] = $myrow["fecha"];
    
          
$level $myrow["level"];
     
// enviamos el id para poder editar el registro
     
echo "<input type=hidden name=\"id\" value=$_POST['id']>";
}
?> 

Nick:<input type="Text" name="nick" value="<?php echo $_POST['nick'?>"><br>
Nombre:<input type="Text" name="nombre" value="<?php echo $_POST['nombre'?>"><br>
Generacion:<input type="Text" name="generacion" value="<?php echo $_POST['gemeracion'?>"><br>
contraseña:<input type="Text" name="pass" value="<?php echo $_POST['pass'?>"><br>
Email:<input type="Text" name="email" value="<?php echo $_POST['email'?>"><br>
Fecha:<input type="Text" name="fecha" value="<?php echo $_POST['fecha'?>"><br>
Nivel:<input type="Text" name="level" value="<?php echo $_POST['level'?>"><br>
<input type="Submit" name="enviar" value="Enviar Información">
</form>

<?php
 
($enviar)
?>

</body>
</html>
  #11 (permalink)  
Antiguo 07/03/2009, 10:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

La sintaxis correcta para colocar un array dentro de un String debería ser:
Código php:
Ver original
  1. $foo = "Texto {$_POST['bar']}";
O directamente concatenar:
Código php:
Ver original
  1. $foo = 'Texto ' . $_POST['bar'];
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 07/03/2009, 10:32
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

creo q ya capte no estoy muy seguro, entonces quedaria algo asi como:

$nick = $_POST['nick'];
$nombre = $_POST['nombre'];

etc
  #13 (permalink)  
Antiguo 07/03/2009, 10:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Sí, eso también puedes hacer . Con eso no dependes de que register_globals esté On, y además, compruebas la procedencia de los datos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 07/03/2009, 11:14
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Mmm, me sigue sin mostrar los datos para editar ni los registros, mmm por que no me sale, en que areas determinadas es donde debo cambiar el codigo'??'
  #15 (permalink)  
Antiguo 07/03/2009, 11:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

En todas las mysql_query() coloca or die(mysql_error()), así podrás saber si hay error en las consultas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #16 (permalink)  
Antiguo 07/03/2009, 15:59
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

mmm, ya se lo puse, pero no me manda errores
  #17 (permalink)  
Antiguo 07/03/2009, 16:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Exactamente, lo que queremos ver es cuáles son esos errores. ¿Cuál es el error que te da?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 07/03/2009, 16:20
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

MMm no me da errores

Primero, no me lista los registros de la base

Segundo, no me deja editar los registros de la base datos,

Tercero, no me deja borra rlos registros de la base de datos
  #19 (permalink)  
Antiguo 07/03/2009, 16:21
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Y esta es la tabla de la base de datos:

Cita:
CREATE TABLE `users` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT,
`nick` VARCHAR(30) NOT NULL ,
`nombre` VARCHAR(30) NOT NULL ,
`pass` VARCHAR(30) NOT NULL ,
`email` VARCHAR(50) NOT NULL ,
`fecha` INT(15) NOT NULL ,
`level` INT(2) NOT NULL ,
`generacion` LONGTEXT NOT NULL ,
INDEX ( `id` )
);
  #20 (permalink)  
Antiguo 07/03/2009, 17:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

¿Muestra los mensajes "Registro Añadido", "Registro Borrado", "Registro Actualizado"? ¿Podrías poner el código como tienes ahora, después de las modificaciones?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #21 (permalink)  
Antiguo 07/03/2009, 17:22
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

estás seguro que te conectás, porque veo que no utilizas el tag completo de php en el archivo de configuración y puede ser que esté deshabilitado en php.ini.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #22 (permalink)  
Antiguo 07/03/2009, 19:26
 
Fecha de Ingreso: junio-2006
Mensajes: 83
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Comoo modificar y añadir nuevos registros a mysql con php?

Y acaso uds no tendran algun codigo asi para enlistar , editar o borrar datos de la base de datos con php???
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 22:27.