PHP - ¿Cómo podría hacer un sistema de noticias?

 
Vista:
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 31/08/2013 23:36:58
Hola, muy buenas me gustaría saber lo siguiente.

¿Cómo podría hacer un sistema de noticias?.

No deseo que me digan el código si no cómo me oriento que tengo que hacer... ejemplo: Qué tablas tengo que crear en la base de datos y que tengo que hacer para poder editarlas por id.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Cómo podría hacer un sistema de noticias?

Publicado por Martha (48 intervenciones) el 01/09/2013 11:48:19
Casi todos los cursos de PHP-MySQL tratan este tema como el de crear un blog.

Si el sistema lo vas a usar para dar noticias, sin la interacción de usuarios, solo vas a necesitar una tabla, algo así:

1
2
3
4
5
6
7
8
CREATE TABLE `noticias` (
`id`  int(11) NOT NULL AUTO_INCREMENT ,
`cabecera`  varchar(100) NOT NULL ,
`fecha`  datetime NOT NULL ,
`pre_texto`  varchar(255) NOT NULL ,
`todo_texto`  text NOT NULL ,
PRIMARY KEY (`id`)
)

Solo tendrás que listar cabecera, fecha y pre_texto, que sería una especie de introducción.

A través de un enlace del tipo "seguir leyendo" o "ver mas" podrías hacer que el usuario accediera al resto del contenido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 01/09/2013 12:33:05
Ese es el problema que más duda... cómo hago para que le den a seguir leyendo...

¿Tengo que hacer un $_GET['id']?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 01/09/2013 13:40:44
Siguiendo con el ejemplo de Martha:

Creas un link, por ejemplo:
1
<a href="AmpliarNoticia.php?id=<?php echo $registro['id'];?>">Seguir Leyendo"</a>
obivamente que la variable $registro la reemplazas por la tuya, la de la consulta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 01/09/2013 13:45:13
Entonces sólo tendría que hacer lo siguiente:

Hacer una insertación de datos a la base de datos. Luego sacarlos y mostrarlos.

Tengo una dudita más:

¿cómo hago lo del $_GET['id]? El problema es que que hago hago un if con el get id y dentro los datos o cómo.

Saludos Y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo podría hacer un sistema de noticias?

Publicado por Martha (48 intervenciones) el 01/09/2013 18:06:01
Siguiendo con el consejo de Terra, hagamos esto:

En un archivo php que llamaremos AmpliarNoticia.php, mas o menos así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
 
/*Este es el id que has recogido con el <a href="AmpliarNoticia.php?id=<?php echo $registro['id'];?>">Seguir Leyendo"</a> */

$registro = $_REQUEST['id'];

    // Aquí según sea tu caso.
    $usuario =   usuario:
    $host =  localhost;
    $pass = contraseña;
    $basededatos = labasededatos;

$conexion = mysql_connect($host,$usuario,$pass) or die("No se ha realizado la conexión al servidor");

mysql_select_db($basededatos,$conexion) or die("No se ha realizado la conexión a la base de datos");

$consulta = "SELECT * FROM noticias WHERE id = ' $registro ' "; //Ojo a las comillas.
 
$resultado = mysql_query($consulta);
 
$noticia= mysql_fetch_row($resultado);
 
$cabecera = $noticia['1'];
$todo_texto = $noticia['4'];
 
        //liberamos y cerramos la conexión
        mysql_free_result($resultado);
	mysql_close($conexion);
 
//Mostramos la noticia
echo "<strong>" . $cabecera . "</strong><br>" . $todo_texto;
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 01/09/2013 18:42:07
Gracias,

Ahora tengo la siguiente duda...

Sale pre_texto y todo_texto en pre_texto que ingreso?.

Por que tendría que hacer un insert para la id, cabezera, y todo_texto pero y para pre_texto que hay que añadir? Algo en adicional? una pequeña información de lo que quiera?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo podría hacer un sistema de noticias?

Publicado por Martha (48 intervenciones) el 02/09/2013 11:13:55
Casi todos los servidores de noticias tienen una cabecera y una línea de texto con una breve introducción. A eso, que tiene un nombre técnico que desconozco, le he llamado pre_texto.
También puedes hacer que los 255 primeros caracteres de texto, se conviertan en pre_texto, mas o menos así:

1
2
3
4
5
<?php
 
$pre_texto = substr($texto, 0, 255);
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 01/09/2013 19:11:01
Hola tengo el siguiente problemita:

Tengo este código para la insertación de datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noticia Creada </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    if(isset($_POST['crear']))
    {
    	if($_POST['cabecera'] == '' or $_POST['pre_texto'] == '' or $_POST['todo_texto'] == '')
    	{
    		echo " Ha ocurrido un error, no puede dejar ningun campo sin rellenar. ";
    	}
 
    	else
    	{
    		$cabecera = utf8_decode(mysqli_real_escape_string($conexion, $_POST['cabecera']));
    		$pre_texto = utf8_decode(mysqli_real_escape_string($conexion, $_POST['pre_texto']));
    		$todo_texto = utf8_decode(mysqli_real_escape_string($conexion, $_POST['todo_texto']));
 
    		$new = mysqli_query($conexion, "INSERT INTO noticias(id,cabecera,fecha,pre_texto,todo_texto) VALUES ('','".$cabecera."','','".$pre_texto."','".$todo_texto."')")or die("Error en la creacion de la nueva noticia");
    		echo "La noticia ha sido creada.";
    	}
    }
 
    else
    {
    	echo "Un error critico a ocurrido vuelva a intentarlo mas tarde";
    }
 
    ?>
 
    </body>
</html>


Se me inserta bien, pero el problema es que la fecha me sale asín en la db:

1
2
0000-00-00
00:00:00

Y no al día que estamos.

¿Qué podría hacer?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 02/09/2013 02:22:37
Hola Tomas,
Si estás utilizando esta línea de código TAL y COMO la pego aquí debajo, mira bien que en el TERCER ARGUMENTO lo tiene VACIO, no colocas nada!!
1
$new = mysqli_query($conexion, "INSERT INTO noticias(id,cabecera,fecha,pre_texto,todo_texto) VALUES ('','".$cabecera."','','".$pre_texto."','".$todo_texto."')")or die("Error en la creacion de la nueva noticia");
Luego de VALUES, abres paréntesis y el primer argumento lo da BLANK (nada) el SEGUNDO es la variable cabecera y el TERCERO (que corresponde a fecha, lo tiene igual que el PRIMERO!!!

Debería incorporar algún dato según la necesidad. Para el caso de que necesites colcoar la FECHA y HORA del momento que se está haciendo el INSERT, incoporta esto antes del INSERT:
1
$FechaHoraActual = date("Y-m-d H:i:s");
y reemplaza la línea por esta (le quité varias comillas para sea más User-Frendly.
1
$new = mysqli_query($conexion, "INSERT INTO noticias(id,cabecera,fecha,pre_texto,todo_texto) VALUES ('','$cabecera','$FechaHoraActual','$pre_texto','$todo_texto') ")or die("Error en la creacion de la nueva noticia");

comenta!
Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 02/09/2013 10:58:36
Muchas gracias a servido a la perfección hay tenía una duda también gracias.

Por cierto, ¿sabrías decirme que elementos tengo que sacar en la index?.

Me refiero que datos saco de la db para mostrarlos en la página.

¿Cabecera, pre_texto y fecha? ¿no?.

Ya lo otro lo que es todo_texto sería dentro del $_GET['id].

¿No?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 02/09/2013 11:31:03
Ya tengo los datos obtenidos de la base de datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT cabecera,fecha,pre_texto FROM noticias")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='#'>Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
    ?>
 
    </body>
</html>

-------------------------------------------------------------------------------------------------------------------------------------

Ahora sólo quedaría crear el archivo apliarnoticia.php que pasó Martha ¿no?. (Y configurarlo)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
 
/*Este es el id que has recogido con el <a href="AmpliarNoticia.php?id=<?php echo $registro['id'];?>">Seguir Leyendo"</a> */

$registro = $_REQUEST['id'];

    // Aquí según sea tu caso.
    $usuario =   usuario:
    $host =  localhost;
    $pass = contraseña;
    $basededatos = labasededatos;

$conexion = mysql_connect($host,$usuario,$pass) or die("No se ha realizado la conexión al servidor");

mysql_select_db($basededatos,$conexion) or die("No se ha realizado la conexión a la base de datos");

$consulta = "SELECT * FROM noticias WHERE id = ' $registro ' "; //Ojo a las comillas.
 
$resultado = mysql_query($consulta);
 
$noticia= mysql_fetch_row($resultado);
 
$cabecera = $noticia['1'];
$todo_texto = $noticia['4'];
 
        //liberamos y cerramos la conexión
        mysql_free_result($resultado);
	mysql_close($conexion);
 
//Mostramos la noticia
echo "<strong>" . $cabecera . "</strong><br>" . $todo_texto;
?>

---------------------------------------------------------------------------------------------------------------------------------------

Aquí me da un pequeño error ¿por qué?.

1
echo "<a href='ampliarnoticia.php?id=<?php echo $registro['id'];?>'>Leer la noticia al completo</a>";


1
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\noticias\index.php on line 19
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 02/09/2013 12:06:32
También edité el código de Martha para adaptarlo por así decirse:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
/*Este es el id que has recogido con el <a href="AmpliarNoticia.php?id=<?php echo $registro['id'];?>">Seguir Leyendo"</a> */

include ("config.php");

$registro = $_GET['id'];

$consulta = "SELECT * FROM noticias WHERE id = '".$registro."'"; //Ojo a las comillas.
 
$resultado = mysqli_query($conexion, $consulta);
 
$noticia= mysqli_fetch_row($conexion, $resultado);
 
$cabecera = $noticia['1'];
$todo_texto = $noticia['4'];
 
        //liberamos y cerramos la conexión
        mysqli_free_result($conexion, $resultado);
	mysqli_close($conexion);
 
//Mostramos la noticia
echo "<strong>" . $cabecera . "</strong><br>" . $todo_texto;
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 02/09/2013 13:41:22
Es simple el error...
1
echo "<a href='ampliarnoticia.php?id=<?php echo $registro['id'];?>'>Leer la noticia al completo</a>";

Estas utilizando ECHO que es un recurso de PHP, así que el <?php que colcoar luego del id= es erróneo.
La linea debería quedar así:
1
echo "<a href='ampliarnoticia.php?id=$registro[id]' >Leer la noticia al completo</a>";


míralo y comenta

otra cosa...
Crea un archivos ejemplo: conexion.inc.php y dentro colocar la conexión a la base para no tener que escribirlo cada.
Luego lo llamas con include() o require().
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 02/09/2013 14:05:11
Mira al darle a leer noticia me tira este error cuándo entro a aplicarnoticia.php

url (asin em sale cuando le doy a leer noticia):

1
http://localhost/noticias/ampliarnoticia.php?id=


1
2
3
4
5
Warning: mysqli_query() expects parameter 2 to be string, object given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 11
 
Warning: mysqli_fetch_row() expects exactly 1 parameter, 2 given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 13
 
Warning: mysqli_free_result() expects exactly 1 parameter, 2 given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 19

---------------------------------------------------------------------------------------------------------------------------------------

Este es el código de aplicarnoticia.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
/*Este es el id que has recogido con el <a href="AmpliarNoticia.php?id=<?php echo $registro['id'];?>">Seguir Leyendo"</a> */

include ("config.php");

$registro = $_GET['id'];

$consulta = mysqli_query($conexion, "SELECT * FROM noticias WHERE id = ('".$registro."')"); //Ojo a las comillas.
 
$resultado = mysqli_query($conexion, $consulta);
 
$noticia= mysqli_fetch_row($conexion, $resultado);
 
$cabecera = $noticia['1'];
$todo_texto = $noticia['4'];
 
        //liberamos y cerramos la conexión
        mysqli_free_result($conexion, $resultado);
	mysqli_close($conexion);
 
//Mostramos la noticia
echo "<strong>" . $cabecera . "</strong><br>" . $todo_texto;
?>


---------------------------------------------------------------------------------------------------------------------------------------

Y este el código del index dónde se muestra las noticias y donde sale para ir a leer al completo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT cabecera,fecha,pre_texto FROM noticias")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='ampliarnoticia.php?id=$registro[id]' >Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
    ?>
 
    </body>
</html>

-------------------------------------------------------------------------------------------------------------------------------------

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 02/09/2013 18:36:39
Alguna novedad del problema, por favor.

Gracias.

Mira al darle a leer noticia me tira este error cuándo entro a aplicarnoticia.php

url (asin em sale cuando le doy a leer noticia):

1
http://localhost/noticias/ampliarnoticia.php?id=



1
2
3
4
5
Warning: mysqli_query() expects parameter 2 to be string, object given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 11
 
Warning: mysqli_fetch_row() expects exactly 1 parameter, 2 given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 13
 
Warning: mysqli_free_result() expects exactly 1 parameter, 2 given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 19


---------------------------------------------------------------------------------------------------------------------------------------

Este es el código de aplicarnoticia.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
/*Este es el id que has recogido con el <a href="AmpliarNoticia.php?id=<?php echo $registro['id'];?>">Seguir Leyendo"</a> */

include ("config.php");

$registro = $_GET['id'];

$consulta = mysqli_query($conexion, "SELECT * FROM noticias WHERE id = ('".$registro."')"); //Ojo a las comillas.
 
$resultado = mysqli_query($conexion, $consulta);
 
$noticia= mysqli_fetch_row($conexion, $resultado);
 
$cabecera = $noticia['1'];
$todo_texto = $noticia['4'];
 
        //liberamos y cerramos la conexión
        mysqli_free_result($conexion, $resultado);
	mysqli_close($conexion);
 
//Mostramos la noticia
echo "<strong>" . $cabecera . "</strong><br>" . $todo_texto;
?>



---------------------------------------------------------------------------------------------------------------------------------------

Y este el código del index dónde se muestra las noticias y donde sale para ir a leer al completo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT cabecera,fecha,pre_texto FROM noticias")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='ampliarnoticia.php?id=$registro[id]' >Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
    ?>
 
    </body>
</html>

-------------------------------------------------------------------------------------------------------------------------------------

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 03/09/2013 15:07:15
Mira Tomas... Es simple...

Mira esta linea:
1
echo "<a href='ampliarnoticia.php?id=$registro[id]' >Leer la noticia al completo</a>";

Estas mostrando el array de nombre $registro[id] y tu lo has declarado con otro nombre

1
while($new = mysqli_fetch_array($news))
Mira, le diste el al array $new...
Asñi que cambia el nombre de:
1
$registro[id] por $new[id]


De estos Warning:
1
2
3
4
5
Warning: mysqli_query() expects parameter 2 to be string, object given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 11
 
Warning: mysqli_fetch_row() expects exactly 1 parameter, 2 given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 13
 
Warning: mysqli_free_result() expects exactly 1 parameter, 2 given in C:\xampp\htdocs\noticias\ampliarnoticia.php on line 19

No te preocupes porque TODO es a razón de lo anterior.

saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 03/09/2013 15:28:35
Me da igualmente error:

ampliarnoticia.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
include ("config.php");
 
$registro = $_GET['id'];
 
$consulta = mysqli_query($conexion, "SELECT * FROM noticias WHERE id = ('".$registro."')"); //Ojo a las comillas.
 
$resultado = mysqli_query($conexion, $consulta);
 
$noticia= mysqli_fetch_row($conexion, $resultado);
 
$cabecera = $noticia['1'];
$todo_texto = $noticia['4'];
 
        //liberamos y cerramos la conexión
        mysqli_free_result($conexion, $resultado);
	mysqli_close($conexion);
 
//Mostramos la noticia
echo "<strong>" . $cabecera . "</strong><br>" . $todo_texto;
?>


Index.php:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT cabecera,fecha,pre_texto FROM noticias")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='ampliarnoticia.php?id=$new[id]' >Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
    ?>
 
    </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 04/09/2013 11:31:12
Tomas, mira hay cuestiones que deberías controlar un pelín sino tendrás muchos dolores de cabeza...
Veo que el cambio de $registro por $new ya lo has hecho pero, conoces el dicho que de donde no hay no se puede sacar?
Estás queriendo imprimir la COLUMNA id y no la tienes solicitada en la consulta, sólo requieres en la consulta.
1
cabecera, fecha, pre_texto.
Agrega la columna id al SELECT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 04/09/2013 16:12:25
Si ya me di cuenta y lo solucioné, ahora tengo un problema

cómo puedo hacer un sistema de paginación.

Que cuando llegue a 10 noticias otra página de noticias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 04/09/2013 18:48:23
tengo esto es la index:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT id,cabecera,fecha,pre_texto FROM noticias ORDER BY id DESC")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='articles/".$new['id']."'>Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
    //cantidad de resultados por página (opcional, por defecto 20) 
$_pagi_cuantos = 10;
 
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente 
include("paginator.inc.php");
 
//Leemos y escribimos los registros de la página actual 
while($row = mysql_fetch_array($_pagi_result)){
    echo $row['nombre']."<br />";
}
 
//Incluimos la barra de navegación 
echo"<p>".$_pagi_navegacion."</p>";
 
    ?>
 
    </body>
</html>

-----------------------------------------------------------------------------------------------------------------------------------

Y ya tengo el script ese.

Pero me da un error al mostrar el echo:

1
Error Paginator : No se ha definido la variable $_pagi_sql


1
echo"<p>".$_pagi_navegacion."</p>";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 04/09/2013 18:56:33
la variable $_pagi_sql es la que tienes utilizar para declarar la consulta, es decir, deberías cambiar
1
$news = mysqli_query($conexion...
por
1
$_pagi_sql = mysqli_query($conexion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 04/09/2013 18:58:26
O mira también me podrías ayudar a resolver este código de paginación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT id,cabecera,fecha,pre_texto FROM noticias ORDER BY id DESC")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='articles/".$new['id']."'>Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
$hasta = $_GET['pag'] * 10; // El valor del parametro pag lo multiplicas por 10. EJ: 2 x 10 = 20
$desde = $hasta - 10; // 20 - 10 = 10;
if(is_numeric($_GET['pag']) AND $_GET['pag'] <= ceil($count['id'] / 10)){ // Si pag es numero Y si pag es es menor o igual al numero de paginas creadas
    $news1 = mysqli_query($connection, "SELECT cabecera,todo_texto FROM noticias LIMIT    $desde, $hasta"); // LIMITE 10,20
    while($news2 = mysqli_fetch_assoc($news1)){
        echo $news2['title'].'<br>';
    }
 
    $pag = $count['id'] / 10; //La dividimos entre 10 para ver cuantas paginas se crean
    for($i = 1;  $i <= $_GET['pag'] - 1; $i++){ // Hacemos un for del numero 1 hasta el numero de paginas calculadas
        echo '<a href="?pag='.$i.'">'.$i.'</a>'; // Mostramos los link
    }
        echo '|<a href="?pag='.$_GET['pag'].'"><b>'.$_GET['pag'].'</b></a>|';
    for($i = $_GET['pag'] + 1;  $i <= ceil($pag); $i++){ // Hacemos un for del numero 1 hasta el numero de paginas calculadas
        echo '<a href="?pag='.$i.'">'.$i.'</a>'; // Mostramos los link
    }
}else{
    echo 'Error';
}
 
 
    ?>
 
    </body>
</html>

No se por que pero me tira al else.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 04/09/2013 20:29:00
Perdoname pero creo q te estas partiendo la cabeza sin necesidad...
el paginator es un fihcero ya tiene todo el cáculo hecho.
tu sólo tienes que:
Hacer la consulta:
1
$sql_tabla="SELECT bla bla bla..";
Colocar la cantidad de registro por pagina (predeterminado 20 registro)
1
$_pagi_cuantos = Cantidad (ejemplo: 12)
Cantidad de enlances que te muestra entre los símbolo [Pag.Sig. - Pag. Anterior.]
1
$_pagi_nav_num_enlaces = Cantidad
Luego incluir el código del paginator
1
include("paginator.inc.php");

En el WHILE haces referencia a la variable propia del paginator $_pagi_result:
1
while($resultados = mysql_fetch_array($_pagi_result))
Para la paginación haces referencia a:
1
echo "<p>".$_pagi_navegacion."</p>";

y LISTO!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 04/09/2013 22:48:19
Aún me sigue igual:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html lang="es" />
    <head>
        <title> Noti </title>
    </head>
    <body>
 
    <?php
 
    include ("config.php");
 
    $news = mysqli_query($conexion, "SELECT id,cabecera,fecha,pre_texto FROM noticias ORDER BY id DESC")or die("Error en la seleccion de datos");
 
    while($new = mysqli_fetch_array($news))
    {
    	echo "<b>".$new['cabecera']."</b>&nbsp;&nbsp;&nbsp; ".$new['fecha']."<br><br>";
    	echo "<i>".$new['pre_texto']."</i><br><br>";
    	echo "<br>";
    	echo "<a href='articles/".$new['id']."'>Leer la noticia al completo</a>";
    	echo "<hr>";
    }
 
    $sql_tabla = mysqli_query($conexion, "SELECT id,cabecera,fecha,pre_texto FROM noticias ORDER BY id DESC")or die("Error en la seleccion de datos");
 
    $_pagi_cuantos = 10;
 
    $_pagi_nav_num_enlaces = 2;
 
include("paginator.inc.php");
 
 
while($row = mysql_fetch_array($_pagi_result)){
    echo $row['nombre']."<br />";
}
 
    ?>
 
    </body>
</html>


¿Puede ser por que el script está en mysql? en vez de mysqli que es en la versión que estoy realizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 05/09/2013 01:31:19
Perdón, me equivoque...

1
$_pagi_sql = "SELECT bla bla bla"
1
$sql_tabla = "NombreTabla";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Tomás

¿Cómo podría hacer un sistema de noticias?

Publicado por Tomás (81 intervenciones) el 05/09/2013 10:12:21
1
2
3
4
5
6
7
8
9
10
11
$sql_tabla = "noticias";
    $_pagi_cuantos = 10;
 
    $_pagi_nav_num_enlaces = 2;
 
include("paginator.inc.php");
 
 
while($row = mysql_fetch_array($_pagi_result)){
    echo $row['nombre']."<br />";
}

A pesar de ello sigue igual:

1
Error Paginator : No se ha definido la variable $_pagi_sql
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de terra

¿Cómo podría hacer un sistema de noticias?

Publicado por terra (62 intervenciones) el 05/09/2013 12:14:09
Pon sólo el texto de la consulta y nada mas.
ejemplo:

1
$_pagi_sql = "SELECT id FOM tbl WHERE lo que sea";
(nada mas)

No coloques nada de mysqli_query ni $link, nada. déjalo así y prueba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar