Foros del Web » Programando para Internet » PHP »

Titulo dinamico

Estas en el tema de Titulo dinamico en el foro de PHP en Foros del Web. Hola que tal amigos, recién estoy comenzando con mysql y tengo un problema del que espero me puedan ayudar. Lo que pasa es que estoy ...
  #1 (permalink)  
Antiguo 29/08/2014, 12:59
Avatar de secretcode  
Fecha de Ingreso: enero-2014
Mensajes: 16
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Titulo dinamico

Hola que tal amigos, recién estoy comenzando con mysql y tengo un problema del que espero me puedan ayudar.

Lo que pasa es que estoy creando un pequeño sistema de post, todo funciona de maravilla, me puedo conectar a la base de datos mysql y extraer los datos del post, esto lo hago utilizando un ciclo while y al funcion mysql_fetch_assoc();

El problema esta en que antes de ese ciclo tengo la etiqueta <title></title> a la cual quiero ponerle un titulo dinamico dependiendo del post, lo que no se es como extraer solo 1 campo de la base de datos. Probe mysql_result() pero no se puede utilizar con otras funciones para traer datos. y de esa manera me funciona el titulo, pero no me trae el resto de los campos.

Aquí les comparto el código, espero me puedan ayudar. Saludos

Código PHP:
<?php require_once('conexion.php');
    
$id_noticia $_GET['id_noticia'];
    
$query mysql_query("select * from noticias where id_noticia = $id_noticia");
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?php echo mysql_result($query0'titulo');?></title>
</head>
<body>
    <div class="wrap">
        <?php while ($noticia mysql_fetch_assoc($query)) { ?>
        <h1 class="titulo_pagina"><?php echo $noticia['titulo'];?></h1>
            <section class="noticias">
                    <div class="noticia">
                        <p class="fecha_hora">Publicado el: <?php echo $noticia['fecha'];?> a las: <?php echo $noticia['hora'];?></p>
                        <p class="articulo"><?php echo $noticia['texto'];?></p>
                    </div>
            </section>
        <?php }?>
    </div>
</body>
</html>
  #2 (permalink)  
Antiguo 29/08/2014, 13:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Titulo dinamico

Tienes que hacer fetching de una fila antes de poder acceder a sus columnas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/08/2014, 13:34
Avatar de secretcode  
Fecha de Ingreso: enero-2014
Mensajes: 16
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Titulo dinamico

Aun no soy nuevo en mysql no se realmente que es fetching, es pasar los valores a un arreglo no? pero con cual funcion lo hago si es asi?
  #4 (permalink)  
Antiguo 29/08/2014, 13:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Titulo dinamico

El "fetching" es lo que hacen las funciones mysql_fetch_algo(), no hay ningún misterio ahí.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/08/2014, 05:48
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: Titulo dinamico

Muy buenas,

Ampliando lo que dice el amigo Pateketrueke, sería algo así:
Código PHP:
Ver original
  1. <?php require_once('conexion.php');
  2.     $id_noticia = $_GET['id_noticia'];
  3.     $query = mysql_fetch_array(mysql_query("select * from noticias where id_noticia = $id_noticia LIMIT 1"));
  4. ?>

Poniendo esto en vez del tuyo, creo que te funcionará.

O sea, que el contenido de un mysql_query() debe ser fetcheado luego por mysql_fetch_array() o mysql_fetch_row().

Pero ya que te pones, piensa en usar mysqli en vez de mysql, porque hay muchas cosas ya obsoletas y depreciadas.

Espero te sea de ayuda.

Un saludo!
__________________
diseño web | Clan Rol
  #6 (permalink)  
Antiguo 01/09/2014, 10:18
Avatar de secretcode  
Fecha de Ingreso: enero-2014
Mensajes: 16
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Titulo dinamico

He hecho lo siguiente y me funciona el titulo pero el resto de la pagina no me carga los datos de mysql.

Código PHP:
Ver original
  1. <?php require_once('conexion.php');
  2.     $id_noticia = $_GET['id_noticia'];
  3.     $query = mysql_query("select * from noticias where id_noticia = $id_noticia");
  4. ?>
  5.  
  6. <!DOCTYPE html>
  7. <html lang="en">
  8. <head>
  9.     <meta charset="UTF-8">
  10.     <title>
  11.         <?php
  12.             while ($titulo = mysql_fetch_assoc($query)) {
  13.                 echo $titulo['titulo'];
  14.             }
  15.         ?>
  16.     </title>


Este es el codigo completo:

Código PHP:
Ver original
  1. <?php require_once('conexion.php');
  2.     $id_noticia = $_GET['id_noticia'];
  3.     $query = mysql_query("select * from noticias where id_noticia = $id_noticia");
  4. ?>
  5.  
  6. <!DOCTYPE html>
  7. <html lang="en">
  8. <head>
  9.     <meta charset="UTF-8">
  10.     <title>
  11.         <?php
  12.             while ($titulo = mysql_fetch_assoc($query)) {
  13.                 echo $titulo['titulo'];
  14.             }
  15.         ?>
  16.     </title>
  17. </head>
  18. <body>
  19.     <div class="wrap">
  20.         <?php while ($noticia = mysql_fetch_assoc($query)) { ?>
  21.         <h1 class="titulo_pagina"><?php echo $noticia['titulo'];?></h1>
  22.             <section class="noticias">
  23.                     <div class="noticia">
  24.                         <p class="fecha_hora">Publicado el: <?php echo $noticia['fecha'];?> a las: <?php echo $noticia['hora'];?></p>
  25.                         <p class="articulo"><?php echo $noticia['texto'];?></p>
  26.                     </div>
  27.             </section>
  28.         <?php }?>
  29.     </div>
  30. </body>
  #7 (permalink)  
Antiguo 01/09/2014, 10:38
Avatar de secretcode  
Fecha de Ingreso: enero-2014
Mensajes: 16
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Titulo dinamico

Ya lo resolvi pero no se si sea la forma mas correcta, espero me ayuden a clarar, lo que hice fue crear una nueva variable llamada $query_titulo y en ella puse exactamente la misma consulta SQL, y en el title la llame diferente

Código PHP:
Ver original
  1. <title>
  2.         <?php
  3.             $titulo = mysql_fetch_array($query_titulo);
  4.             echo $titulo['titulo'];
  5.         ?>
  6.     </title>

Pero me quedo asi la parte del include, esto esta mal no? es decir estoy repitiendo esto 2 veces con un nombre de variable diferente.

Código PHP:
Ver original
  1. <?php require_once('conexion.php');
  2.     $id_noticia = $_GET['id_noticia'];
  3.     $query = mysql_query("select * from noticias where id_noticia = $id_noticia LIMIT 1");
  4.     $query_titulo = mysql_query("select * from noticias where id_noticia = $id_noticia LIMIT 1");
  5. ?>

Etiquetas: dinamico, mysql, titulo
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 11:13.