Как уже упоминали другие, это, вероятно, что-то с возвратом JavaScript. Поскольку я не могу сказать что-то не так с самим PHP-кодом, который мог бы вызвать проблему.
Однако у меня есть несколько советов, которые сделают ваш код немного проще для глаз.
Мое первое предложение, касающееся работы со строками, - никогда не заставлять себя убегать "или". Переключая стиль цитирования, вы можете существенно упростить чтение кода и намного легче находить проблемы, вызванные кавычками.
echo " <a href='my.php?action=show&id=".$fid."'
onclick=\"return display('".$fid."');\"/> ";
Это станет:
echo ' <a href="my.php?action=show&id='.$fid.'"
onclick="return display("'.$fid.'");"> '.$link_title.'</a>;
На самом деле, печатая это, я заметил, что вы не получаете гиперссылку, потому что вы не заполняете тег привязки. В частности, вы заканчиваете его раньше с помощью / В приведенном выше примере я добавил:
.$link_title.'</a>
Это должно решить проблему.
Второе предложение:
echo "" .$fname."</a> ";
Можно так же легко набрать как:
echo $fname.'</a> ';
Рекомендуется использовать «вместо» для строк, которые не требуют дополнительной работы со стороны сервера, а ведущий «» не требуется.
EDIT:
echo ' <a href="my.php?action=show&id='.$fid.'" onclick="return display("'.$fid.'");"> '.$fname.'</a>;
Это работает? Отображается ли ссылка?