basicamente se conforma de los siguientes archivos:
- db-cnx.php -> conexion a la BD
- add-categoria.php -> agregar categorias
- add-noticia.php -> agregar las noticias
- list-categoria.php -> mostrar las categorias en una lista
- list-noticia.php -> mostrar las noticias dependiendo de la categoria pedida, si no, entonnces mostrara todas las noticias
- index.php -> inicio, incluye los archivos: db-cnx.php, list-categoria.php y list-noticia.php
- sistemanoticias.sql -> la base de datos
sistemanoticias.sql
Código PHP:
   -- Base de datos: `sistemanoticias`
CREATE TABLE `sn_categorias` (
  `cat_ID` int(11) NOT NULL auto_increment,
  `catCategoria` varchar(100) NOT NULL,
  PRIMARY KEY  (`cat_ID`)
) ENGINE=MyISAM;
CREATE TABLE `sn_noticias` (
  `not_ID` int(11) NOT NULL auto_increment,
  `notTitulo` varchar(255) NOT NULL,
  `notTexto` text NOT NULL,
  `notCategoriaID` int(11) NOT NULL,
  PRIMARY KEY  (`not_ID`)
) ENGINE=MyISAM; 
    Código PHP:
   <?php
$db_link = mysql_connect('localhost', 'root', '');
if(!$db_link){
    die('No se pudo conectar: ' . mysql_error());
}
$db_selected = mysql_select_db('sistemanoticias', $db_link);
if(!$db_selected){
    die('No se selecciono la BD: ' . mysql_error());
}
?>    Código PHP:
   <?php
// incluimos el archivo de conexion
include ('db-cnx.php');
// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
    // comprobamos que el formulario no envie campos vacios
    if(!empty($_POST['catCategoria'])){
        // creamos la variable y le asignamos el valor a insertar
        $catCategoria = $_POST['catCategoria'];
        // hacemos el INSERT en la BD
        $sqlInsertCat = mysql_query("INSERT INTO sn_categorias (catCategoria)
                                    VALUES ('$catCategoria')", $db_link)
                                    or die(mysql_error());
        // enviamos un mensaje de exito
        echo "Los datos fueron gurdados correctamente";
    }else{
        // si el formulario viene vacio
        // enviamos un mensaje de error
        echo "Debe llenar el formulario";
    }
}
?>
<!-- el formulario -->
<form name="categoria" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
    <p>
    Nueva Categoría<br />
    <input type="text" name="catCategoria" /> 
    <input type="submit" name="enviar" value="Enviar" />
    </p>
</form>   Código PHP:
   <?php
// incluimos el archivo de conexion
include ('db-cnx.php');
// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
    // comprobamos que el formulario no envie campos vacios
    if(!empty($_POST['notTitulo']) && $_POST['notTexto'] &&
    $_POST['notCategoriaID']){
        // creamos las variables y les asignamos los valores a insertar
        $notTitulo = $_POST['notTitulo'];
        $notTexto = $_POST['notTexto'];
        $notCategoriaID = $_POST['notCategoriaID'];
        // hacemos el INSERT en la BD
        $sqlInsertNot = mysql_query("INSERT INTO sn_noticias
                                     (notTitulo, notTexto, notCategoriaID)
                                     VALUES ('$notTitulo', '$notTexto', '$notCategoriaID')",
                                     $db_link) or die(mysql_error());
        // enviamos un mensaje de exito
        echo "Los datos fueron gurdados correctamente";
    }else{
        // si el formulario envia algun campo vacio
        // enviamos un mensaje de error
        echo "Debe llenar todos los campos del formulario";
    }
}
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    <p>
    Título de la Noticia<br />
    <input type="text" name="notTitulo" size="50" />
    </p>
    <p>
    Texto de la Noticia<br />
    <textarea name="notTexto" rows="10" cols="50"></textarea>
    </p>
    <p>
    Categoría<br />
    <select name="notCategoriaID">
        <option value="">Escoger de la Lista</option>
    <?php
    // asignamos una categoria a la noticia
    // mediante un select
    $sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
                                or die(mysql_error);
    // creamos un bucle while
    // que nos muestre todas las categorias
    // que tenemos guardadas en la BD
    while($rowCat = mysql_fetch_array($sqlQueryCat)){
        echo "<option value='$rowCat[cat_ID]'>$rowCat[catCategoria] - $rowCat[cat_ID]</option>";
    }
    ?>
    </select>
    </p>
    <p>
    <input type="submit" name="enviar" value="Enviar" />
    </p>
</form>   Código PHP:
  
<h1>Categorías...</h1>
<?php
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
                            or die(mysql_error);
echo "<ul>";
while($rowCat = mysql_fetch_array($sqlQueryCat)){
    echo "<li><a href='?categoria=$rowCat[catCategoria]&id=$rowCat[cat_ID]'>$rowCat[catCategoria]</a></li>";
}
echo "</ul>";
?>    Código PHP:
   <?php
// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
    // asignamos los valores
    // a las variables que usaremos
    $cat_ID = $_GET['id'];
    $categoria = $_GET['categoria'];
    $clausula = "WHERE notCategoriaID = '$cat_ID'";
    // tambien armamos el titular de la pagina
    $titulo = "Noticias en la categoria $categoria";
}else{
    // de lo contrario
    // el titulo sera general
    $titulo = "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot = mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
                            $clausula", $db_link)
                            or die(mysql_error);
echo "<h1>$titulo</h1>";
// mostramos las noticias,
// otra vez usanod un bucle while
while($rowNot = mysql_fetch_array($sqlQueryNot)){
    echo "<h1>$rowNot[notTitulo]</h1>";
    echo nl2br("$rowNot[notTexto]");
}
?>    Código PHP:
  
<html>
<head>
    <title>Sistema de Noticias - By RogerTM</title>
</head>
<body>
<h1>Sistema de Noticias - By RogerTM</h1>
<?php include('db-cnx.php'); ?>
<div style="float:left; width: 25%;">
    <?php include('list-categoria.php'); ?>
</div>
<div style="float:right; width: 75%;">
    <?php include('list-noticia.php'); ?>
</div>
</body>
</html>   http://rogertm.bloggerscuba.com/post...mysql-parte-i/
http://rogertm.bloggerscuba.com/post...ysql-parte-ii/
espero les sirva y tambien espero sus sugerencias y comentarios
saludos y suerte
 
  
 


 Re: Sistema de Noticias (aporte)
 Re: Sistema de Noticias (aporte) 





 
 





 Re: Sistema de Noticias (aporte)
 Re: Sistema de Noticias (aporte)  
  
  
 

 Este tema le ha gustado a 10 personas (incluyéndote)
Este tema le ha gustado a 10 personas (incluyéndote)