Foros del Web » Programando para Internet » PHP »

printf -> poner un enlace %s

Estas en el tema de printf -> poner un enlace %s en el foro de PHP en Foros del Web. Hola, No consigo poner un enlace a un dominio que muestro de la base de datos. El código está integrado en un archivo .tpl y ...
  #1 (permalink)  
Antiguo 19/03/2011, 10:22
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
printf -> poner un enlace %s

Hola,

No consigo poner un enlace a un dominio que muestro de la base de datos. El código está integrado en un archivo .tpl y en lugar de www.google.com quiero hacer que el enlace sea a %s que es un dominio en formato http://www.dominio.com. Podrían indicar cómo genero un enlace con esa variable en estas circunstancias? Gracias.

Código PHP:
<table>
<
tr><td>Dominio</td> </tr>
{
php}        
    while(
$row mysql_fetch_array($res)) {
        
        
printf("<tr><td><a href='http://www.google.com' target='a_blank'>%s</a>\n</td></tr>"$row["URL"]);

    }
    
mysql_free_result($res);
    {/
php}
</
table
  #2 (permalink)  
Antiguo 19/03/2011, 10:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: printf -> poner un enlace %s

Lo que hace printf es asignar el segundo campo a lo que le hayas pedido que muestre con el signo %s. Ejemplo
Código PHP:
Ver original
  1. <?php
  2. printf("<a href='http://www.google.com' target='a_blank'>%s</a>" . PHP_EOL, 'google');
Si no te está presentando nada, entonces quiere decir que no hay nada declarado en el segundo campo. Verifica que esté imprimiendo correctamente lo que tienes declarado en el segundo campo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/03/2011, 12:12
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: printf -> poner un enlace %s

Cita:
Iniciado por abimaelrc Ver Mensaje
Lo que hace printf es asignar el segundo campo a lo que le hayas pedido que muestre con el signo %s. Ejemplo
Código PHP:
Ver original
  1. <?php
  2. printf("<a href='http://www.google.com' target='a_blank'>%s</a>" . PHP_EOL, 'google');
Si no te está presentando nada, entonces quiere decir que no hay nada declarado en el segundo campo. Verifica que esté imprimiendo correctamente lo que tienes declarado en el segundo campo.
Hola, está imprimiendo correctamente los datos. Puedes ver el ejemplo aquí. Lo que no consigo es que la url del enlace sea la del dominio.
  #4 (permalink)  
Antiguo 19/03/2011, 13:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: printf -> poner un enlace %s

¿y se te ha ocurrido tal ves especificar la URL?
Código PHP:
printf("<a href='%s' target='a_blank'>%s</a>" PHP_EOL$el_enlace$el_texto); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/03/2011, 14:05
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: printf -> poner un enlace %s

Cita:
Iniciado por pateketrueke Ver Mensaje
¿y se te ha ocurrido tal ves especificar la URL?
Código PHP:
printf("<a href='%s' target='a_blank'>%s</a>" PHP_EOL$el_enlace$el_texto); 
Hola. Si, si, se me ha ocurrido. Lo he probado todo a href='%s', a href=\'%s', a href="%s", a href=\"%s". Cuando hago esto, deja de mostrar los resultados, los dominios.

La syntaxis que tengo es esta:
Código PHP:
printf("<tr ><td><a href='%s' target='a_blank'>%s</a>\n</td> </tr>"$row["URL"]); 

Última edición por maxtorplextor; 19/03/2011 a las 14:12
  #6 (permalink)  
Antiguo 19/03/2011, 14:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: printf -> poner un enlace %s

pues yo veo bien tu código, pero aún te falta el texto del enlace... ¿no?

por favor, te invito a leer el manual para que aprendas a usar bien dicha función:
http://php.net/printf
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 19/03/2011, 14:19
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: printf -> poner un enlace %s

Cita:
Iniciado por pateketrueke Ver Mensaje
pues yo veo bien tu código, pero aún te falta el texto del enlace... ¿no?

por favor, te invito a leer el manual para que aprendas a usar bien dicha función:
http://php.net/printf
Hola, el texto del enlace sale bien. Es la propia url del dominio. Está aquí.
  #8 (permalink)  
Antiguo 19/03/2011, 14:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: printf -> poner un enlace %s

Cita:
Iniciado por maxtorplextor Ver Mensaje
Hola, el texto del enlace sale bien. Es la propia url del dominio. Está aquí.
¿entonces ya no tienes problemas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 19/03/2011, 14:44
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: printf -> poner un enlace %s

Cita:
Iniciado por pateketrueke Ver Mensaje
¿entonces ya no tienes problemas?
Tengo el mismo problema. Los datos se muestran correctamente, pero no puedo insertar el enlace adecuadamente en a href=' '. Dentro de a href=' ' necesito poner el mismo texto que se muestra que en este caso es un dominio. Y no funciona a href=' %s' para generar los enlaces.
  #10 (permalink)  
Antiguo 19/03/2011, 15:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: printf -> poner un enlace %s

a ver, por favor muestra el código real que estes usando... porque la verdad le estas dando muchas vueltas al asunto, ni lees el manual para aprender a usar las funciones y ni haces caso de los ejemplos...

estoy 100% seguro que debe funcionar, pues la prueba es bien simple...
Código PHP:
printf('<a href="%s">%s</a>''http://mi-pagina.com''mi-pagina.com'); 
¿como lo estas haciendo tu?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 19/03/2011, 18:07
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: printf -> poner un enlace %s

Cita:
Iniciado por pateketrueke Ver Mensaje
a ver, por favor muestra el código real que estes usando... porque la verdad le estas dando muchas vueltas al asunto, ni lees el manual para aprender a usar las funciones y ni haces caso de los ejemplos...

estoy 100% seguro que debe funcionar, pues la prueba es bien simple...
Código PHP:
printf('<a href="%s">%s</a>''http://mi-pagina.com''mi-pagina.com'); 
¿como lo estas haciendo tu?
Hola,
En el manual no hay referencia a href="" dentro de printf. Los ejemplos no los entiendo mucho.

Este es el archivo, sidebar.tpl:
Código PHP:
{php}
    include(
"include/conect.php");
    
$link conectar();
    
$res mysql_query("SELECT URL FROM PLD_LINK WHERE STATUS=2 ORDER BY DATE_ADDED DESC LIMIT 10 ") or die (mysql_error());
{/
php}


<
div id="sidebar">
    {if 
$smarty.const.REQUIRE_REGISTERED_USER == || $smarty.const.REQUIRE_REGISTERED_USER_ARTICLE == 1}
    {/if}



<
div class="left-box">
<
table class="hovertable">
<
tr><td>&Uacute;ltimos enlaces a&ntilde;adidos</td> </tr>
{
php}        
    while(
$row mysql_fetch_array($res)) {
        
        
printf("<tr><td><a href='%s' target='a_blank'>%s</a>\n</td></tr>"$row["URL"]);
    }
    
mysql_free_result($res);
    {/
php}
</
table>
</
div>

</
div

Última edición por maxtorplextor; 19/03/2011 a las 18:14
  #12 (permalink)  
Antiguo 19/03/2011, 18:19
 
Fecha de Ingreso: marzo-2008
Ubicación: España
Mensajes: 243
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: printf -> poner un enlace %s

Vale, lo he solucionado! Muchas gracias por insistir pateketrueke.

Al final me ha quedado así:
Código PHP:
printf("<tr><td><a href='%s' target='a_blank'>%s</a>\n</td></tr>" PHP_EOL$row["URL"], $row["URL"]); 
No entendía muy bien el funcionamiento de la syntaxis.

Última edición por maxtorplextor; 05/04/2011 a las 16:59

Etiquetas: enlace, printf
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:40.