Foros del Web » Programando para Internet » PHP »

Enlazar un campo con otr campo de una base de datos.

Estas en el tema de Enlazar un campo con otr campo de una base de datos. en el foro de PHP en Foros del Web. Hola tengo en una base de datos varios campos, el caso es que necesito hacer un ranking y quisiera que en el resultado del ranking ...
  #1 (permalink)  
Antiguo 13/08/2009, 14:59
Usuario no validado
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 14 años, 8 meses
Puntos: 1
Enlazar un campo con otr campo de una base de datos.

Hola tengo en una base de datos varios campos, el caso es que necesito hacer un ranking y quisiera que en el resultado del ranking me vinculara la puntuacion que es un campo de la base de datos con un enlace introducido en otro campo de la base de datos.

Es decir que me muestre la puntuacion extraida de la base de datos, pero al pinchar en ella me lleve al enlace que se encuentra en otro campo de la base de datos.

Espero haberme explicaco correctamente.

Saludos.
  #2 (permalink)  
Antiguo 13/08/2009, 15:08
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Enlazar un campo con otr campo de una base de datos.

En principio no seria mas facil poner tu codigo o cuales son tus tablas para que se te pueda ayudar mejor?

Porque asi por asi no se puede ayudar mucho, saludos
  #3 (permalink)  
Antiguo 15/08/2009, 07:31
Usuario no validado
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Enlazar un campo con otr campo de una base de datos.

Veamos a ver si os doy todo el codigo para que entendais lo que necesito.

En primer lugar la base de datos, he tenido que cambiar la dato del campo url, para que el foro permita subir la tabla, pero vamos la base de datos va bien asi.

Código:
CREATE TABLE `prueba` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(100) NOT NULL,
  `puntos` varchar(50) NOT NULL,
  `pais` varchar(50) NOT NULL,
  `fabricante` varchar(50) NOT NULL,
  `marca` varchar(100) NOT NULL,
  `modelo` varchar(100) NOT NULL,
  `bus` varchar(50) NOT NULL,
  `cpu` varchar(50) NOT NULL,
  `mhz_gpu` varchar(50) NOT NULL,
  `mhz_ram` varchar(50) NOT NULL,
  `mhz_cpu` varchar(50) NOT NULL,
  `motherboard` varchar(100) NOT NULL,
  `extras` varchar(50) NOT NULL,
  `url` varchar(150) NOT NULL,
  PRIMARY KEY (`id`)
)  ;

-- 
-- Volcar la base de datos para la tabla `prueba`
-- 

INSERT DELAYED IGNORE INTO `prueba` (`id`, `nombre`, `puntos`, `pais`, `fabricante`, `marca`, `modelo`, `bus`, `cpu`, `mhz_gpu`, `mhz_ram`, `mhz_cpu`, `motherboard`, `extras`, `url`) VALUES 
(10, 'Arkon', '14000', 'Espa', 'NVIDIA', 'XFX', '260 Black Edition', 'Pci-E', 'Intel Q9550 Conroe 775', '690', '1400', '6000', 'Asus P5Q3 Deluxe', 'SLI', 'service.futuremark'),
(11, 'Arkon', '14000', 'Espa', 'NVIDIA', 'XFX', '260 Black Edition', 'Pci-E', 'Intel Q6600 Conroe 775', '610', '1300', '5000', 'Asus P9Q3 Deluxe', 'SLI', 'service.futuremark'),
(12, 'Arkon', '20000', 'Espa', 'NVIDIA', 'XFX', '260 Black Edition', 'Pci-E', 'Intel Q9200 Conroe 775', '700', '1200', '4000', 'Asus P8Q3 Deluxe', 'SLI', 'service.futuremark'),
(13, 'Arkon', '20000', 'Espa', 'NVIDIA', 'XFX', '260 Black Edition', 'Pci-E', 'Intel Q5500 Conroe 775', '750', '1500', '3000', 'Asus P7Q3 Deluxe', 'SLI', 'service.futuremark');
Y este es el index.php que quiero que al mostrarme los resultados me enlace la puntuacion con el campo guardado en url.

Tambien necesito enlazar el usuario con el enlace tipo: /members/usuario-numero_usuario.html, para que acceda al perfil del mismo.

Aqui esta el index:

Código PHP:
<html>
<head>
   <title>Ranking 3DMark 06</title>
</head>
<body>
<H1>Ranking 3DMark 06</H1>
<form name="ranking" action="procesar.php" method="POST">
<TABLE>
<TR>
   <TD>Nick:</TD>
   <TD><INPUT TYPE="text" NAME="nombre" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Puntuacion:</TD>
   <TD><INPUT TYPE="text" NAME="puntos" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Pais:</TD>
   <TD><INPUT TYPE="text" NAME="pais" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Fabricante:</TD>
   <TD><INPUT TYPE="text" NAME="fabricante" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Marca VGA:</TD>
   <TD><INPUT TYPE="text" NAME="marca" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Modelo:</TD>
   <TD><INPUT TYPE="text" NAME="modelo" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Bus:</TD>
   <TD><INPUT TYPE="text" NAME="bus" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Procesador:</TD>
   <TD><INPUT TYPE="text" NAME="cpu" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Mhz de la GPU:</TD>
   <TD><INPUT TYPE="text" NAME="mhz_gpu" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Mhz de la RAM:</TD>
   <TD><INPUT TYPE="text" NAME="mhz_ram" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Mhz del Procesador:</TD>
   <TD><INPUT TYPE="text" NAME="mhz_cpu" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Placa Base:</TD>
   <TD><INPUT TYPE="text" NAME="motherboard" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Extras:</TD>
   <TD><INPUT TYPE="text" NAME="extras" SIZE="50" MAXLENGTH="100"></TD>
</TR>
<TR>
   <TD>Link FutureMark:</TD>
   <TD><INPUT TYPE="text" NAME="url" SIZE="50" MAXLENGTH="100"></TD>
</TR>
</TABLE>
<INPUT TYPE="submit" NAME="accion" VALUE="Grabar">
</FORM>
<hr>
<?php
   
include("db_conecta.inc");
   
$link=Conectarse();
   
$result=mysql_query("select * from prueba",$link);

?>
   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR><TD>&nbsp;<B>Nombre</B></TD> <TD>&nbsp;<B>Puntos</B>&nbsp;</TD><TD>&nbsp;<B>Pais</B>&nbsp;</TD><TD>&nbsp;<B>Fabricante</B>&nbsp;</TD><TD>&nbsp;<B>Marca</B>&nbsp;</TD><TD>&nbsp;<B>Modelo</B>&nbsp;</TD><TD>&nbsp;<B>Bus</B>&nbsp;</TD><TD>&nbsp;<B>Procesador</B>&nbsp;</TD><TD>&nbsp;<B>Mhz de la GPU</B>&nbsp;</TD><TD>&nbsp;<B>Mhz de la RAM</B>&nbsp;</TD><TD>&nbsp;<B>Mhz del Procesador</B>&nbsp;</TD><TD>&nbsp;<B>Placa Base</B>&nbsp;</TD><TD>&nbsp;<B>Extras</B>&nbsp;</TD><TD>&nbsp;<B>Link de FutureMark</B>&nbsp;</TD></TR>
<?php      

   
while($row mysql_fetch_array($result)) {


     
printf("<tr><td>&nbsp;%s</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s&nbsp;</td></tr>"$row["nombre"], $row["puntos"], '<img src="/RANKING/banderas/'.$row['pais'].'.gif" border="0">'$row["fabricante"], $row["marca"], $row["modelo"], $row["bus"], $row["cpu"], $row["mhz_gpu"], $row["mhz_ram"], $row["mhz_cpu"], $row["motherboard"], $row["extras"], $row["url"]);
   }
   
mysql_free_result($result);
   
mysql_close($link);  
   

?>
</table>
</body>
</html>
Aqui esta el procesar.php al que llama el formulario.

Código PHP:
<?php
   
include("conexion.php");
   
$link=Conectarse();
   
   
mysql_query("insert into prueba (nombre,puntos,pais,fabricante,marca,modelo,bus,cpu,mhz_gpu,mhz_ram,mhz_cpu,motherboard,extras,url) values (' " $_POST['nombre'] . " ',' " $_POST['puntos'] . " ',' " $_POST['pais'] . " ',' " $_POST['fabricante'] . " ',' " $_POST['marca'] . " ',' " $_POST['modelo'] . " ',' " $_POST['bus'] . " ',' " $_POST['cpu'] . " ',' " $_POST['mhz_gpu'] . " ',' " $_POST['mhz_ram'] . " ',' " $_POST['mhz_cpu'] . " ',' " $_POST['motherboard'] . " ',' " $_POST['extras'] . " ',' " $_POST['url'] . " ')"); 
   
   
header("Location: index.php");
?>
Espero que me podais ayudar, ya que solo me falta esto para terminar mi proyecto, el resto me habeis ayudado enormemente a ir pasando poco a poco este autentico reto para mi.
  #4 (permalink)  
Antiguo 15/08/2009, 07:41
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Enlazar un campo con otr campo de una base de datos.

Mira este post, te hace falta un buen LEFT JOIN

http://www.forosdelweb.com/f21/busca...ft-join-94556/
  #5 (permalink)  
Antiguo 15/08/2009, 07:46
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: Enlazar un campo con otr campo de una base de datos.

Prueba:

<a href ="enlacequequierasponer.php"><?php $variable ?> </a>

Previamente has asignado a $variable el valor del campo correspondiente.
  #6 (permalink)  
Antiguo 15/08/2009, 08:06
Usuario no validado
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Enlazar un campo con otr campo de una base de datos.

El caso es que no es asi, o por lo menos yo no lo entiendo asi, veamos, si me vuelvo a explicar.

Tengo 2 datos en una tabla.

Quiero que al mostrar el Dato 1, este se enlace con el guardado en el Dato 2.

Siendo el Dato 1 una puntuacion 14.000 y el Dato 2 una url.

-

Tambien necesito otro tipo de enlace, necesito enlazar el usuario, dato guardado en la base de datos con el enlace tipo: /members/usuario-numero_usuario.html, para que acceda al perfil del mismo.

Siendo las partes del enlace 2 datos de la base de datos: usuario y numero_usuario.

Gracias por a vuestra ayuda.
  #7 (permalink)  
Antiguo 15/08/2009, 08:15
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: Enlazar un campo con otr campo de una base de datos.

Quizás no nos estamos entendiendo porque no le damos el mismo significado a la palabra enlazar. Yo lo había entendido como que querías que mostrara el dato 1 y que al pulsar en él te mostrara la página correspondiente. Precisa el significado que le estás dando a la palabra enlazar en tu duda.
  #8 (permalink)  
Antiguo 15/08/2009, 08:31
Usuario no validado
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Enlazar un campo con otr campo de una base de datos.

Si en ambos casos es asi, que muestre el dato 1 y al hacer click en él nos lleve al enlace guardado en el dato 2.

Eso en el primer caso y en el segundo es que muestre el dato1 y al hacer click en él, nos lleve a un enlace, pero que en éste integra tambien valores guardados en la base de datos, siendo estos, usuario y numero_usuario.

Muchas Gracias y perdonar si me cuesta explicarme con claridad.
  #9 (permalink)  
Antiguo 15/08/2009, 09:18
Usuario no validado
 
Fecha de Ingreso: agosto-2009
Mensajes: 53
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Enlazar un campo con otr campo de una base de datos.

Bueno ya he conseguido una de las cosas que necesitaba:

Código PHP:
'<a href ='.$row["url"].'>'.$row["puntos"].'</a>' 
Ahora me esta dando guerra el otro, que seria algo asi, pero no me saca bien la url:

Código PHP:
'<a href ="mi_dominio/members/'.$row["nombre"].'"-"'.$row["numero_usuario"].'.html>'.$row["nombre"].'"</a>' 
Entre nombre y numero de usuario tiene que llevar un guion -, pero no se como hacer que salga.


Ya esta solucionado, gracias a todos de todas formas por orientarme, sin vosotros no lo hubiese logrado.

Código PHP:
'<a href =mi_dominio/members/'.$row["nombre"].'-'.$row["numero_usuario"].'.html>'.$row["nombre"].'</a>' 

Última edición por gariko01; 15/08/2009 a las 09:27
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 14:37.