Hola, acá estamos de nuevo con el taller de PHP. En el dÃa de hoy vamos a ver cómo editar una noticia y cómo borrarla.
Si vienen siguiendo el taller más o menos al dÃa verán que no hay grandes diferencias con respecto a las modificaciones y bajas de las categorÃas. Pero bueno, no nos adelantemos y vamos a lo nuestro.
Trabajaremos hoy únicamente sobre el archivo admin/noticias.php.
-
<?
-
-
// iniciamos session
-
-
// archivos necesarios
-
require_once 'config.php';
-
require_once 'conexion.php';
-
require_once 'esUsuario.php';
-
-
// obtengo puntero de conexion con la db
-
$dbConn = conectar();
-
-
// verificamos que no este conectado el usuario
-
$arrUsuario = esUsuario( $_SESSION['usuario'], $_SESSION['password'], $dbConn );
-
}
-
-
// verificamos que sea un admin
-
die;
-
}
-
-
// borramos una noticia si obtenemos la variable GET del
-
-
$query = "DELETE FROM `noticias` WHERE idNoticia = {$_GET['del']}";
-
-
die;
-
-
}
-
-
// agregamos una noticia en la db
-
// si se envio el formulario
-
-
// definimos las variables
-
-
// completamos la variable error si es necesario
-
if ( empty($idCategoria) ) $error['idCategoria'] = 'Es obligatorio seleccionar una categoría para la noticia';
-
-
// si no hay errores registramos al usuario
-
-
// inserto los datos de registro en la db
-
$idUsuario = $arrUsuario['idUsuario'];
-
$query = "INSERT INTO `noticias` (titulo,copete,cuerpo,idCategoria,idUsuario,fCreacion,fModificacion,fPublicacion) VALUES ('$titulo','$copete','$cuerpo','$idCategoria','$idUsuario','$fCreacion','$fModificacion','$fPublicacion')";
-
die;
-
-
}
-
-
}
-
-
// si se envio el formulario de edicion
-
-
// definimos las variables
-
-
// completamos la variable error si es necesario
-
if ( empty($idNoticia) ) $error['idNoticia'] = 'Es obligatorio tener la id de la noticia que se desea modificar';
-
if ( empty($idCategoria) ) $error['idCategoria'] = 'Es obligatorio seleccionar una categoría para la noticia';
-
-
// si no hay errores editamos la noticia
-
-
-
// actualizamos la fecha de modificacion y de publicacion
-
$idUsuario = $arrUsuario['idUsuario'];
-
-
// inserto los datos de registro en la db
-
$query = "UPDATE `noticias` set titulo = '$titulo', copete = '$copete', cuerpo = '$cuerpo', idCategoria = $idCategoria, idUsuario = $idUsuario, fModificacion = '$fModificacion', fPublicacion = '$fPublicacion' WHERE idNoticia = $idNoticia";
-
-
die;
-
-
}
-
-
}
-
-
// traemos listado de categorias
-
$query = "SELECT idCategoria, valor FROM `categorias` ORDER BY valor ASC";
-
}
-
-
// traemos listado de noticias
-
$query = "SELECT idNoticia, titulo FROM `noticias` ORDER BY idNoticia DESC";
-
}
-
-
// si tenemos una categoria puntual
-
-
// traemos una categoria
-
$query = "SELECT idNoticia, titulo, copete, cuerpo, idCategoria, fPublicacion FROM `noticias` WHERE idNoticia = {$_GET['id']}";
-
}
-
-
?>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml">
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-
<title>Blog Personal</title>
-
</head>
-
-
<body>
-
-
<h1>Blog Personal</h1>
-
<p>Bienvenido <?= $arrUsuario['usuario'] ?> - <a href="index.php">Panel de control</a> - <a href="../index.php?salir=true">Salir</a></p>
-
<h2>Noticias</h2>
-
<div style="background-color: #fdfdfd;border:1px solid #ff8800;width:90%;padding:5px">La noticia se agregó con éxito.</div>
-
<div style="background-color: #fdfdfd;border:1px solid #ff8800;width:90%;padding:5px">La noticia ha sido borrada con éxito.</div>
-
<div style="background-color: #fdfdfd;border:1px solid #ff8800;width:90%;padding:5px">La noticia ha sido editada con éxito.</div>
-
<? } ?>
-
-
<div>
-
<h3>Listado de Noticias</h3>
-
<table style="width:90%;padding:5px;border:1px solid #cccccc">
-
<tr>
-
<th style="background-color:#cccccc;padding:5px;">id</th>
-
<th style="width:90%;background-color:#cccccc;padding:5px;">título</th>
-
<th style="background-color:#cccccc;padding:5px;width:10%"></th>
-
</tr>
-
<? foreach ($arrNoticias as $noticias) { ?>
-
<tr>
-
<td style="padding:5px;"><a href="noticias.php?id=<? echo $noticias['idNoticia']; ?>">Editar</a> - <a href="noticias.php?del=<?= $noticias['idNoticia'] ?>">Borrar</a>
-
</tr>
-
<? } ?>
-
</table>
-
</div>
-
-
<div>
-
<h3 id="add">Agregar nueva noticia</h3>
-
<ul>
-
<? foreach ($error as $mensaje) { ?>
-
<li><?= $mensaje ?></li>
-
<? } ?>
-
</ul>
-
<? } ?>
-
<form action="noticias.php" method="post">
-
-
<p>
-
<label for="titulo">Título de la noticia</label><br />
-
<input name="titulo" type="text" value="" />
-
</p>
-
<p>
-
<label for="idCategoria">CategorÃa</label><br />
-
<select name="idCategoria">
-
<option value="">Seleccione una categorÃa</option>
-
<option value="">------------------------</option>
-
<? foreach ( $arrCategorias as $categoria ) { ?>
-
<? } ?>
-
</select>
-
</p>
-
<p>
-
<label for="fPublicacion">Fecha de publicacion (aaaa-mm-dd hh:mm:ss) Ej: 2008-10-29 17:20:00 </label><br />
-
<input name="fPublicacion" type="text" value="" />
-
</p>
-
<p>
-
<label for="copete">Copete</label><br />
-
<textarea rows="5" cols="50" name="copete"></textarea>
-
</p>
-
<p>
-
<label for="cuerpo">Cuerpo</label><br />
-
<textarea rows="10" cols="50" name="cuerpo"></textarea>
-
</p>
-
<p>
-
<input name="submit" type="submit" value="Agregar" />
-
</p>
-
</form>
-
</div>
-
<? } ?>
-
-
<div style="background-color:#ff8800;padding:5px; margin-top:10px;">
-
<h3 id="add">Editar noticia</h3>
-
<ul>
-
<? foreach ($error as $mensaje) { ?>
-
<li><?= $mensaje ?></li>
-
<? } ?>
-
</ul>
-
<? } ?>
-
<form action="noticias.php" method="post">
-
<p>
-
<label for="titulo">Título de la noticia</label><br />
-
<input name="titulo" type="text" value="<? echo $row['titulo']; ?>" />
-
</p>
-
<p>
-
<label for="idCategoria">CategorÃa</label><br />
-
<select name="idCategoria">
-
<option value="">Seleccione una categorÃa</option>
-
<option value="">------------------------</option>
-
<? foreach ( $arrCategorias as $categoria ) { ?>
-
<? } ?>
-
</select>
-
</p>
-
<p>
-
<label for="fPublicacion">Fecha de publicacion (aaaa-mm-dd hh:mm:ss) Ej: 2008-10-29 17:20:00 </label><br />
-
<input name="fPublicacion" type="text" value="<? echo $row['fPublicacion']; ?>" />
-
</p>
-
<p>
-
<label for="copete">Copete</label><br />
-
</p>
-
<p>
-
<label for="cuerpo">Cuerpo</label><br />
-
</p>
-
<p>
-
<input name="idNoticia" type="hidden" value="<? echo $row['idNoticia']; ?>" />
-
<input name="submitEdit" type="submit" value="Editar" />
-
</p>
-
-
-
</form>
-
</div>
-
<? } ?>
-
-
</body>
-
</html>
FÃjense que al archivo que tenÃamos la semana pasada le agregamos algunas condiciones extras, como ser si se tiene una id de borrado, borramos la linea de la base de datos. Y lo mismo si se tiene la variable post de edición, verificamos que estén todos los datos obligatorios y editamos.
En la parte del html lo mismo, la única gran diferencia con respecto a la edición de categorías es que ahora tenemos un "selectbox" que hay que seleccionar. En realidad no tiene gran ciencia, al foreach que usamos para rellenar el selectbox le agregamos una nueva condición, preguntando si la id de la categoría que le corresponde coincide con la id de categoría que posee la noticia, en caso verdadero, vamos a imprimir un select="select" para que al editar la noticia no perdamos ese dato.
Bueno, bastante sencilla la clase de hoy, pero sirve para ir afianzando los conocimientos. Hasta la semana que viene.
| << CLASE ANTERIOR | CLASE SIGUIENTE >> |








Martes, 11 de Noviembre de 2008 a las 15.25
Hola... Nos podrÃan incluir una práctica en para hacer un sitio web con dreamweaver/html?
Como si estuviera en clase y el maestro nos dice: hoy haremos la siguiente práctica...
Si Plis...! Es que no me quedó muy claro...
Jueves, 13 de Noviembre de 2008 a las 13.59
¡Hola! El Taller de Dreamweaver/HTML te enseña todo de cero, está publicado aquà en elWebmaster.com.
Te dejo el enlace: http://www.elwebmaster.com/talleres/taller-de-adobe-dreamweaver-temario
¡Espero que lo encuentres muy útil!
¡Saludos!
Viernes, 14 de Noviembre de 2008 a las 13.45
un favor estoy tratando de llamar un archivo php en un cuerpo de una pagina para un software que estoy desarrollando pero no me aparece ningun dato en la opcion te paso el codigo a ver si me puedes hechar la mano de anate mano gracias y tu taller esta muy bueno lo he seguido desde la mitad porque me encontre con la pagina de pura casualidad
Execute("SELECT * FROM escritos WHERE id='{$_GET['id']}'");
$p1 = _db_()->Execute("SELECT * FROM escritos ORDER BY fecha ASC");
if(!$p1->fields['id']){}else{
$echo ='FORMATOS EXISTENTESDa clic en el Titulo para modificar los datos.
fecha
cliente
';
$echo.='';
}
return $data.$echo;
}
echo '
window.onload = function()
{
var oFCKeditor = new FCKeditor( \'txt\' ) ;
oFCKeditor.BasePath = \'fckeditor/\' ;
oFCKeditor.Width=\'700\' ;
oFCKeditor.Height=\'350\' ;
}
';
?>
Viernes, 28 de Noviembre de 2008 a las 03.51
hola esta buena la explicacion pero no corre no tendrian toda pagina unida
me la pasan por fa ......
Sábado, 31 de Enero de 2009 a las 22.05
justi podrias decirme o sea explicarme si todos esos codigos php que estas o estabas enseñando ¿lo vas copiando y pegando en dreamweaver una vez llamada la opcion (llamar javascript) o lo escribis a mano en la parte javascript de dreamweaver? porque yo llamaba javascript y ahi despues que copiaba le pegaba ¡claro que quedaba como un comportamiento de java!, despues que hacia todo eso copiando y pegando cada uno de los codigos php, hacia click en el mundito o sea para ver el como quedaba despues y lo que veia constantemente eran errores y orrores que se me formaban despues de haber copiado y pegado cada codigo! entonces pregunto ¿todos esos codigos se pueden utilizar en dreamweaver o que programa utilizan para poder armar cada "accion" o sea cada actuar que serian los mismos codigos. Si te digo que quede viejo y con un dolor de cabeza ya que no me salio nada de nada hasta ahora. Me gustaria si sos amable en ir explicandome pero de manera mas compleja en sentido a (explicandome en donde debo dirigirme despues de escribir cada codigo) ¡Puede ser justi! espero tus respuestas ya que para mi son re importantes
Lunes, 2 de Febrero de 2009 a las 11.25
@cristian por favor, lee el taller desde el comienzo, saludos.
Lunes, 6 de Abril de 2009 a las 00.37
disculpame me podrias pasar la tabla de la base de datos por que no me manejo mucho con ese tema
Viernes, 18 de Diciembre de 2009 a las 20.22
Alguien sabe porque no se me muestran las noticias en la pagina principal?
Intente cambiar lo del timestamp de la tabla pero me da erro
Sábado, 18 de Diciembre de 2010 a las 01.38
si esta muy bien, pero m gustaria saber como insertar unos botones q permitan insertar codigo html, para redacta mejor una noticia osea usando imagenes linkss.. etc... alguna idea..
Viernes, 8 de Abril de 2011 a las 14.50
ola que tal solo quisiera saber como le aria para que cambiara la password o editar mis datos de usuario en el mismo panel.
Martes, 25 de Octubre de 2011 a las 13.45
Excelente taller Justi! soy diseñador y con este taller estoy aprendiendo mucho. Todo bien hasta ahora!