Me alegro que hayas solucionado tu problema. Ahora, optimizemos tu codigo:
Código PHP:
<?php
$sql = mysql_query("SELECT * FROM comments");
$num = mysql_num_rows($sql);
$result = mysql_query('SELECT id FROM comments');
$id = $_GET['id'] - 1;
if($num < 1) {
echo "No hay comentarios. Sé el primero en escribir <a href=\"write_comment.php?id="; echo mysql_result($result, $id); echo "\">uno</a>.";
} else {
echo "Lee los <a href\"read_comments.php?id="; echo mysql_result($result, $id); echo " \">$num</a> comentarios";
}
?>
Puedes simplificar un poco el codigo, haciendo una sola consulta en vez de dos a la base de datos. La consulta en $sql (que supongo la usas para determinar el numero de registros) y la consulta en $result (de donde sacas la lista de id's) en el fondo pueden ser y son la misma cosa:
Código PHP:
/**
En vez de
$sql = mysql_query("SELECT * FROM comments");
$num = mysql_num_rows($sql);
$result = mysql_query('SELECT id FROM comments');
**/
$result = mysql_query('SELECT id FROM comments');
$num = mysql_num_rows($result);
/**
Te ahorraste no solo una linea de codigo, sino una consulta
innecesaria a la BD (save time!)
**/
Luego, en PHP puedes concatenar cadenas (usando el operador punto (.), al igual que en Javascript (con el sigo +) y en todos los demas lenguajes de programacion. Léete este articulo sobre
concatenación de cadenas con PHP. y aqui tienes
otro interesante articulo sobre concatenacion. Sigamos simplificando tu codigo:
Código PHP:
if($num < 1) {
/**
En vez de
echo "No hay comentarios. Sé el primero en escribir <a href=\"write_comment.php?id="; echo mysql_result($result, $id); echo "\">uno</a>.";
**/
echo "No hay comentarios. Sé el primero en escribir <a href=\"write_comment.php?id=" . mysql_result($result, $id) . "\">uno</a>.";
} else {
/**
En vez de
echo "Lee los <a href\"read_comments.php?id="; echo mysql_result($result, $id); echo " \">$num</a> comentarios";
**/
echo "Lee los <a href\"read_comments.php?id=" . mysql_result($result, $id) . " \">$num</a> comentarios";
}
Al final, despues de todo, tienes este codigo:
Código PHP:
$result = mysql_query('SELECT id FROM comments');
$num = mysql_num_rows($result);
if($num < 1) {
echo "No hay comentarios. Sé el primero en escribir <a href=\"write_comment.php?id=" . mysql_result($result, $id) . "\">uno</a>.";
} else {
echo "Lee los <a href\"read_comments.php?id=" . mysql_result($result, $id) . " \">$num</a> comentarios";
}
Un saludo,