Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mostrar url de una bd como un link en mi pagina

Estas en el tema de mostrar url de una bd como un link en mi pagina en el foro de PHP en Foros del Web. Hola a todos !!!!. Primero agradecer todo el apoyo que dan todos los usuarios a la comunidad, siempre hay alguien dispuesto a ayudar en los ...
  #1 (permalink)  
Antiguo 01/04/2014, 09:25
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Pregunta mostrar url de una bd como un link en mi pagina

Hola a todos !!!!.
Primero agradecer todo el apoyo que dan todos los usuarios a la comunidad, siempre hay alguien dispuesto a ayudar en los problemas de los demñas :) .

Para empezar tengo una base de datos con varias tablas, ahora 2 tablas son como estás.

NOTA: La Clave primaria de la tabla es la que contiene los ** .
Las claves Foraneas marcadas como (foreign key).

Código:
cancion
--------------
idcancion **
titulo
iddirecto   (foreign Key)
--------------

y la 2 tabla es:

directo
--------------
iddirecto **
urldir
--------------
Bien en la tabla cancion tengo almacenada una canción asi.
idcancion = 1
titulo = ahi eh
iddirecto = 1

Y en la tabla directo tengo la url almacenada de la sgt forma:
iddirecto = 1
urldir = http://localhost/musica/pista1.mp3

Ahora tengo un formulario que pide el titulo de la canción y en otra página visualizo titulo y url de la canción.

Bien pues al visualizar la URL esta quiero visualizarla pero que se muestre como un LINK (que lo hago con <a> </a> ), pero me muestra duplicado el link.

mi php es este.

-----------recibe.php

Código PHP:
Ver original
  1. <html>
  2. <body>
  3.  
  4. <?php
  5.  
  6. $nombre = $_POST['nombre'] ;
  7. $conecta = mysql_connect('localhost', 'root', '');
  8. mysql_select_db('bdmusica',$conecta);
  9.  
  10. $lista= "select can.titulo, art.nombreart, art.descripcionart, alb.nombrealb, dir.urldir
  11.         from artista art, cancion can, album alb, directo dir
  12.         where can.titulo='$nombre'
  13.         and can.idartista = art.idartista
  14.         and alb.idalbum = can.idalbum
  15.         ";
  16.        
  17. $datos= mysql_query($lista,$conecta);
  18. $numfilas= mysql_num_rows($datos);
  19. ?>
  20.  
  21. <table align="center">
  22. <tr bgColor="silver">
  23. <td align="center">Canci&oacute;n</td>
  24. <td align="center">Artista</td>
  25. <td align="center">Descripci&oacute;n</td>
  26. <td align="center">Album</td>
  27. </tr>
  28. <?php
  29.  
  30. for($i=0;$i<=$numfilas;$i++)
  31. {
  32. $fila=mysql_fetch_assoc($datos);
  33. ?>
  34.  
  35. <tr>
  36. <td><?php echo $fila['titulo']?></td>
  37. <td><?php echo $fila['nombreart']?></td>
  38. <td><?php echo $fila['descripcionart']?></td>
  39. <td><?php echo $fila['nombrealb']?></td>
  40. <td><a href="<?php echo $fila['urldir']?>"> Click aqui</a></td>
  41. </tr>
  42.  
  43. <?php
  44. }
  45. ?>
  46. </table>
  47.    
  48. </body>
  49. </html>

Pero al visualizar el LINK, este se visualiza duplicado y un link hace referencia a:
1. http://localhost/musica/pista1.mp3
y el otro a:
2. http://localhost/musica/musica1/paginas/recibe.php

Es decir, el link se muestra,, pero 2 veces, uno es el correcto link hacia mi canción, pero el otro es uno a la misma página.

¿Cómo puedo mostrar el link guardado en mi base de datos .?

esto es para una web de música, que cuando pongas un titulo de una canción te salga el titulo y un link de la canción, lo pulses y se escuche la canción.

Saludos!!!.
No puse el otro fichero porque sería demasiado extenso todo esto. Espero me puedan ayudar gracias a todos los que aporten algo.

__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #2 (permalink)  
Antiguo 01/04/2014, 09:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: mostrar url de una bd como un link en mi pagina

Programación es OFF TOPIC en MySQL y/o Bases de Datos.

Movido a PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/04/2014, 09:31
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: mostrar url de una bd como un link en mi pagina

Ok perdona, si en PHP creo que estará mejor visto. :) , por cierto sabes algo de como mostrar un link por medio de php en mi base de datos. ?? .
Saludos!
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #4 (permalink)  
Antiguo 01/04/2014, 09:37
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: mostrar url de una bd como un link en mi pagina

Buenas,

Tu problema es un "típico" error de bucle...

Te explico:

Tu consulta arroja 1 línea
Recorres el bucle, pero muestras dos lineas... ¿pq?

El primer elemento de un array es el 0, asiq la linea 1 es 0...

Después tu variable $i pasa a ser 1, y como no hay una segunda linea deberia salir del bucle..
pero tienes una bonita condicion (<=) que no le deja salir, asiq vuelve a pintar en vacio...

Y ahí está tu problema! Haces mal el bucle. Si cambias la condición, lo solucionas ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 01/04/2014, 09:48
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: mostrar url de una bd como un link en mi pagina

Como dice eleazan tienes mal el bucle, ademas que no validas las entradas, intenta con esto
Código PHP:
Ver original
  1. <html>
  2. <body>
  3.  
  4. <?php
  5.  
  6. $nombre = $_POST['nombre'] ;
  7. $conecta = mysql_connect('localhost', 'root', '');
  8. mysql_select_db('bdmusica',$conecta);
  9.  
  10. $lista= "select can.titulo, art.nombreart, art.descripcionart, alb.nombrealb, dir.urldir
  11.        from artista art, cancion can, album alb, directo dir
  12.        where can.titulo='$nombre'
  13.        and can.idartista = art.idartista
  14.        and alb.idalbum = can.idalbum
  15.        ";
  16.        
  17. $datos= mysql_query($lista,$conecta);
  18. $numfilas= mysql_num_rows($datos);
  19. ?>
  20.  
  21. <table align="center">
  22. <tr bgColor="silver">
  23. <td align="center">Canci&oacute;n</td>
  24. <td align="center">Artista</td>
  25. <td align="center">Descripci&oacute;n</td>
  26. <td align="center">Album</td>
  27. </tr>
  28. <?php
  29.  
  30. if($numfilas >0){
  31. while($fila=mysql_fetch_assoc($datos)){
  32. ?>
  33.  
  34. <tr>
  35. <td><?php echo $fila['titulo']?></td>
  36. <td><?php echo $fila['nombreart']?></td>
  37. <td><?php echo $fila['descripcionart']?></td>
  38. <td><?php echo $fila['nombrealb']?></td>
  39. <td><a href="<?php echo $fila['urldir']?>"> Click aqui</a></td>
  40. </tr>
  41.  
  42. <?php
  43. }
  44. }
  45. ?>
  46. </table>
  47.    
  48. </body>
  49. </html>
Otro dato, es que ya no utilizes la extension mysql si no mysqli o PDO en caso d e que programes orientado a objetos
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #6 (permalink)  
Antiguo 01/04/2014, 10:15
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: mostrar url de una bd como un link en mi pagina

Muchisimas gracias por sus respuestas,, en verdad esta correcta la solución,
simplemente quitando el = del for () ha funcionado.

Muchas gracias de verdad a ambos, y lo que me dices de mysql y mysqli sii lo he leído y visto, solo que tengo la costumbre de ponerlas todas como mysql jejeje ya que en clases nos enseñaron así (poco de php la verdad).

Pero es que esta página la tengo en joomla incrustada como un wrapper que sirve para poner php en mi joomla de forma sencilla, y el otro día probe a poner funciones con mysqli en un servidor (hostinger) y me daba error y era por eso.

Lo agradezco mucho por sus ayudas!!!!. 2 puntos y solucionado el tema.
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1

Etiquetas: bd, link, mysql, select, sql, tabla, url, usuarios
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 08:13.