Foros del Web » Programando para Internet » PHP »

Crear enlace desde Dirección web que está en un campo de la BD

Estas en el tema de Crear enlace desde Dirección web que está en un campo de la BD en el foro de PHP en Foros del Web. Hola buenas. Hasta ahora los enlaces que he tenido que realizar eran siempre a hojas dentro de la página web y el código que estoy ...
  #1 (permalink)  
Antiguo 25/08/2009, 02:14
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Crear enlace desde Dirección web que está en un campo de la BD

Hola buenas.

Hasta ahora los enlaces que he tenido que realizar eran siempre a hojas dentro de la página web y el código que estoy utilizando es el siguiente.

Código PHP:
echo "<TD width=310 align=left><a href=consulta.php?id=".$row["web"].">".$row["web"]."</a></TD>"
Ahora tengo un campo en una tabla que el cliente va introduciendo direcciones web y lo que necesito es poder llamar a las direcciones de ese campo en vez de a una página en concreto.

Un Ejemplo

El campo se llama "web" y se ha introducido una dirección "www.forosdelweb.com"
Cuando realizo una consulta me saldría en el listado en pantalla el enlace y pinchando me gustaría que me redirija a esa página en una página nueva.

Muchas gracias una vez más
  #2 (permalink)  
Antiguo 25/08/2009, 02:27
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Buenas frmfernando. Si entiendo bien, lo que tienes que hacer es esto:

echo "<td width='310' align='left'><a href=".$row['web'].">".$row['web']."</a></td>";
__________________
Dando cabezados se aprende...
  #3 (permalink)  
Antiguo 25/08/2009, 02:48
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Hola Aliza buenos dias.

Muchas gracias por responder.

He puesto el código como me has comentado y funciona pero no como yo quería.

Me lee la información que tengo dentro del campo pero a la hora de redireccionar me intenta leer esa dirección web dentro del directorio donde tengo la página de consulta

Código PHP:
http://www.forosdelweb.com/consultas/consulta.php/www.paginaalaquequieroir.com 
Y claro como esa página no está dentro de mi dominio no se ve.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 25/08/2009, 03:12
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

He probado el código antes de mandártelo y funcionaba:
$row['web']=' http://www.forosdelweb.com/consultas...uequieroir.com ';
echo "<td width='310' align='left'><a href=".$row['web'].">".$row['web']."</a></td>";
Así me funciona.
Ahora bien; tu sacas el valor de $row[] desde una tabla, por lo que no asignamos así el valor.
Muestra tu código para ver como asignas los valores a los $row[], que alomejor el problema está ahí.
__________________
Dando cabezados se aprende...
  #5 (permalink)  
Antiguo 25/08/2009, 03:44
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Hola buenas no se si con este código es suficiente.

Código PHP:
$result mysql_query("SELECT *, date_format(fechaf,'%d/%m/%Y' ) as fechaf_es FROM salones ORDER BY fechaf DESC");
while (
$row mysql_fetch_object($result))
{


echo 
"<TR>";
echo 
"<table rules=rows $camcolor='$bgcolor' cellpadding='2' bordercolor='#c0c0d9' onmouseover=\"this.style.background='#cacaf3'\" onmouseout=\"this.style.background='$e6e2dd'\">";
//Función para poner la hora con formato 12:00
echo "<TD width=50 align=center>$row->fechai</TD>";
echo 
"<TD width=80 align=center>$row->fechaf_es</TD>";
echo 
"<TD width=100 align=left>$row->ciudad</TD>";
echo 
"<TD width=100 align=left>$row->pais</TD>";
echo 
"<TD width=200 align=left>$row->mpmbre</TD>";
echo 
"<TD width=240 align=left>$row->web</TD>";
echo 
"</TR>";
}
mysql_free_result($result);  

echo 
"</TABLE>";

mysql_close($link); 
Muchas gracias
  #6 (permalink)  
Antiguo 25/08/2009, 03:53
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Puede que te esté dando problemas el abrir un <tr> antes de abrir <table>. Pruebalo.

Te recomiendo usar comillas para los atributos (width='50' por ejemplo) y el uso de minúsculas para un código más legible para el resto de programadores.

Habría que ver también el tema de liberar la conexión y cerrarla, porque alomejor no debes cerrarla si tienes más codigo debajo y te da problemas.

Prueba primero con el <table><tr>... y luego me dices.

Un saludo.
__________________
Dando cabezados se aprende...
  #7 (permalink)  
Antiguo 25/08/2009, 04:05
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Hola no tengo más codigo debajo es el final de la página.

He realizado las modificaciones y el código me ha quedado así

Código PHP:
$result mysql_query("SELECT *, date_format(fechaf,'%d/%m/%Y' ) as fechaf_es FROM salones ORDER BY fechaf DESC");
while (
$row mysql_fetch_object($result))
{



echo 
"<table rules=rows $camcolor='$bgcolor' cellpadding='2' bordercolor='#c0c0d9' onmouseover=\"this.style.background='#cacaf3'\" onmouseout=\"this.style.background='$e6e2dd'\">";
echo 
"<tr>";
//Función para poner la hora con formato 12:00
echo "<td width='50' align='center'>$row->fechai</td";
echo 
"<td width='80' align='center'>$row->fechaf_es</td>";
echo 
"<td width='100' align='left'>$row->ciudad</td>";
echo 
"<td width='100' align='left'>$row->pais</td>";
echo 
"<td width='200' align='left'>$row->nombre</td>";
//echo "<TD width=240 align=left>$row->web</TD>";
echo "<td width=40 align='left'><a href=".$row['web'].">".$row['web']."</a></td>";
echo 
"</TR>";
}
mysql_free_result($result);  

echo 
"</table>";

mysql_close($link); 
Me muestra todos los campos menos el 2web" hay me da un error

Código PHP:
Fatal errorCannot use object of type stdClass as array in salones.php line 112 
Esa linea es
Código PHP:
echo "<td width=40 align='left'><a href=".$row['web'].">".$row['web']."</a></td>"
Muchas gracias de nuevo
  #8 (permalink)  
Antiguo 25/08/2009, 04:13
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Manda también la cadena de conexión a mysql y de selección de la base de datos y te hago un arreglo en el código a ver si te funciona. Te cuento después el problema que veo.
Un saludo.
__________________
Dando cabezados se aprende...
  #9 (permalink)  
Antiguo 25/08/2009, 04:29
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Hola aqui lo envio todo

Código PHP:
$linea1="SELECT *, YEAR(fechaf) as yearOnly FROM salones GROUP BY yearOnly";


$consulta=$linea1;


if ( ! 
$link=mysql_connect('localhost','user','1234.'))
{
echo 
"<a href=principal.htm>Error al conectar</a>";
exit ;
}
if ( ! 
mysql_select_db("base"))
{
    echo 
"<a href=principal.htm>Error al seleccionar BDD</a>";
    exit;
}
if ( ! 
$result=mysql_query($consulta,$link))
{
echo 
"<a href=principal.htm>Error en la consulta</a>";
exit;
}



echo 
"<TABLE BORDER=0>";

echo 
"<TR><table rows='1' rules=rows cellpadding='2' bordercolor='#c0c0d9'>
    <TD width=50 align=left class=cuadro><B><I>Desde</I></B></TD>    
    <TD width=80 align=left class=cuadro><B><I>Hasta</I></B></TD>
    <TD width=100 align=left class=cuadro><B><I>Ciudad</I></B></TD>
    <TD width=100 align=left class=cuadro><B><I>Pais</I></B></TD>
    <TD width=200 align=left class=cuadro><B><I>Nombre</I></B></TD>
    <TD width=240 align=left class=cuadro><B><I>Web</I></B></TD>
</TR>"
;

$result mysql_query("SELECT *, date_format(fechaf,'%d/%m/%Y' ) as fechaf_es FROM salones where fechaf >= (DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 0 DAY),'%Y-%m-%d')) order by fechaf asc");


while (
$row mysql_fetch_object($result))
{



echo 
"<table rules=rows $camcolor='$bgcolor' cellpadding='2' bordercolor='#c0c0d9' onmouseover=\"this.style.background='#cacaf3'\" onmouseout=\"this.style.background='$e6e2dd'\">";
echo 
"<tr>";
//Función para poner la hora con formato 12:00
echo "<td width='50' align='center'>$row->fechai</td";
echo 
"<td width='80' align='center'>$row->fechaf_es</td>";
echo 
"<td width='100' align='left'>$row->ciudad</td>";
echo 
"<td width='100' align='left'>$row->pais</td>";
echo 
"<td width='200' align='left'>$row->nombre</td>";
//echo "<TD width=240 align=left>$row->web</TD>";
echo "<td width=40 align='left'><a href=".$row['web'].">".$row['web']."</a></td>";
echo 
"</TR>";
}
mysql_free_result($result);  

echo 
"</table>";

mysql_close($link);
?></td>
  </tr>
</table>
</body>
</html> 
Muchas gracias
  #10 (permalink)  
Antiguo 25/08/2009, 04:52
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

<?php
//DEFINIMOS LAS VARIABLES DE CONEXIÓN
$db_host='localhost';
$db_user='user';
$db_pass='1234.';
$db_db='base';

//CONEXIÓN A MYSQL
$conexion=mysql_connect($db_host,$db_user,$db_pass );
//SELECCIÓN DE BASE DE DATOS
mysql_select_db($db_db);

//SENTENCIA SQL
$sql="SELECT *, YEAR(fechaf) AS yearOnly FROM salones GROUP BY yearOnly";

//EJECUTA CONSULTA O ERROR
$resultado=mysql_query($sql,$conexion);

//IMPRIMIMOS LA TABLA
echo "<table border='0'>";
echo "<tr><table rows='1' rules='rows' cellpadding='2' bordercolor='#c0c0d9'>\n";
echo "<td width='50' align='left' class='cuadro'><B><I>Desde</I></B></td>\n";
echo "<td width='80' align='left' class='cuadro'><B><I>Hasta</I></B></td>\n";
echo "<td width='100' align='left' class='cuadro'><B><I>Ciudad</I></B></td>\n";
echo "<td width='100' align='left' class='cuadro'><B><I>Pais</I></B></td>\n";
echo "<td width='200' align='left' class='cuadro'><B><I>Nombre</I></B></td>\n";
echo "<td width='240' align='left' class='cuadro'><B><I>Web</I></B></td>\n";
echo "</tr>\n";
//MIENTRAS LA CONSULTA ARROJE RESULTADOS SEGUIMOS IMPRIMIENDO
while ($row = mysql_fetch_array($resultado)) {
echo "<tr>\n";
echo "<td width='50' align='center'>".$row['fechai']."</td>";
echo "<td width='80' align='center'>".$row['fechaf_es']."</td>";
echo "<td width='100' align='left'>".$row['ciudad']."</td>";
echo "<td width='100' align='left'>".$row['pais']."</td>";
echo "<td width='200' align='left'>".$row['nombre']."</td>";
echo "<td width=40 align='left'><a href=".$row['web'].">".$row['web']."</a></td>";
echo "</tr>\n";
}
//LIBERAMOS LA CONEXIÓN
mysql_free_result($result);
echo "</table>";
//CERRAMOS LA CONEXIÓN A MYSQL
mysql_close($link);
?>

Prueba con esto. Seguramente tendrás que arreglar algo.
__________________
Dando cabezados se aprende...
  #11 (permalink)  
Antiguo 25/08/2009, 05:05
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Hola

Me salen estos errores

Código PHP:
Warningmysql_free_result(): supplied argument is not a valid MySQL result resource in C:AppServwwwNauticaaldats.comsalones.php on line 110


Warning
mysql_close(): supplied argument is not a valid MySQL-Link resource in C:AppServwwwNauticaaldats.comsalones.php on line 113 
Me muestra la información del resto de los campos y cuando llega al WEB es cuando da esos errores

Las Lineas 110 a 113 son las siguientes

Código PHP:
109 //LIBERAMOS LA CONEXIÓN
110 mysql_free_result($result);
111 echo "</table>";
112 //CERRAMOS LA CONEXIÓN A MYSQL
113 mysql_close($link);
114 ?> 
Gracias
  #12 (permalink)  
Antiguo 25/08/2009, 05:08
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

109 //LIBERAMOS LA CONEXIÓN
110 mysql_free_result($resultado);
111 echo "</table>";
112 //CERRAMOS LA CONEXIÓN A MYSQL
113 mysql_close($conexion);
114 ?>

Se me había pasado esto. Dime que te sale ahora.
__________________
Dando cabezados se aprende...
  #13 (permalink)  
Antiguo 25/08/2009, 05:25
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Ahora no de fallo me pasa lo que pasaba anteriormente

cuando pinchas en el enlace me dirige a una página del propio dominio

Código PHP:
http://www.midominio.com/www.paginadondetengoqueir.com 
cuando en realidad tendría que ir directamente a:

Código PHP:
www.paginadondetengoqueir.com 
En realidad lo que se trata es de ser un enlace externo no interno.

Muchas gracias de verdad.
  #14 (permalink)  
Antiguo 25/08/2009, 05:29
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Pues me dejas echo polvo jajajaja. Prueba a limpiar los coockies, temporales... me dices algo.
__________________
Dando cabezados se aprende...
  #15 (permalink)  
Antiguo 25/08/2009, 05:35
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Na de na.

el error que me da es de no encontrar la web

Código PHP:
The requested URL /miweb.com/www.webdedestino.com was not found on this server.
Apache/2.2.3 (Win32PHP/5.1.6 Server at localhost Port 80 
Seguire buscando para ver si encuentro algo

Muchas gracias por tu tiempo
  #16 (permalink)  
Antiguo 25/08/2009, 05:37
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Suerte!!!!!
__________________
Dando cabezados se aprende...
  #17 (permalink)  
Antiguo 25/08/2009, 05:39
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

algo he encontrado

Si en la base de datos pongo la web completa

Código PHP:
http://www.forosdelweb.com 
Si que me redirecciona

pero si en cambio solo pongo

Código PHP:
www.forosdelweb.com 
Hay es cuando da el fallo.

Con eso tengo suficiente.

Introducire en la base de datos el http por delante y ya está

Una última pregunta

como hago para que la web se me habra en una página nueva?

Gracias
  #18 (permalink)  
Antiguo 25/08/2009, 05:45
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Jajajajaj, me creía que habías metido la url completa por eso no te había preguntado como la introducías.
Para abrir en una página nueva <a href='direccion' target='_blank'>Enlace</a>.
__________________
Dando cabezados se aprende...
  #19 (permalink)  
Antiguo 25/08/2009, 05:49
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

Fallo mio por no explicarme bien.
jajajajjaja

Ya está funcionando.

El código ha quedado asi:
Código PHP:
echo "<td width='240' align='left'><a href=http://".$row['web']." target='_blank'>".$row['web']."</a></td>"
Muchisimas gracias.
  #20 (permalink)  
Antiguo 25/08/2009, 08:03
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Crear enlace desde Dirección web que está en un campo de la BD

De nada, hasta la próxima!
__________________
Dando cabezados se aprende...
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 05:11.