Из того, что вы написали, я думаю, что вы делаете что-то вроде:
function holiday_hitlist($tablename, $hit_user){
/* connections etc
*/
while($row = mysql_fetch_array($result)) {
$title = $row['title'];
$url = $row['URL'];
$price = "$" . $row['price'];
$output = print "<li><a href=\"$url\" target=\"_blank\">$title</a>$price</li>";
}
print "</ol></div>";
return $output;
}
print holiday_hitlist("mytab","myuser");
или, может быть,
$somevar = holiday_hitlist("mytab","myuser");
print $somevar;
Это действительно проблема с тем фактом, что вы «печатаете» возвращаемое значение. В приведенном выше примере зачем возвращать что-нибудь? Вы могли бы либо;
а) настроить функцию как подпрограмму, которая просто что-то делает и ничего не возвращает. (т.е.: просто удалите return $ output и напечатайте в print holiday_hitlist () )
или
b) создайте функцию, которая возвращает нужные вам данные, и затем что-то с ними сделайте.
Примером б) является:
function holiday_hitlist($tablename, $hit_user){
/* connections etc
*/
while($row = mysql_fetch_array($result)) {
$title = $row['title'];
$url = $row['URL'];
$price = "$" . $row['price'];
$output .= "<li><a href=\"$url\" target=\"_blank\">$title</a>$price</li>";
}
return $output;
}
$somevar = holiday_hitlist("mytab","myuser");
print "<div class=\'hit_list\'>
<h3>My Holiday Hitlist</h3>
<p>Five things I want the most, based on my desirability ratings.<br/>You can't go wrong with this stuff!</p>
<ol>
$somevar
</ol></div>";
Приведенная выше функция помогает отделить представление (т. Е. HTML) от ваших данных. Хотя этот пример не идеален, вы сможете увидеть все ваши html в одном блоке и отладить их намного проще.