Foros del Web » Programando para Internet » PHP »

Problema con Mantenimiento de Registros en PHP

Estas en el tema de Problema con Mantenimiento de Registros en PHP en el foro de PHP en Foros del Web. tengo unos cuantos problemas con php, tengo algunos scripts para un manteniemiento de registros, como tambien insercione sy visualizaciones, y bueno no puedo registrar ni ...
  #1 (permalink)  
Antiguo 11/02/2009, 17:46
Avatar de DjMiki  
Fecha de Ingreso: octubre-2007
Ubicación: Paijan - Trujillo - La Libertad
Mensajes: 90
Antigüedad: 16 años, 6 meses
Puntos: 2
Pregunta Problema con Mantenimiento de Registros en PHP

tengo unos cuantos problemas con php, tengo algunos scripts para un manteniemiento de registros, como tambien insercione sy visualizaciones, y bueno no puedo registrar ni tampoco modirficar o actualizar. no se q este fallando en mi codigo:

conexion.php
Código PHP:
<?
$dbhost
="mysql1.000webhost.com";  // host del MySQL (generalmente localhost)
$dblogin="admin"// aqui debes ingresar el nombre de usuario
                      // para acceder a la base
$dbpassword="11111111"// password de acceso para el usuario de la
                      // linea anterior
$db="webpost";        // Seleccionamos la base con la cual trabajar
$conexion mysql_connect($dbhost$dblogin$dbpassword);
mysql_select_db($db$conexion);
?>

cerrar_conex.php
Código PHP:

<? 
mysql_close
($conexion); 
?>
Guardar.php
Código PHP:
<?
include ("conexion.php");
if (!isset(
$_GET[accion]) OR $_GET[accion] == ""){
//!isset($accion)){
        
echo"
        <html>
        <head><title>Guardar datos en la base</title></head>
        <body>
<h3>Guardar datos en la base</h3>
<form name=\"form1\" method=\"post\"
    action=\"guardar.php?accion=guardar\">
  <p>Nombre:<br>
    <input type=\"text\" name=\"titulo\">
  </p>
  <p>Apellido:<br>
    <input type=\"text\" name=\"contenido\">
  </p>
  <p>DNI:<br>
    <input type=\"text\" name=\"fecha\" readonly=\"1\" value='"
date("d") . "/" date("m") . "/" date("Y") ."'>
  </p>
  <p>
    <input type=\"submit\" name=\"Submit\" value=\"Guardar Datos\">
  </p>
</form>
</body>
</html>"
;
}
elseif(
$accion=="guardar"){
  include (
"conexion.php");
  
$result mysql_query("INSERT INTO gb (idpost, titulo, fechareg, contenido) VALUES ('',$titulo,$contenido,$fecha)",$conexion) or die(mysql_error() );
  echo
" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>"
;
}
include (
"cerrar_conex.php");
?>

ver.php
Código PHP:
<?
include "conexion.php";
$result=mysql_query("SELECT * FROM gb ORDER BY fechareg",  $conexion);
echo
"<table width=300 border='1'>
<tr>
<td><b>Nombre</b></td><td><b>Apellido</b></td><td><b>DNI</b></td>
</tr>"
;
while(
$row=mysql_fetch_row($result)){
  echo
"<tr>
    <td>$row[1]</td><td>$row[2]</td><td>$row[3]
      <a href=\"actualizar.php?id=$row[0]\">Actualizar</a></td>
    </tr>"
;
}
echo
"</table>";
include (
"cerrar_conex.php");
?>

actualizar.php
Código PHP:
<?
include ("conexion.php");
/* if (!isset($_GET[id]) OR $_GET[id] == ""){
echo "Se necesita un id";
}
else{ */
if (!isset($_GET[accion]) OR $_GET[accion] == ""){

//!isset($accion)){
  
$result=mysql_query("SELECT * FROM gb WHERE idpost=".$_GET['id'], $conexion);
  
$row=mysql_fetch_row($result);
  echo
"<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
  <form action=\"actualizar.php?accion=guardar\" method=\"POST\">
  Nombre:<br> 
   <input type=\"hidden\" name=\"id\" value='"
.$row[0]."'>
  <input type=\"text\" value='"
.$row[1]."' name=\"titulo\"><br>
  Apellido:<br>
  <input type=\"text\" value='"
.$row[2]."' name=\"fecha\"><br>
  DNI:<br>
  <input type=\"text\" value='"
.$row[3]."' name=\"fecha\"><br>

  <input type=\"submit\" value=\"Guardar\">
  </form>
  </body>
  </html>"
;
}elseif(
$accion==guardar){
include (
"conexion.php");
  
$result=mysql_query("UPDATE gb SET titulo=$titulo, contenido=$contenido, fechareg=$fecha WHERE idpost=".$_POST['id'],$conexion);
  echo
"
  <html>
  <body>
  <h3>Los registros han sido actualizados</h3>
  </body>
  </html>"
;
}
include (
"cerrar_conex.php");
?>
les dejo todos los script por no se creo q pueda haber en alguno de ellos, y recurro a etse ultima opcion de poner esto por q veo muchas formas de hacer o realizar estos procedimientos pero algunos no funcionan bien la cosa es q la logica sirve pero muchas evces la codificacion no ayuda mucoh y menos si solo se e sun aficionado como yo, espero me puedan ayudar con los arreglos de estos scripst, por ejm en guardar no funciona ni si quiera me muetsra resultados ni el acutalizar tampoco me muestran los registros en los formulario pero no los puede modificar osea no hay cambios en la bd
gracias de ante mano
  #2 (permalink)  
Antiguo 11/02/2009, 17:53
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Respuesta: Problema con Mantenimiento de Registros en PHP

Algunos errores:

Código sql:
Ver original
  1. $result = mysql_query("INSERT INTO gb (idpost, titulo, fechareg, contenido) VALUES ('',$titulo,$contenido,$fecha)",$conexion)
No debería ir así:

Código sql:
Ver original
  1. $result = mysql_query("INSERT INTO gb (idpost, titulo, fechareg, contenido) VALUES ('','$titulo','$contenido','$fecha')",$conexion)
Otro:

Código PHP:
echo"<tr> 
    <td>$row[1]</td><td>$row[2]</td><td>$row[3] 
      <a href=\"actualizar.php?id=$row[0]\">Actualizar</a></td> 
    </tr>"

Así:

Código PHP:
echo"<tr> 
    <td>{$row[1]}</td><td>{$row[2]}</td><td>{$row[3]} 
      <a href=\"actualizar.php?id={$row[0]}\">Actualizar</a></td> 
    </tr>"

Suerte.
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #3 (permalink)  
Antiguo 11/02/2009, 17:56
Avatar de dART  
Fecha de Ingreso: enero-2009
Ubicación: Madrid
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Problema con Mantenimiento de Registros en PHP

Hola,

De pasada rápida he visto que tienes un campo llamado idpost. ¿Es autoincrementable? Te lo comento porque le intentas añadir un valor vacio:

Código PHP:
..elseif($accion=="guardar"){
   include (
"conexion.php");
   
$result mysql_query("INSERT INTO gb (idpost, titulo, fechareg, contenido) VALUES ('?',$titulo,$contenido,$fecha)",$conexion) or die(mysql_error() ); 
$result = mysql_query("INSERT INTO gb (idpost, titulo, fechareg, contenido) VALUES ('?',$titulo,$contenido,$fecha)",$conexion) or die(mysql_error() );


Y por otro lado, el orden en que se lo pasa tampoco está bien. Resumamos:

A idpost no le pasas nada.
Luego quieres introducirle al campo fechareg, la variable $contenido.
Y por último, a contenido quieres pasarle la variable $fecha.

Revisa eso, que lo mismo es la razón,
Saludos!
  #4 (permalink)  
Antiguo 12/02/2009, 17:25
Avatar de DjMiki  
Fecha de Ingreso: octubre-2007
Ubicación: Paijan - Trujillo - La Libertad
Mensajes: 90
Antigüedad: 16 años, 6 meses
Puntos: 2
Exclamación Que Error!

Pues si d-ART gracias por tu aporte, muchisimas gracias
La verdad soy un despistado, pucha tienes mucha razon, y creo q ese es el motivo, de mi error de q no guarda pero estuve por alli buscano y pues encontre algo q me soluciono el guardar, bien me dijeron algunos compañeros q o me meta mucho en el codigo por q se puede uno saturar y por el mas minimo error uno no se da cuent .

Pero la cosa es q aun on puedo resolver el actualizar, y no se pueda pasar y es con el "mysql_fetch_row".

Bueno coloco el codigo para que le des una chekeada ya q veo y me doi cuenta de q tu eres mas capo q yo en esto de php.

Código PHP:
<?
 
include ("conexion.php");

if (!isset(
$accion)){
if (
$id=""){
echo 
"No se hallo ID";
}
else{
  
$result=mysql_query("SELECT * FROM gb WHERE idpost=".$_GET['id'], $connect);
  
$row=mysql_fetch_row($result); ?>
<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
  <form action="actualizar.php?accion=guardar" method="POST" enctype="multipart/form-data">
  Titulo:<br> 
   <input type="hidden" name="id" value='<?=$row[0?>'>
  <input type="text" value='<?=$row[1?>' name="titulo"><br>
  Fecha:<br>
  <input type="text" value='<?=$row[2]?>' name="fecha"><br>
  Contenido:<br>
  <input type="text" value='<?=$row[3]?>' name="contenido"><br>

  <input type="submit" value="Actualizar">
  </form>
  </body>
  </html>
 
<? }}elseif($accion=="guardar"){
 include (
"conexion.php");
  
$result=mysql_query("UPDATE gb SET titulo=$titulo,  fechareg=$fecha, contenido=$contenido WHERE idpost = $id",$connect) or die (mysql_error());
  echo
"
  <html>
  <body>
  <h3>Los registros han sido actualizados</h3>
  </body>
  </html>"
;
}
include (
"cerrar_conex.php"); 
?>

ahora el problema es que cuando doi en actualizar me sale este error:
"Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/a1349123/public_html/prueba/actualizar.php on line 10"

Y no doi con ese error, bueno supongo que es por q no recibe ningun ID para poder buscar y mostrar resultados pero no puedo solucionarlo eh intente hacer una validadcion para ver cuando aya un id pero es igual no se por q no me deja.

Otra cosa tambien q logre hacer funcionar el guardar pero lo hice en un archivo llamado funciones.php y alli jalo todas por eso intente hacer algo con eso pero no se como aplicarlo a el ejm q encontre q saturo un poco :D espero me puedas ayudar y pues la cosa es como hacer q me muestre el resultado de una consulta hecha en un funcion dentro del archivo funciones.php y q las muestre osea los registros en el formulario para su edicion.

Bueno espero me ayudes y me ayas entendio.
Si puedes me agregas a mi correo para darte mas detalle sy asi lelguar auna solucion
[email protected]
Gracias

Última edición por DjMiki; 12/02/2009 a las 17:32
  #5 (permalink)  
Antiguo 13/02/2009, 03:34
Avatar de dART  
Fecha de Ingreso: enero-2009
Ubicación: Madrid
Mensajes: 246
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Problema con Mantenimiento de Registros en PHP

Hola,

Prueba a ponerlo así:

Código PHP:
$result mysql_query("SELECT * FROM gb WHERE idpost='".$_GET['id']."'"$connect) or die("Error : " .mysql_error());
$row mysql_fetch_row($result); 
Tienes un montón de errores tontos, como signos , . ".. etc. Eso en la programación hay que cuidarlo porque puedes volverte loco buscando dónde está el error.
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:33.