Titulo dinamico de una base de datos
#1
Escrito 09 octubre 2012 - 03:17
quiero poner el titulo de forma dinamica de la siguiente manera:
tengo una BD cargados con id, artista , osea el ID y el nombre del artista [name]
cuando la página carge y coincida con el id y el titulo se forme, como en muxas paginas, pero se me ocurrio hacerla de la manera pero no se logra:
//base de datos cargados
$titi="1";
while( $row = mysql_fetch_array ( $result )) {
$vector = array();
$vector[$row["id"]] = $row["name"];
echo $vector[$titi];
}
alli me imprime el nmobre de mi artista, por ejemplo el $titi es el numero de id y me imprime el artista correspondiente al ID, pero mas abajo fuera del codigo php pongo <title> echo $vector[$titi]; </title>
me imprime titulo array y no el id del artista, pongo $titulo = " $vector[$titi]"; y tampoco me imprime, he tratado de meter el html y sin ningun error pero tampoco imprime ? enteinden mi idea ? por favor una ayuda ?
#2
Escrito 10 octubre 2012 - 08:12
<title> <?php echo $vector[$titi]; ?> </title>
si no entendí bien tu problema... podrías mostrarnos un poco más de código para poder hacernos de una mayor idea?
#3
Escrito 10 octubre 2012 - 01:22
Te pongo mas detallado todo el asunto:
mi hoja php:
<?php #Conectamos con MySQL $conexion = mysql_connect("localhost","root","clave") or die ("error bd"); #Seleccionamos la base de datos a utilizar mysql_select_db("namebd") or die("error name bd"); #Efectuamos la consulta SQL $result = mysql_query ("select * from id_artistas" ) or die("Error en la consulta SQL"); #Mostramos los resultados obtenidos $titi="1"; while( $row = mysql_fetch_array ( $result )) { $vector = array(); $vector[$row["id"]] = $row["name"]; } ?> <title><?php echo $vector[$titi]; ?></title>
Al hacerlo asi como me dijiste igual, he intentado meter el title dentro del while sin errores y tampoco imprime, me imprime en la hoja html y no en el titulo..
tal vez usando otro metodo creo, estaba probando el switch case pero me dijo el señor cesar que mejor arreglo, y no logro acoplarlo.
Alguna idea ?
#4
Escrito 10 octubre 2012 - 02:12
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
si te fijas, titile va dentro de head, que a su vez va dentro de un html, si solo pones title sin las demas etiquetas, no le da el tratamiento adecuado el navegador
#5
Escrito 10 octubre 2012 - 03:32
#6
Escrito 10 octubre 2012 - 03:53
podrías ejecutar lo siguiente y decirnos que te aparece por favor?
<?php
#Conectamos con MySQL
$conexion = mysql_connect("localhost","root","clave")
or die ("error bd");
#Seleccionamos la base de datos a utilizar
mysql_select_db("namebd")
or die("error name bd");
#Efectuamos la consulta SQL
$result = mysql_query ("select * from id_artistas" )
or die("Error en la consulta SQL");
#Mostramos los resultados obtenidos
$titi="1";
while( $row = mysql_fetch_array ( $result )) {
$vector = array();
$vector[$row["id"]] = $row["name"];
}
print_r($vector);
?>
#7
Escrito 10 octubre 2012 - 06:00
Me imprime lo siguiente:
Array ( [1206] => Mandragora Scream )
tal como esta
Mandragora Scream <== es una banda, osea artista.
#8
Escrito 11 octubre 2012 - 08:19
<title><?php echo $vector[$titi]; ?></title>
estas solicitando el valor
<title><?php echo $vector[1]; ?></title>
lo cual es incorrecto?
Prueba lo siguiente:
[quote author=Goakof link=topic=8502.msg71429#msg71429 date=1349896957]
<?php #Conectamos con MySQL $conexion = mysql_connect("localhost","root","clave") or die ("error bd"); #Seleccionamos la base de datos a utilizar mysql_select_db("namebd") or die("error name bd"); #Efectuamos la consulta SQL $result = mysql_query ("select * from id_artistas" ) or die("Error en la consulta SQL"); #Mostramos los resultados obtenidos $titi="1"; while( $row = mysql_fetch_array ( $result )) { $vector = array(); $vector[$row["id"]] = $row["name"]; $titi = $row["id"]; } echo "<html><head><title>".$vector[$titi]."</title></head><body></body></html>"; ?>
#9
Escrito 11 octubre 2012 - 02:11
si le agrego break; solo imprime el primer id, , como escogo el valor ?
Disculpe las molestias... y gracias
#10
Escrito 11 octubre 2012 - 02:23
bueno.. el problema está en que la consulta te devuelve todos los registros.. entonces si solo quieres traer uno en específico deberás modificar la consulta para traerte uno en específico quedando así:
<?php #Conectamos con MySQL $conexion = mysql_connect("localhost","root","clave") or die ("error bd"); #Seleccionamos la base de datos a utilizar mysql_select_db("namebd") or die("error name bd"); #definimos el id a buscar $titi="1206"; #Efectuamos la consulta SQL $result = mysql_query ("select * from id_artistas where id = ".$titi ) or die("Error en la consulta SQL"); #Mostramos los resultados obtenidos $vector = array(); while( $row = mysql_fetch_array ( $result )) { $vector[$row["id"]] = $row["name"]; } echo "<html><head><title>".$vector[$titi]."</title></head><body></body></html>"; ?>
#11
Escrito 13 octubre 2012 - 05:45
:(
si pongo por ejemplo 1 2 o cualquier menos el ultimo id, 1206
no imprime
#12
Escrito 13 octubre 2012 - 08:23
#13
Escrito 14 octubre 2012 - 11:17
Saludos y gracias de nuevo
#14
Escrito 14 octubre 2012 - 06:07