PHP - Duda en PHP y Mysql

 
Vista:

Duda en PHP y Mysql

Publicado por Javier (6 intervenciones) el 02/04/2007 18:38:28
Estimados amigos,

Me gustaría saber como , desde un texto de la base de datos mysql, puedo estabeler enlaces a otras webs, documentos.....

Es decir, si tengo un texto en un campoque me proyecta en una pagina php, quiero que una palabra de ese texto me haga un link a otr página. ¿Como se hace?

Muchas gracias

Javier
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda en PHP y Mysql

Publicado por Carlos Guimaraenz (74 intervenciones) el 02/04/2007 19:23:12
No entendí muy bien, pero suponte que tienes un campo que es el título de ese otro sitio, y otro campo contiene la URL, harías algo como lo siguiente:

<?php
// haces la consulta, etc
while ($reg = mysql_fetch_array($resultado)) {
echo "<a href='$reg[url]'>$reg[titulo]</a><br>";
}
?>

Ésto te haría una lista con todos los enlaces devueltos por la consulta. Espero que sea lo que preguntas.
Un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda en PHP y Mysql

Publicado por Javier (6 intervenciones) el 03/04/2007 00:36:08
Gracias por tu inters.

Me refiero, por ejemplo a una pagina en la que se muestra una noticia en PHP:(Supuesto fictivio)

(Viene del campo "titular" de la base de datos): MAÑANA ES MARTES

(Viene del campo "texto" de la base de datos):

Mañana es Martes y empieza la semana santa. Estos son días dedicados a las procesiones y pasarlo bien..........

Imaginate que "semana santa" lo quiero enlazar con una pagina web. ¿Se puede hacer?. Es decir dentro de un texto total de un campo, no el campo entero sino una palabra la quiero enlazar con otra web.

Espero haberme explicado

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda en PHP y Mysql

Publicado por Carlos Guimaraenz (74 intervenciones) el 03/04/2007 01:58:20
Bueno, eso ya es más complicado, y dependerá de la manera en que guardes las noticias. Pero por supuesto que se puede hacer. Si es algo fijo, podrías incluir dentro del campo noticia marcadores para luego reemplazar, por ejemplo:

Tienes los campos titular, noticia y url.
En el campo noticia, pones, por ejemplo:
"Mañana es Martes y empieza la #semana santa#. Estos son días dedicados a las procesiones y pasarlo bien."
Al recuperar el dato desde la BD, reemplazas las marcas por las etiquetas <a href="$reg[url]"> y </a> respectivamente.

Es sólo una idea, quizá haya una manera más facil, pero puedes intentar con algo así.

Un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda en PHP y Mysql

Publicado por Javier (6 intervenciones) el 03/04/2007 17:35:42
Perdona mi ignorancia. Ando un poco espeso.

Escribo en la BBDD, en el campo noticia los marcadores. Y luego, me puedes decir el codigo para reemplazarlos.

¿Y si en vez de una palabra, tengo dos que quiero vincular?

Ya te digo que perdones mi ignorancia. Hay cosas que se me escapan de php.

Javier
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda en PHP y Mysql

Publicado por Carlos Guimaraenz (74 intervenciones) el 03/04/2007 21:55:34
Te recomiendo que utilices la función str_replace (que reemplaza una subcadena por otra), y te puede ser muy util la función explode (por ejemplo, si guardas las urls en la BD de la forma http://www.google.com.arºhttp://lawebdelprogramador.com), lo cual se guardaría en un array de urls.

En http://php.net busca las funciones y familiarízate con ellas, pero te pongo un ejemplo para aclararte un poco las cosas:

<?php
$urls = "http://www.google.com.arº";
$urls .= "http://cguimaraenz.com.arº";
$urls .= "http://www.lawebdelprogramador.com";
$noticia = "A través del buscador ºGoogleº, el señor ºCarlos Guimaraenzº encontró el foro de ºLWPº desde el cual contesta su duda.";
$arrayUrls = explode("º",$urls);
$cantUrls = count($arrayUrls);
$pos = 1;
for ($i = 0; $i < $cantUrls; $i++) {
$pos = strpos($noticia,"º",$pos);
$noticia = substr_replace($noticia,"<a href='$arrayUrls[$i]'>",$pos,1);
$pos = strpos($noticia,"º",$pos);
$noticia = substr_replace($noticia,"</a>",$pos,1);
}
echo $noticia;
?>

Lo que hace esto es recoger el campo con las url (separadas por el símbolo º), generar un string de urls, y luego agregar las etiquetas <a> (una de apertura con la url correspondiente y otro de cierre).

Por lo tanto, sólo necesitas un campo para el titular, otro para la noticia y otro para todas las urls, teniendo en cuenta que debes mantener el orden de las urls en concordancia con su orden de aparición en la noticia.

Espero que te sea de ayuda. Un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda en PHP y Mysql

Publicado por Javier (6 intervenciones) el 04/04/2007 00:24:49
Solucionado.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar