problema con actualización y envio de datos

nacho
09 de Noviembre del 2005
Hola a todos!!

Hace un tiempo que no toco el php a fondo, y recientemente he empezado a intentar recordar conceptos de base de datos a través de una pequeña administración que me estoy haciendo, y aunque he luchado un poquito para conseguir lo que quiero, hay una cosa que se me resiste, así que a ver si alguien puede echarme una mano.
Estoy intentando que cuando a través de la administración edito una noticia que ya existe, al seleccionar de la lista desplegable el titulo de la noticia y pulsar al botón 'enviar' se me refresque la página y me aparezca en los campos del formulario el contenido del registro correspondiente a esa noticia, hacer los cambios que necesitara en esos campos y cuando pulse de nuevo el botón 'enviar' me actualice el registro. Muchas gracias por vuestra atención y espero vuestras respuestas. Saludos a todos y besicos a todas.
Este es el código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Editar - Modificar noticia</title>

<?
include ("http://localhost/admin/php/db_mysql.inc");
$q=new DB_sql;

$q->Host ="localhost";
$q->Database="database";
$q->User="root";
$q->Password="";

$query = "select * from noticias";
$q->query($query);
?>

</head>
<body>
<center>
<h1>Noticias</h1>
<h3>- Editar / modificar noticia -</h3><br>
<br>

<?
if ($accion==1)
{
?>
<form method="get" name="formulario" action="actualizar.php">
<?
$accion==0; }
else
{
?>
<form method="get" name="formulario" action="<?php echo $PHP_SELF;?>">
<?
}
?>

<table cellspacing="2" cellpadding="2">
<tr>
<td width="130"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Título:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<select name="titulo_noticia">
<option selected>----------</option>
<?
while ($q->next_record()!=0)
{
echo "<option>".$q->f('titulo')."</option>";
}
?>
</select>
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
</select>
</font></td>
</tr><tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Subtítulo:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">

<input type="text" name="subtitulo_noticia" size="55" value="<? echo $q->f('subtitulo'); ?>">

</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Entradilla:</font></td>
<td colspan="5"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="entradilla_noticia" size="55" value="<? echo $q->f('entradilla'); ?>">
</font></td>
</tr>
<tr>
<td rowspan="2" valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Foto:</font></td>
<td width="237"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="file" name="imagen">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>
<tr>
<td><img src=" <? echo $q->f('foto_noticia'); ?>" border="0" alt="<? echo $q->f('titulo'); ?>"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Texto de la noticia:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<textarea name="texto_noticia" cols="55" rows="10" id="textarea" value="<? echo $q->f('texto_noticia'); ?>"></textarea>
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
</font></td>
</tr>
<tr>
<td colspan="6" align="center">
<br>
<?
if ($accion==1)
{ ?> <input type="submit" value="enviar" name="botonenviar"> <? }
else
{ ?> <input type="submit" value="visualizar datos" name="botonenviar"> <? $accion==1; }
?>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>

karl
09 de Noviembre del 2005
Hola,

Prueba este codigo. Saludos

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Editar - Modificar noticia</title>

<?
include ("http://localhost/admin/php/db_mysql.inc");
$q=new DB_sql;

$q->Host ="localhost";
$q->Database="database";
$q->User="root";
$q->Password="";

?>

</head>
<body>
<center>
<h1>Noticias</h1>
<h3>- Editar / modificar noticia -</h3><br>
<br>

<?

//Sino hemos seleccionado una noticia, carga nada mas los titulos
if (!$_REQUEST['titulo_noticia'] {

$query = "select titulo from noticias";
$q->query($query);

//Si ya se selecciono una noticia , carga los datos de la noticia
} else {

$titulo = $_REQUEST['titulo_noticia'];
$query = "select * from noticias where titulo like '$titulo'";
$q->query($query);

?>

<form method="post" name="formulario" action="actualizar.php">
<table cellspacing="2" cellpadding="2">
<tr>
<td width="130"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Título:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<select name="titulo_noticia">
<option selected>----------</option>
<?
while ($q->next_record()!=0)
{
echo "<option value=".$q->f('titulo').">".$q->f('titulo')."</option>";
}
?>
</select>
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
</select>
</font></td>
</tr>

<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Subtítulo:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="subtitulo_noticia" size="55" value="<? echo $q->f('subtitulo'); ?>">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
</font></td>
</tr>

<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Entradilla:</font></td>
<td colspan="5"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="entradilla_noticia" size="55" value="<? echo $q->f('entradilla'); ?>">
</font></td>
</tr>

<tr>
<td rowspan="2" valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Foto:</font></td>
<td width="237"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="file" name="imagen">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;</font></td>
</tr>

<tr>
<td><img src=" <? echo $q->f('foto_noticia'); ?>" border="0" alt="<? echo $q->f('titulo'); ?>"></td>
</tr>

<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Texto de la noticia:</font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<textarea name="texto_noticia" cols="55" rows="10" id="textarea" value="<? echo $q->f('texto_noticia'); ?>"></textarea>
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;
</font></td>
</tr>

<tr>
<td colspan="6" align="center"><br>
<input type="submit" value="enviar" name="Aceptar"></td>
</tr>

</table>
</form>
</center>
</body>
</html>