Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema con clase de noticias

Estas en el tema de Problema con clase de noticias en el foro de Frameworks y PHP orientado a objetos en Foros del Web. 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) ...
  #1 (permalink)  
Antiguo 06/03/2009, 16:09
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Problema con clase de noticias

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>
  #2 (permalink)  
Antiguo 06/03/2009, 16:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: No entiendo pq

Por favor usa titulos más descriptivos para tus temas.

Titulo de tema editado.

Por favor usa el [highlight=php][/highlight] para poner tus códigos.
  #3 (permalink)  
Antiguo 06/03/2009, 16:37
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema con clase de noticias

Bueno disculpa
Código php:
Ver original
  1. <?php
  2.     class Categorias
  3.     {
  4.         var $num_registros;
  5.        
  6.         function setCategoria($categoria, $id = 0)
  7.             {
  8.                 global $MOD;
  9.            
  10.                 if (empty($id)) {
  11.                     $consulta = $MOD['mysql']->consulta('INSERT INTO categorias (categoria) VALUES (\''.$categoria.'\')');
  12.                
  13.                 } else {
  14.                     $consulta = $MOD['mysql']->consulta('UPDATE categorias SET categoria=\''.$categoria.'\' WHERE id='.$id);
  15.                     }
  16.                 return $consulta;
  17.                 }
  18.                
  19.         function getCategoria($id) {
  20.             global $MOD;
  21.        
  22.             $consulta = $MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id);
  23.        
  24.             return $consulta;
  25.         }
  26.        
  27.         function getCategorias() {
  28.             global $MOD;
  29.            
  30.             $consulta = $MOD['mysql']->consulta('SELECT * FROM categorias');
  31.        
  32.             return $consulta;
  33.         }
  34.        
  35.         function delCategoria($id)
  36.         {
  37.             global $MOD;
  38.            
  39.             if($MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id)) {    
  40.                 $consulta = $MOD['mysql']->consulta('DELETE FROM categorias WHERE id='.$id);
  41.                 return true;
  42.         } else {
  43.                 return false;
  44.             }
  45.         }
  46.        
  47.         function isCategoria($id) {
  48.             global $MOD;
  49.        
  50.             if ($consulta = $MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id)) {
  51.                 return true;
  52.             } else {
  53.                 return false;
  54.             }
  55.  
  56.         }
  57.        
  58.        
  59.     }
  60.     /* Clase Noticias.*/
  61.    
  62.     class Noticias
  63.     {
  64.         var $num_registros;
  65.        
  66.         function setNoticia($titulo, $texto_corto, $texto_completo, $estado, $id_administrador,$categoria, $id = 0)
  67.             {
  68.                 global $MOD;
  69.            
  70.                 if (empty($id)) {
  71.                     $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.'\')');
  72.             } else {
  73.                 $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);
  74.             }
  75.                 return $consulta;
  76.                 }
  77.                
  78.         function getNoticia($id) {
  79.             global $MOD;
  80.        
  81.             $consulta = $MOD['mysql']->consulta('SELECT N.*, C.categoria FROM noticia N INNER JOIN categorias C ON(N.categoria=C.id) WHERE N.id='.$id);
  82.        
  83.             return $consulta;
  84.         }
  85.        
  86.         function getNoticias($id) {
  87.             global $MOD;
  88.            
  89.             $consulta = $MOD['mysql']->consulta('SELECT * FROM noticia');
  90.        
  91.             return $consulta;
  92.         }
  93.        
  94.         function delNoticia($id)
  95.         {
  96.             global $MOD;
  97.            
  98.             if($MOD['mysql']->consulta('SELECT * FROM noticia WHERE id='.$id)) {       
  99.                 $consulta = $MOD['mysql']->consulta('DELETE FROM noticia WHERE id='.$id);
  100.                 return true;
  101.         } else {
  102.                 return false;
  103.             }
  104.         }
  105.        
  106.     }
  107.    
  108.    
  109.    
  110.    
  111. ?>
  112. // Mi controlador
  113. <?php
  114.     $pagina = $_GET['pag'];
  115.    
  116.     include('modulos/noticias/noticias.mod.php');
  117.     $MOD['categorias'] = new Categorias();
  118.     $MOD['noticias'] = new Noticias();
  119.    
  120.     switch($pagina) {
  121.         case 'insertar_categoria':
  122.             include('modulos/noticias/vistas/insertar_categoria.html.php');
  123.         break;
  124.         case 'editar_categoria':
  125.             //if(!empty($_SESSION['usuario_id'])){
  126.                
  127.                 $id = intval($_GET['id']);
  128.                
  129.                 $items_categoria = $MOD['categorias']->getCategoria($id);
  130.                
  131.                 if ($items_categoria){
  132.                     $item_categoria = $items_categoria[0];
  133.                     include('modulos/noticias/vistas/editar_categoria.html.php');
  134.                 } else {
  135.                     echo "No existe la categoria con el ID indicado";
  136.                 }
  137.             //} else {
  138.                 //echo "Usted no tiene permisos";
  139.             //}
  140.            
  141.         break;
  142.         case 'guardar_categorias':
  143.             $id = intval($_POST['hdn_id']);
  144.             $categoria = trim($_POST['categoria']);
  145.            
  146.            
  147.             if (empty($id)) {
  148.                     if ($MOD['categorias']->setCategoria($categoria)){
  149.                         echo "<center>Registro exitoso!. Espere unos instantes</center>";
  150.                         echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=noticias&pag=listado_categorias\">\n";
  151.                     } else {
  152.                         echo "El registro no fue exitoso";
  153.                     }
  154.                 } else {
  155.                     if ($MOD['categorias']->setCategoria($categoria, $id)){
  156.                         echo "<center>Actualización exitosa!. Espere unos instantes</center>";
  157.                         echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=noticias&pag=listado_categorias\">\n";
  158.                     } else {
  159.                         echo "La actualización no fue exitosa";
  160.                     }
  161.                 }
  162.            
  163.         break;
  164.         case 'eliminar_categoria':
  165.             $id = $_GET['id'];
  166.            
  167.             if (!empty($id)) {
  168.                 if ($MOD['categorias']->delCategoria($id)){
  169.                     echo "El registro se elimino!. Espere unos instantes";
  170.                     echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_categorias\">\n";
  171.                 } else {
  172.                     echo "El registro no pudo ser eliminado. Puede que este ya no exista";
  173.                 }
  174.             } else {
  175.                 echo "Error 403: Acceso incorrecto";
  176.             }
  177.         break;
  178.         case 'listado_categorias':
  179.         //default:
  180.             $items_categoria = $MOD['categorias']->getCategorias();
  181.             //if(!empty($_SESSION['usuario_id'])){
  182.                 include('modulos/noticias/vistas/listar_categoria.html.php');
  183.             //} else {
  184.                 //include('modulos/cursos/vistas/listado_visitante.html.php');
  185.             //}
  186.         break;
  187.       /*  Control Noticias*/
  188.         case 'insertar_noticia':
  189.             //if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
  190.                 $id = intval($_GET['id']);
  191.                 if ($MOD['categorias']->isCategoria($id)) {
  192.                 $items_categoria = $MOD['categorias']->getCategorias();
  193.                 include('modulos/noticias/vistas/insertar_noticia.html.php');
  194.                 } else {
  195.                 echo "No existe la categoria seleccionada" ;
  196.                 }
  197.             //} else {
  198.                 //echo "Usted no tiene permisos";
  199.             //}
  200.         break;
  201.         case 'editar_noticia':
  202.             //if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
  203.                
  204.                 $id = intval($_GET['id']);
  205.             //if ($MOD['categorias']->isCategoria($id)) {
  206.             $items_categoria = $MOD['categorias']->getCategorias();
  207.             $items_noticia = $MOD['noticias']->getNoticia($id);
  208.                
  209.                 if ($items_noticia) {
  210.                     $item_noticia = $items_noticia[0];
  211.                     include('modulos/noticias/vistas/editar_noticia.html.php');
  212.                 } else {
  213.                     echo "No existe la noticia con el ID indicado";
  214.                 }
  215.             //} else {
  216.                 //echo "No existe la categoria seleccionada" ;
  217.             //}
  218.             //} else {
  219.                 //echo "Usted no tiene permisos";
  220.             //}
  221.            
  222.         break;
  223.         case 'guardar_noticia':
  224.             //if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
  225.                 $id = intval($_POST['hdn_id']);
  226.                 $titulo = trim($_POST['edt_titulo']);
  227.                 $texto_corto = trim($_POST['txt_textocorto']);
  228.                 $texto_completo = trim($_POST['txt_textocompleto']);
  229.                 $estado = intval($_POST['chbx_estado']);
  230.                 $categoria = var_dump($_POST['categoria']);
  231.                
  232.                
  233.                     if (empty($id)) {
  234.                         if ($MOD['noticias']->setNoticia($titulo, $texto_corto, $texto_completo, $estado, $_SESSION['usuario_id'],$categoria)){
  235.                             echo "Registro exitoso!. Espere unos instantes";
  236.                             echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_noticia&id=$_GET[id]\">\n";
  237.                         } else {
  238.                             echo "El registro no fue exitoso";
  239.                         }
  240.                     } else {
  241.                         if ($MOD['noticias']->setNoticia($titulo, $texto_corto, $texto_completo, $estado, $_SESSION['usuario_id'],$categoria, $id)){
  242.                             echo "Actualización exitosa!. Espere unos instantes";
  243.                             echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_noticia&id=$_GET[id]\">\n";
  244.                         } else {
  245.                             echo "La actualización no fue exitosa";
  246.                         }
  247.                     }
  248.    
  249.             //} else {
  250.                 //echo "Usted no tiene permisos";
  251.             //}
  252.         break;
  253.         case 'leer_noticia':
  254.             $id = intval($_GET['id']);
  255.             $items_noticias = $MOD['noticias']->getNoticia($id);
  256.             if ($items_noticias) {
  257.                 $item_noticias = $items_noticias[0];
  258.                 include('modulos/noticias/vistas/leer_noticia.html.php');
  259.             } else {
  260.                 echo "No existe la noticia seleccionada" ;
  261.             }
  262.         break;
  263.         case 'eliminar_noticia':
  264.             $id = $_GET['id'];
  265.            
  266.             if (!empty($id)) {
  267.                 if ($MOD['noticias']->delNoticia($id)){
  268.                     echo "El registro se elimino!. Espere unos instantes";
  269.                     echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_noticia&id=$_GET[id]\">\n";
  270.                 } else {
  271.                     echo "El registro no pudo ser eliminado. Puede que este ya no exista";
  272.                 }
  273.             } else {
  274.                 echo "Error 403: Acceso incorrecto";
  275.             }
  276.         break;
  277.         case 'listado_noticia':
  278.         default:
  279.             //if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
  280.            $id = intval($_GET['id']);
  281.             //if ($MOD['categorias']->isCategoria($id)) {
  282.                 $items_noticia = $MOD['noticias']->getNoticias($id);
  283.                 if ($items_noticia) {
  284.                     include('modulos/noticias/vistas/listar_noticia.html.php');
  285.                 } else {
  286.                     echo 'No existen noticias publicadas';
  287.                 }
  288.             //} else {
  289.                 //echo "No existe la categoria seleccionada" ;
  290.             //}
  291.             //} else {
  292.                 //$items_noticia = $MOD['noticias']->getNoticias();
  293.                 //if ($items_noticia) {
  294.                     //include('modulos/noticias/vistas/listado_visitante.html.php');
  295.                 //} else {
  296.                 //  echo 'No existen noticias publicadas';
  297.                 //}
  298.             //}
  299.      
  300.    
  301.     }
  302. ?>
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 01:59.