FAQ
Hola:
Escribo en la Mailing List para preguntar si alguien me puede ayudar con lo siguente:

Estoy creando un sistema de noticias en PHP y de verdad que me ha costado demasiado!! y este es el codigo que tengo en la primera pagina:
<HTML>
<HEAD>
<TITLE>lectura.php</TITLE>
</HEAD>
<BODY>
<h1><div align="center">Lectura de la tabla</div></h1>
<br>
<br>
<?
//Conexion con la base
mysql_connect("localhost","user","xxxx");

//Ejecutamos la sentencia SQL
$result=mysql_db_query("noticias","select * from noticias ORDER BY id DESC");
?>
<table width="411" border="0" cellpadding="0" cellspacing="0">
<tr>

<?

//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<td width=161 height=130><img src='.$row["imagen"].' border=0></td>';
echo '<td width=250>'.$row["titulo"].'<br><br>'.$row["chica"].' </td></tr>';
echo '<tr>';
echo '<td height=0 colspan=2><a href=noticias2.php?id='.$row["id"].'>Mostrar</a></td>';
echo '</tr>';
}
mysql_free_result($result)
?>
</table>

<div align="center">
<a href="mandar.htm">Añadir un nuevo registro</a><br>
</div>

</BODY>
</HTML>
y luego en otra tengo el siguente para ver la noticia completa:
<?
//Conexion con la base
mysql_connect("localhost","user","xxxx");

?>
<?php
$selec = mysql_query("SELECT * FROM noticias ORDER BY id DESC");
while ($row = mysql_fetch_array($selec)) {
echo "<table width=\"34%\" border=\"1\" cellspacing=\"0\"
cellpadding=\"0\">
<tr>
<td>$row[titulo]</td>
</tr>
<tr>
<td><img src=\"$row[imagen]\"></td>
</tr>
<tr>
<td>$row[noticia]</td>
</tr>
</table><br>";
}
?>
pero no se como configurar el php para que solo se me habra la noticia que selecciono en el segundo archivo...alguien me puede ayudar?? y como configurar el primero para poner un cierto numero de noticiaaaas.

Atte,

Pedro Pablo Vivanco del Rio -
--www.todoalbo.cl---
pedropablo@todoalbo.cl

Search Discussions

  • Fernando Herrero Peletero at Mar 6, 2004 at 5:33 am
    Problema 1: busca paginación de resultados en el archivo de la lista, se ha
    discutido más de una vez...
    Problema 2: Si quieres ver 1 noticia... ¿por qué buscas todas?, tienes que
    decirle al mysql que te devuelva sólo la que te interese (mediante el id,
    por ejemplo).
  • Carlos at Mar 6, 2004 at 8:44 am
    Si quieres que solo te muestre un determinado nº de noticias, utiliza limit
    en el SQL:

    $selec = mysql_query("SELECT * FROM noticias ORDER BY id DESC LIMIT 0, 2");

    Así te mostrará 2 resultados

    Eso por un lado, por otro lado, en el primer archivo tienes esto:
    <a href=noticias2.php?id='.$row["id"].'>

    Eso quiere decir que cuando hagas click, este enlace te conducirá aquí:

    noticias.php?id=37

    De modo que en la siguiente página , tendrás disponible una variable que
    será $_GET[id] , cuyo valor será=37.

    Y que es justo lo que necesitas para poder seleccionar la noticia por su id
    mediante SQL:
    $selec = mysql_query("SELECT * FROM noticias WHERE id='".$_GET[id]."' ORDER
    BY id DESC");


    Los nº id, siempre se utilizan para manejar los registros, por eso se crean
    los campos id, como identificadores únicos de un registro.


    Saludos
    Carlos





    ----- Original Message -----
    From: "Pedro Pablo Vivanco del Rio" <webmaster@todoalbo.cl>
    To: <php-es@lists.php.net>
    Sent: Saturday, March 06, 2004 2:05 AM
    Subject: [PHP-ES] Consulta PHP {ojala alguien pueda ayudar}


    Hola:
    Escribo en la Mailing List para preguntar si alguien me puede ayudar con
    lo siguente:

    Estoy creando un sistema de noticias en PHP y de verdad que me ha costado
    demasiado!! y este es el codigo que tengo en la primera pagina:
    <HTML>
    <HEAD>
    <TITLE>lectura.php</TITLE>
    </HEAD>
    <BODY>
    <h1><div align="center">Lectura de la tabla</div></h1>
    <br>
    <br>
    <?
    //Conexion con la base
    mysql_connect("localhost","user","xxxx");

    //Ejecutamos la sentencia SQL
    $result=mysql_db_query("noticias","select * from noticias ORDER BY id
    DESC");
    ?>
    <table width="411" border="0" cellpadding="0" cellspacing="0">
    <tr>

    <?

    //Mostramos los registros
    while ($row=mysql_fetch_array($result))
    {
    echo '<td width=161 height=130><img src='.$row["imagen"].' border=0></td>';
    echo '<td width=250>'.$row["titulo"].'<br><br>'.$row["chica"].' </td></tr>';
    echo '<tr>';
    echo '<td height=0 colspan=2><a
    href=noticias2.php?id='.$row["id"].'>Mostrar</a></td>';
    echo '</tr>';
    }
    mysql_free_result($result)
    ?>
    </table>

    <div align="center">
    <a href="mandar.htm">Añadir un nuevo registro</a><br>
    </div>

    </BODY>
    </HTML>
    y luego en otra tengo el siguente para ver la noticia completa:
    <?
    //Conexion con la base
    mysql_connect("localhost","user","xxxx");

    ?>
    <?php
    $selec = mysql_query("SELECT * FROM noticias ORDER BY id DESC");
    while ($row = mysql_fetch_array($selec)) {
    echo "<table width=\"34%\" border=\"1\" cellspacing=\"0\"
    cellpadding=\"0\">
    <tr>
    <td>$row[titulo]</td>
    </tr>
    <tr>
    <td><img src=\"$row[imagen]\"></td>
    </tr>
    <tr>
    <td>$row[noticia]</td>
    </tr>
    </table><br>";
    }
    ?>
    pero no se como configurar el php para que solo se me habra la noticia que
    selecciono en el segundo archivo...alguien me puede ayudar?? y como
    configurar el primero para poner un cierto numero de noticiaaaas.

    Atte,

    Pedro Pablo Vivanco del Rio -
    --www.todoalbo.cl---
    pedropablo@todoalbo.cl
  • Manuel González Noriega at Mar 6, 2004 at 11:28 am

    El sáb, 06-03-2004 a las 02:05, Pedro Pablo Vivanco del Rio escribió:
    Hola:
    Escribo en la Mailing List para preguntar si alguien me puede ayudar con lo siguente:

    Estoy creando un sistema de noticias en PHP y de verdad que me ha costado demasiado!! y este es el codigo que tengo en la primera pagina:
    Una pregunta, ¿esto es un ejercicio para aprender PHP o para otra cosa?
    Si es lo primero perfecto, pero si es lo segundo y como parece q tus
    conocimientos de PHP no son muy altos, te merecería más la pena usar o
    adaptar algo ya hecho
    <HTML>
    <HEAD>
    <TITLE>lectura.php</TITLE>
    </HEAD>
    <BODY>
    <h1><div align="center">Lectura de la tabla</div></h1>
    <br>
    <br>
    Oh no, otro sistema de noticias con html inválido y sin CSS nooooo.
    Prometeme que si te ayudo limpiarás tu HTML ;)
    <?
    //Conexion con la base
    mysql_connect("localhost","user","xxxx");

    //Ejecutamos la sentencia SQL
    $result=mysql_db_query("noticias","select * from noticias ORDER BY id DESC");
    ?>
    mysql_db_query() no está recomendado. Usa primero mysql_select_db() para
    seleccionar la base de datos y luego mysql_query()
    <table width="411" border="0" cellpadding="0" cellspacing="0">
    Mira, como cuestión general, tu aplicación tiene el problema de que
    estás mezclando completamente el código PHP y el HTML. Esto es algo
    bastante "sucio", poco manejable y que te va a dar muchos problemas de
    mantenimiento. Para este o próximos proyectos, informate sobre los
    sistemas de plantillas que te permitirán separar ambas capas.

    mysql_connect("localhost","user","xxxx");
    Mete la conexión en una función externa y luego haz include() de todo,
    para no tener q repetir user/clave/etc en cada página
    ?><?php
    $selec = mysql_query("SELECT * FROM noticias ORDER BY id DESC");

    pero no se como configurar el php para que solo se me habra la noticia que selecciono en el segundo archivo...alguien me puede ayudar??

    Bueno, repasemos, tú has mandado el id de la noticia por la URL pero en
    este segundo archivo pareces olvidarte de ella y haces un select que va
    a seleccionar todas las noticias. En sql para seleccionar un solo
    registro se utiliza el operador WHERE y a su derecha las condiciones que
    van a acotar ese registro, en este caso 'id'

    WHERE id =

    En este caso, la id debe ser igual a la q has mandado por URL y que
    tienes en el array asociativo $_GET

    WHERE id = $_GET['id']
    y como configurar el primero para poner un cierto numero de noticiaaaas.
    Pues una vez que tengas definido el número que quieras lo utilizas en el
    select con el operador LIMIT, es decir, si el número es 10 añades a la
    primera consulta LIMIT 0,10


    En serio, no me extraña que te esté costando. Parece que te hayas tirado
    a la piscina demasiado pronto. Deberías pasar algo más de tiempo
    aprendiendo los fundamentos básicos de PHP y SQL. Si no, esto se va a
    convertir en una tortura para ti.


    --
    Manuel González Noriega
    Simplelógica, construcción web
    URL: http://simplelogica.net
    EMAIL: simplelogica@simplelogica.net
    TELEFONO: (+34) 985 22 12 65

    Logicola es el weblog de Simplelógica http://simplelogica.net/logicola/
  • Mario Ramirez at Mar 8, 2004 at 3:41 pm
    Hola pedro, porque no pruebas insertando en el select de la segunda pagina
    el row["id"], como parte del where para que solo te mande 1 sola noticia. a
    fin y al cabo la estas enviando el la primera pagina que te muestra todas la
    noticias,

    echo '<td height=0 colspan=2><a
    href=noticias2.php?id='.$row["id"].'>Mostrar</a></td>';

    en el select de la segunda pagina.
    $selec = mysql_query("SELECT * FROM noticias where id = $id ");
  • Pedro Pablo Vivanco del Rio at Mar 21, 2004 at 7:21 pm
    Hola:
    La verdad es que tenia instalado un formulario super simple para enviar
    datos a la base de datos MySQL y de un momento a otro, sin sufrir ni una
    modificacion no envio mas los datos, alguien me puede ayudar de como hacer
    otro formulario lo mas simple posible¿?


    Atte,

    Pedro Pablo Vivanco del Rio -
    --www.todoalbo.cl---
    pedropablo@todoalbo.cl
  • David Moreno Garza at Mar 21, 2004 at 8:32 pm

    On Sun, 21 Mar 2004 15:21:29 -0400, "Pedro Pablo Vivanco del Rio" wrote:

    Hola:
    La verdad es que tenia instalado un formulario super simple para
    enviar
    datos a la base de datos MySQL y de un momento a otro, sin sufrir ni
    una modificacion no envio mas los datos, alguien me puede ayudar de
    como hacer otro formulario lo mas simple posible¿?
    <FORM ACTION="loquesea.php" METHOD="POST">
    <INPUT TYPE="submit" />
    </FORM

    Listo ;-)

    --
    David Moreno Garza <damog@damog.net>
    http://www.damog.net/
    PGP 1024D/356E16CD - 84F0 E180 8AF6 E8D0 842F B520 63F3 08DB 356E 16CD

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedMar 6, '04 at 1:05a
activeMar 21, '04 at 8:32p
posts7
users6
websitephp.net

People

Translate

site design / logo © 2022 Grokbase