Hice la gestion completa de mis noticias esta es mi clase: categorias y noticias
<?php
class Categorias
{
var $num_registros;
function setCategoria($categoria, $id = 0)
{
global $MOD;
if (empty($id)) {
$consulta = $MOD['mysql']->consulta('INSERT INTO categorias (categoria) VALUES (\''.$categoria.'\')');
} else {
$consulta = $MOD['mysql']->consulta('UPDATE categorias SET categoria=\''.$categoria.'\' WHERE id='.$id);
}
return $consulta;
}
function getCategoria($id) {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id);
return $consulta;
}
function getCategorias() {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT * FROM categorias');
return $consulta;
}
function delCategoria($id)
{
global $MOD;
if($MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id)) {
$consulta = $MOD['mysql']->consulta('DELETE FROM categorias WHERE id='.$id);
return true;
} else {
return false;
}
}
function isCategoria($id) {
global $MOD;
if ($consulta = $MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id)) {
return true;
} else {
return false;
}
}
}
/* Clase Noticias.*/
class Noticias
{
var $num_registros;
function setNoticia($titulo, $texto_corto, $texto_completo, $estado, $id_administrador,$categoria, $id = 0)
{
global $MOD;
if (empty($id)) {
$consulta = $MOD['mysql']->consulta('INSERT INTO noticia (titulo, texto_corto, texto_completo, fecha_publicacion, estado, id_administrador,categoria) VALUES (\''.$titulo.'\', \''.$texto_corto.'\', \''.$texto_completo.'\', \''.date('Y-m-d h:i:s').'\', '.$estado.', '.$id_administrador.',\''.$categoria.'\')');
} else {
$consulta = $MOD['mysql']->consulta('UPDATE noticia SET titulo=\''.$titulo.'\', texto_corto=\''.$texto_corto.'\', texto_completo=\''.$texto_completo.'\', fecha_publicacion=\''.date('Y-m-d h:i:s').'\', estado='.$estado.', id_administrador='.$id_administrador.',categoria=\ ''.$categoria.'\' WHERE id='.$id);
}
return $consulta;
}
function getNoticia($id) {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT N.*, C.categoria FROM noticia N INNER JOIN categorias C ON(N.categoria=C.id) WHERE N.id='.$id);
return $consulta;
}
function getNoticias($id) {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT * FROM noticia');
return $consulta;
}
function delNoticia($id)
{
global $MOD;
if($MOD['mysql']->consulta('SELECT * FROM noticia WHERE id='.$id)) {
$consulta = $MOD['mysql']->consulta('DELETE FROM noticia WHERE id='.$id);
return true;
} else {
return false;
}
}
}
?>
Bien las llamo desde mi controlador.
/* Control Noticias*/
case 'insertar_noticia':
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
$id = intval($_GET['id']);
if ($MOD['categorias']->isCategoria($id)) {
$items_categoria = $MOD['categorias']->getCategorias();
include('modulos/noticias/vistas/insertar_noticia.html.php');
} else {
echo "No existe la categoria seleccionada" ;
}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'editar_noticia':
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
$id = intval($_GET['id']);
//if ($MOD['categorias']->isCategoria($id)) {
$items_categoria = $MOD['categorias']->getCategorias();
$items_noticia = $MOD['noticias']->getNoticia($id);
if ($items_noticia) {
$item_noticia = $items_noticia[0];
include('modulos/noticias/vistas/editar_noticia.html.php');
} else {
echo "No existe la noticia con el ID indicado";
}
//} else {
//echo "No existe la categoria seleccionada" ;
//}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'guardar_noticia':
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
$id = intval($_POST['hdn_id']);
$titulo = trim($_POST['edt_titulo']);
$texto_corto = trim($_POST['txt_textocorto']);
$texto_completo = trim($_POST['txt_textocompleto']);
$estado = intval($_POST['chbx_estado']);
$categoria = trim ($_POST['categoria']);
if (empty($id)) {
if ($MOD['noticias']->setNoticia($titulo, $texto_corto, $texto_completo, $estado, $_SESSION['usuario_id'],$categoria)){
echo "Registro exitoso!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado _noticia&id=$_GET[id]\">\n";
} else {
echo "El registro no fue exitoso";
}
} else {
if ($MOD['noticias']->setNoticia($titulo, $texto_corto, $texto_completo, $estado, $_SESSION['usuario_id'],$categoria, $id)){
echo "Actualización exitosa!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado _noticia&id=$_GET[id]\">\n";
} else {
echo "La actualización no fue exitosa";
}
}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'leer_noticia':
$id = intval($_GET['id']);
$items_noticias = $MOD['noticias']->getNoticia($id);
if ($items_noticias) {
$item_noticias = $items_noticias[0];
include('modulos/noticias/vistas/leer_noticia.html.php');
} else {
echo "No existe la noticia seleccionada" ;
}
break;
case 'eliminar_noticia':
$id = $_GET['id'];
if (!empty($id)) {
if ($MOD['noticias']->delNoticia($id)){
echo "El registro se elimino!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado _noticia&id=$_GET[id]\">\n";
} else {
echo "El registro no pudo ser eliminado. Puede que este ya no exista";
}
} else {
echo "Error 403: Acceso incorrecto";
}
break;
case 'listado_noticia':
default:
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
$id = intval($_GET['id']);
//if ($MOD['categorias']->isCategoria($id)) {
//$items_noticia = $MOD['noticias']->getNoticias($id);
if ($items_noticia) {
include('modulos/noticias/vistas/listar_noticia.html.php');
} else {
echo 'No existen noticias publicadas';
}
//} else {
//echo "No existe la categoria seleccionada" ;
//}
//} else {
//$items_noticia = $MOD['noticias']->getNoticias();
//if ($items_noticia) {
//include('modulos/noticias/vistas/listado_visitante.html.php');
//} else {
// echo 'No existen noticias publicadas';
//}
//}
}
?>
Ahora en insertar esta todo muy bien pero al monento de editar me sale todo titulo etc etc menos el select donde estan cargadas mis categorias solo eso
esta es mi html.php editar
<table border="0" cellspacing="0" cellpadding="0" width="500" align="center">
<tr>
<td class="pageName">Actualizar Noticia </td>
</tr>
<tr>
<td class="bodyText">
<form action="index.php?mod=noticias&pag=guardar_noticia &id=<?php echo $_GET['id']?>" method="post" name="frmNoticia">
<input name="hdn_id" type="hidden" value="<?php echo $item_noticia->id ?>" />
<table width="90%" border="1">
<tr>
<td>Titulo</td>
<td>
<input name="edt_titulo" type="text" size="30" maxlength="100" value="<?php echo $item_noticia->titulo ?>"/>
</td>
</tr>
<tr>
<td>Texto Corto:</td>
<td><textarea name="txt_textocorto" cols="30"><?php echo $item_noticia->texto_corto ?></textarea>
</td>
</tr>
<tr>
<td>Texto Completo:</td>
<td><textarea name="txt_textocompleto" cols="30"><?php echo $item_noticia->texto_completo ?></textarea>
</td>
</tr>
<tr>
<td>Estado de Publicacion:</td>
<td><input type="checkbox" name="chbx_estado" value="1" <?php if($item_noticia->estado == 1) echo 'checked="checked"'; ?> />
</td>
</tr>
<tr>
<td>Categoria:</td>
<td><select name="categoria"> <option value=""> Escoger Lista </option>
<?php
if ($items_categoria) {
foreach ($items_categoria as $item_categoria){
echo "<option value='$item_categoria->id'>$item_categoria->categoria - $item_categoria->id</option>";
}
}
?>
</select>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Guardar" /></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td class="bodyText"></td>
</tr>
</table>