Cómo convertir variable PHP dentro de tabla HTML en un enlace?

punteral Seguir

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Nov 2012
Mensajes
77
Hola. Estoy trabajando en un código en PHP para representar los datos de una tabla de MySQL en una web con HTML. Todo de forma local en mi ordenador si subir nada a ningún hosting web.

Realizo la consulta a la base de datos con PHP, almaceno en una variable el array resultante.

PHP:
$sql = "SELECT * FROM `FICHAS_JUGADORES` ORDER BY `PUNTOS` DESC";
$result = mysql_query($sql);

Después como resultado del código PHP hago que HTML lo interprete para crear los encabezados de las columnas de la tabla.

PHP:
echo "<table>"; //EMPIEZA A CREAR LA TABLA CON LOS ENCABEZADOS DE TABLA
			echo "<tr>";//<tr> CREA UNA NUEVA FILA
			echo "<td>POSICIÓN</td>";//<td> CREA NUEVA COLUMNA
			echo "<td>NOMBRE</td>";
			echo "<td>APELLIDOS</td>";
			echo "<td>PUNTOS</td>";
			echo "</tr>";

A continuación recorro el array para que me muestre los datos de cada fila de manera que HTML los interprete mostrándolos como parte de la tabla.

PHP:
$i=0;
while($row = mysql_fetch_array($result)) {

        $i++;
        echo "<tr>";
				echo "<td>".$i."</td>";
				echo "<td>".$row['Nombre']."</td>";
				echo "<td>".$row['Apellido_1']." ".$row['Apellido_2']."</td>";
				echo "<td>".$row['PUNTOS']."</td>";
		echo "</tr>";
}  
echo "</table>";//FINALIZA LA TABLA

Como resultado en pantalla consigo la siguiente tabla:

tabla php.png

Ahora me gustaría convertir el nombre de cada jugador en un enlace hacia otro archivo PHP de la misma carpeta donde ver los datos de ese jugador, pero no consigo hacerlo. He probado el siguiente código pero me da error:

Parse error: syntax error, unexpected 'ficha_jugador' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\Proyectos\rankingtenis\Jugadores_9.php on line 39

PHP:
echo "<td>"."<a href="ficha_jugador.php">".$row['Nombre']."</a>"."</td>";

Sé crear enlaces en HTML, pero al mezclarlo con PHP, tablas y con variables me pierdo. Si me podéis echar una mano os lo agradecería. Un saludo a todos. :encouragement:
 

chuyitox

Beta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Jun 2009
Mensajes
103
Cambia "ficha_jugador.php" por 'ficha_jugador.php' a ver si resulta


Enviado desde mi iPhone utilizando Tapatalk
 

juanom07

Gamma
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
23 Jun 2010
Mensajes
453
Ya probaste remplazando las comillas de: <a href="ficha_jugador.php"> por <a href='ficha_jugador.php'>?
 

punteral

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Nov 2012
Mensajes
77
Perfecto, muchas gracias a los dos. Por lo claro que lo habéis visto parece que era bastante evidente. Me apunto otro fallo de novato en mi lista, jje. Me queda el consuelo de que casi he conseguido hacerlo bien por mi cuenta. No me fiaba de mi mismo mezclando tantas cosas a la vez.
 

Programarte

Dseda
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
18 Nov 2014
Mensajes
1.091
Ponlo así:

echo '<td><a href="ficha_jugador.php">'.$row['Nombre'].'</a></td>';
 

Programarte

Dseda
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
18 Nov 2014
Mensajes
1.091
No necesitas separar los td y a como lo tienes, si requieres explicación sobre las comillas me mencionas para que posteriormente te deje las explicación porque estoy en el celular y de por si escribir el código está medio complicado aquí :)
 

punteral

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Nov 2012
Mensajes
77
Gracias [MENTION=121488]Programarte[/MENTION]. Ya funcionó cambiando las comillas dobles del enlace por comillas simples como me indicaron los otros compañeros.

Me apunto lo de que no haría falta separar los td y el "a" del enlace. No había caído en eso, me quedó así al ir poniendo cada elemento paso a paso para entenderlo mejor. La verdad que el tema de cuando se utilizan comillas dobles y cuando se utilizan simples todavía no lo tengo claro, sobre todo cuando se empiezan a mezclar en la misma línea.

Por cierto, tiene mérito haber sido capaz de escribir esa línea de código desde el teléfono, seguro que yo habría tardado en hacerlo como mínimo todo el día!! :witless:
 

Programarte

Dseda
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
18 Nov 2014
Mensajes
1.091
Gracias [MENTION=121488]Programarte[/MENTION]. Ya funcionó cambiando las comillas dobles del enlace por comillas simples como me indicaron los otros compañeros.

Me apunto lo de que no haría falta separar los td y el "a" del enlace. No había caído en eso, me quedó así al ir poniendo cada elemento paso a paso para entenderlo mejor. La verdad que el tema de cuando se utilizan comillas dobles y cuando se utilizan simples todavía no lo tengo claro, sobre todo cuando se empiezan a mezclar en la misma línea.

Por cierto, tiene mérito haber sido capaz de escribir esa línea de código desde el teléfono, seguro que yo habría tardado en hacerlo como mínimo todo el día!! :witless:

Te voy a explicar en tu ejemplo porque estabas mal y ojalá así comprendas un poco más como usar las comillas. Tú estabas usando comillas dobles para poner los textos entonces donde te marco en negrita te marcaba el error pues al poner la comilla doble para poner el nombre de la página el compilador la tomaba como que estabas cerrando un texto por lo que el siguiente caracter se esperaba que fuera un punto .

echo "<td>"."<a href="ficha_jugador.php">".$row['Nombre']."</a>"."</td>";

Por eso también al cambiar por comilla simple funciona porque al ponerla no lo toma como que se está cerrando el texto y te debió haber quedado así sin separar:

echo "<td><a href='ficha_jugador.php'>".$row['Nombre']."</a></td>";

Obviamente que nos exactamente el mismo resultado pues poniéndolo de una u otra manera entregan un resultado distinto siendo éste por ejemplo:

echo '<td><a href="ficha_jugador.php">'.$row['Nombre'].'</a></td>'; ----> <td><a href="ficha_jugador.php">Arturo</a></td>
echo "<td><a href='ficha_jugador.php'>".$row['Nombre']."</a></td>"; ----> <td><a href='ficha_jugador.php'>Arturo</a></td>

Si te fijas sólo existe la variación de las comillas pero funciona de las 2 maneras porque los navegadores le entienden de cualquiera de los dos modos que esté escrito.
 

punteral

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Nov 2012
Mensajes
77
Ok, [MENTION=121488]Programarte[/MENTION], muchas gracias. Veo donde estaba el error. Pensaba que el compilador tendría en cuenta la cantidad de comillas que hay y después ya actuaría, pero como tú bien has dicho parece que en cuanto detecta otras comillas las toma como cierre de comillas, sin importar lo que venga después.

Entonces entiendo que la utilización de comillas simples al escribir código es debida a este tipo de casos en los que hay que poner varias comillas seguidas en la misma instrucción.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba