Hola! yo estoy utilizando el mismo código, que lo encontre en un taller de php, pero hasta ahora da muchos errores y el creador no responde los mensajes xD
En fin, yo estoy empleando el código original y sale así:
Código PHP:
<?
// datos de configuracion
$ip = "localhost";
$usuario = "user";
$password = "pass";
$db_name = "nombre_DB";
// conectamos con la db
$conn = mysql_pconnect($ip,$usuario,$password) or die(mysql_error());
// seleccionamos la base de datos
$huboerror = mysql_select_db($db_name,$conn) or die(mysql_error());
// si se envia el formulario de edicion
if ( !empty($_POST['submit']) ) {
$query = "UPDATE noticias set titulo = '{$_POST['titulo']}', set cuerpo = '{$_POST['cuerpo']}', set estado = '{$_POST['estado']}' WHERE idNoticia = {$_POST['idNoticia']} LIMIT 1";
$response = mysql_query($query, $conn);
}
// si tenemos id de noticia
if ( !empty($_GET['idNoticia']) ) {
// traemos la noticia
$query = "SELECT idNoticia,titulo,cuerpo,estado FROM noticias WHERE idNoticia = {$_GET['idNoticia']} limit 1";
$noticia = mysql_fetch_assoc($response);
}
?>
<html>
<head>
<title>Formulario de Edición de Noticias</title>
</head>
<body>
<h1>Agregar Nueva Noticia</h1>
<form action="editar-noticias.php" method="post">
<label for="titulo">Titulo</label><br />
<input id="titulo" name="titulo" value="<? echo $noticia['titulo']; ?> " type="text" /><br /><br />
<label for="cuerpo">Cuerpo</label><br />
<textarea id="cuerpo" name="cuerpo" rows="5" cols="50"><? echo $noticia['cuerpo']; ?></textarea><br /><br />
<label for="estado">Estado</label>
<select id="estado" name="estado">
<option value="publicado" <? if ( $noticia['estado'] == 'publicado' ) echo 'selected="selected"'; ?>>Publicado</option>
<option value="borrado" <? if ( $noticia['estado'] == 'borrado' ) echo 'selected="selected"'; ?>>Borrado</option>
</select><br /><br />
<button type="submit" name="submit" value="1">Editar Noticia</button>
<input name="idNoticia" value="<? echo $noticia['idNoticia']; ?>" type="hidden" />
</form>
</body>
Lo que hice fue quitar las comillas de los siguientes datos:
"SELECT idNoticia,titulo,cuerpo,estado FROM noticias WHERE idNoticia"
"UPDATE noticias set titulo"
Según tengo entendido va sin las comillas. Al probarlo me dice lo siguiente:
"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\cursophp\editar-noticias.php on line 24"
No entendi el error, en teoría si escribo:
www.misitio.com/editar-noticias.php?idNoticias=2 me tiene que tomar la noticia... para que la pueda editar, pero nada :s
muestra el error y abajo el formulario en blanco, alguna idea?
**Aquí les dejo la web del autor:
w w w.elwebmaster.com/editorial/taller-de-php-actualizar-y-borrar-registros-2
(no quiero hacer spam, pero es por si se puede aclarar mi duda).
Gracias.