Foros del Web » Programando para Internet » PHP »

Actualizar Registros

Estas en el tema de Actualizar Registros en el foro de PHP en Foros del Web. Bueno voy a explicar mas o menos o poner lo que estoy intentando hacer: 1.- En la tabla de la base de datos tengo : ...
  #1 (permalink)  
Antiguo 12/11/2006, 04:48
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años
Puntos: 0
Actualizar Registros

Bueno voy a explicar mas o menos o poner lo que estoy intentando hacer:

1.- En la tabla de la base de datos tengo :

Código:
CREATE TABLE IF NOT EXISTS `contenidos` (
  `id_contenido` int(10) unsigned NOT NULL auto_increment,
  `titulo` varchar(50) NOT NULL default '',
  `titulo_menu` text NOT NULL,
  `menu` varchar(10) NOT NULL default '',
  `contenido` longtext NOT NULL,
  `estado` text NOT NULL,
  PRIMARY KEY  (`id_contenido`)
2.- Inserto los datos desde un formulario (los inserta perfectamente):

contenidos.php

Código PHP:
  <FORM ACTION="secciones/cont_insertar.php">
    <
table width="455" height="119" cellpadding="2" cellspacing="2" class="estilotabla">
      <
tr>
        <
td colspan="4" class="estilocelda">INSERTAR CONTENIDO
            
<input type="hidden" name="id_contenido" id="id_contenido"></td>
      </
tr>
      <
tr>
        <
td colspan="4"> </td>
      </
tr><tr>
        <
td width="111">T&iacute;tulo</td>
        <
td width="113" >T&iacute;tulo Men&uacute; </td>
        <
td width="107">Men&uacute;</td>
        <
td width="96">Estado</td>
      </
tr> <tr>
        <
td>
          <
div align="left">
            <
input name="titulo" type="text" id="titulo" size="17" maxlength="50"/>
        </
div></td>
        <
td>
          <
div align="left">
            <
input name="titulo_menu" type="text" id="titulo_menu" size="17" />
        </
div></td>
        <
td class="volver">
          <
div align="left">
            <
select name="menu">
              <
option value="principal" selected>principal</option>
              <
option value="secundario">secundario</option>
              <
option value="top">top</option>
            </
select>
        </
div></td>
        <
td class="volver">
          <
div align="left">
            <
select name="estado">
              <
option value="activado" selected>activado</option>
              <
option value="desactivado">desactivado</option>
            </
select>
        </
div></td>
      </
tr>
      <
tr>
        <
td height="28" colspan="4"><div align="left">Contenido: <br>
                <
textarea name="contenido" cols="50" id="contenido"></textarea>
        </
div></td>
      </
tr>
      <
tr>
        <
td height="28" colspan="4"><div align="right">
            <
div id="volver">
              <
input type="submit" name="boton" value="insertar" style="height:20px" />
            </
div>
        </
div></td>
      </
tr>
    </
table>
  </
form
y para ver todos los registros de la tabla en la misma pagina pongo lo siguiente (que los veo perfectamente):

Código PHP:
<?php
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$result=mysql_query("select * from contenidos",$link); 
?>
 
 <?php       

   
while($row mysql_fetch_array($result)) { 
      
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><a href=\"contenido_ver.php?id=%d\">Ver</a></td></tr>"$row["id_contenido"],$row["titulo"],$row["titulo_menu"],$row["menu"],$row["estado"],$row["id_contenido"]); 
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 
?>
3.- Pues como veis en el anterior codigo pongo un enlace en un registro determinado
Código:
<a href=\"contenido_ver.php?id=%d\">Ver</a>
para poder ver todos los datos que tiene ese mismo registro.

El codigo de contenido_ver.php que es donde me lleva el enlace tiene la siguiente codificación que en el mismo quiero que si hay algun dato mal o alguna letra mal puesta se pueda modificar:

Lo que tambien estoy intentando hacer pero no se como ponerlo tampoco, es poner un menu desplegable con varias opciones como en el formulario de insertar en menu y estado, tanto para activar el contenido como no o cambiarlo de menu cuando haga las consultas en la pagina (este punto es el que faya ya).

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$result=mysql_query("select * from contenidos WHERE id_contenido='".$_GET['id_contenido']."'",$link); 
?>

<FORM METHOD="POST" ACTION="contenido_actualizar.php"> <table width="470" height="18"  cellpadding="2" cellspacing="2" class="estilotabla">
   <tr>
     <td colspan="4" class="estilocelda">MODIFICAR CONTENIDOS </td>
   </tr>
   <tr>
     <td width="79"> </td>
     <td width="375"><input type="hidden" name="id_contenido" id="id_contenido" value="<?=$row['id_contenido']?>"></td>
   </tr>
   <tr>
     <td><span class="textoperfil">Título:</span></td>
     <td class="volver"><input type="text" name="titulo" id="titulo" value="<?=$row['titulo']?>"></td>
   </tr>
   <tr>
     <td><span class="textoperfil">Título del Menú:</span></td>
     <td class="volver"><input type="text" name="titulo_menu" id="titulo_menu" value="<?=$row['titulo_menu']?>"></td>
   </tr>
   <tr>
     <td><span class="textoperfil">Menú:</span></td>
     <td class="volver"><input type="text" name="menu" value="<?=$row['menu']?>"></td>
   </tr>
   <tr>
     <td><span class="textoperfil">Estado:</span></td>
     <td class="volver"><input type="text" name="estado" id="estado" value="<?=$row['estado']?>"></td>
   </tr>
   <tr>
     <td><span class="textoperfil">Contenido:</span></td>
     <td class="volver"><textarea name="contenido" cols="50" id="contenido" value="<?=$row['contenido']?>"></textarea></td>
   </tr>
   <tr>
     <td>&nbsp;</td>
     <td><div id="volver">
         <input type="submit" name="boton" value="actualizar registro" style="height:17px" />
     </div></td>
   </tr>
 </table></FORM>
4.-Y ya por ultimo el codigo donde actualizo los datos es este... pero no me actualiza nada.

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse();  
   
$id_contenido=$_POST['id_contenido'];
   
$titulo=$_POST['titulo'];
   
$titulo_menu=$_POST['titulo_menu'];
   
$menu=$_POST['menu'];
   
$contenido=$_POST['contenido'];  
   
$estado=$_POST['estado']; 
   
$update "UPDATE contenidos SET titulo='".$titulo."',titulo_menu='".$titulo_menu."',menu='".$menu."',contenido='".$contenido."',estado='".$estado."'
$actualizar = mysql_query($update, $link);
mysql_close();

?>
  #2 (permalink)  
Antiguo 12/11/2006, 07:38
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Para empezar, en contenido_ver.php has dicho que pasabas la variable ID de esta forma:

Cita:
<a href=\"contenido_ver.php?id=%d\">Ver</a>
Y la recoges con:
Código PHP:
$_GET['id_contenido'
¿En qué quedamos? ¿id o id_contenido?

-------------

En cuanto al UPDATE podrías probar así:

Código PHP:
<?php 
//Conexion
   
include("conex.php"); 

//Valores
   
$link=Conectarse();  
   
$id_contenido=$_POST['id_contenido'];
   
$titulo=$_POST['titulo'];
   
$titulo_menu=$_POST['titulo_menu'];
   
$menu=$_POST['menu'];
   
$contenido=$_POST['contenido'];  
   
$estado=$_POST['estado']; 

//Consulta para actualizar
$update "UPDATE contenidos SET titulo='".$titulo."',titulo_menu='".$titulo_menu."', menu='".$menu."',contenido='".$contenido."',estado='".$estado."'";

//Hacemos la consulta
mysql_query($update$link);

//Cerramos la conexion a DB
mysql_close();

?>
  #3 (permalink)  
Antiguo 12/11/2006, 08:33
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años
Puntos: 0
Todavía sigo atrancado en ese punto tres..., y sin ese no puedo seguir al siguiente paso...

He cambiado lo que me as dicho

Código:
<a href=\"contenido_ver.php?id=%d\">Ver</a>
Por este otro :

Código:
<a href=\"contenido_ver.php?id_contenido=%d_contenido\">Ver</a>
Y no me recoge los datos en la siguiente pagina para poder actualizarlos....
  #4 (permalink)  
Antiguo 12/11/2006, 08:35
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
No sé por qué lo pones así

Cita:
<a href=\"contenido_ver.php?id_contenido=%d_contenido \">Ver</a>
Y no así:

Código:
<a href=\"contenido_ver.php?id_contenido=$id_contenido\">Ver</a>
  #5 (permalink)  
Antiguo 12/11/2006, 09:09
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años
Puntos: 0
Pues porque probando de varias formas la única forma en la que me coge el valor es de esta forma:

Código:
<a href=\"contenido_ver.php?id_contenido=%d\">Ver</a>
la consulta de datos la hago con este codigo:

Código PHP:
<?php       

   
while($row mysql_fetch_array($result)) { 
      
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><a href=\"contenido_ver.php?id_contenido=%d\">Ver</a></td></tr>"$row["id_contenido"],$row["titulo"],$row["titulo_menu"],$row["menu"],$row["estado"],$row["id_contenido"]); 
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 
?>
Pero no me muestra los registros en la siguiente pagina (contenido_ver.php), en el punto 3 que estoy haciendo mi duda....

Estoy todo el dia intentando de varias formas y no consigo ver el problema a que se debe......
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:09.