这可能是直截了当但我失去了
我有这段代码
$query = "
SELECT torrents.id,
torrents.anon,
torrents.announce,
torrents.parentcat,
torrents.category,
torrents.vip,
torrents.`4ever`,
torrents.leechers,
torrents.nfo,
torrents.seeders,
torrents.name,
torrents.times_completed,
torrents.`size`,
torrents.added,
torrents.comments,
torrents.numfiles,
torrents.filename,
torrents.owner,
torrents.safe,
torrents.external,
torrents.freeleech,
categories_parent.cat_parent_name,
categories_parent.image_parent,
categories.name AS cat_name,
categories.image AS cat_pic,
users.username,
users.privacy,
Round(torrents.ratingsum / torrents.numratings, 1) AS rating
FROM torrents
LEFT JOIN categories
ON category = categories.id
LEFT JOIN categories_parent
ON parentcat = categories_parent.cat_parent_id
LEFT JOIN users
ON torrents.owner = users.id
WHERE visible = 'yes'
AND safe = 'yes'
AND banned = 'no'
ORDER BY id DESC
LIMIT 5 ";
$res = SQL_Query_exec($query);
if (mysql_num_rows($res)) {
torrenttable1($res);
现在我的函数代码生成一个表,如果我想要一个函数的值,即行[id]在我的原始代码中使用我如何从我的函数发回它以及如何将它拿起以便我可以继续使用该值。
function torrenttable($res) {
global $site_config, $CURUSER, $THEME, $LANGUAGE; //Define globals
if ($site_config["MEMBERSONLY_WAIT"] && $site_config["MEMBERSONLY"] && in_array($CURUSER["class"], explode(",",$site_config["WAIT_CLASS"]))) {
$wait = $site_config["WAITA"];
}
// Columns
$cols = explode(",", $site_config["torrenttable_columns"]);
$cols = array_map("strtolower", $cols);
$cols = array_map("trim", $cols);
$colspan = count($cols);
// End
// Expanding Area
$expandrows = array();
if (!empty($site_config["torrenttable_expand"])) {
$expandrows = explode(",", $site_config["torrenttable_expand"]);
$expandrows = array_map("strtolower", $expandrows);
$expandrows = array_map("trim", $expandrows);
}
// End
while ($row = mysql_fetch_assoc($res)) {
$id = $row["id"];
print("<li><div id=row>");
$x = 1;
foreach ($cols as $col) {
switch ($col) {
case 'category':
print("<div id=left>");
if (!empty($row["cat_name"])) {
print("<a href=\"torrents-search.php?cat=" . $row["category"] . "\">");
if (!empty($row["cat_pic"]) && $row["cat_pic"] != "")
print("<img border=\"0\"src=\"" . $site_config['SITEURL'] . "/images/categories/" . $row["cat_pic"] . "\" alt=\"" . $row["cat_name"] . "\" />");
else
print("$row[cat_name]");
print("</a>");
} else
print("-");
print("</div>\n");
break;
//km added for parent picture
case 'parent':
print("<div id=left>");
if (!empty($row["cat_parent_name"])) {
//print("<a href=\"torrents-details.php?id=$id&hit=1\">");
print("<a href=\"torrents-search.php?cat1=" . $row["parentcat"] . "\">");
if (!empty($row["image_parent"]) && $row["image_parent"] != "")
print("<img border=\"0\"src=\"" . $site_config['SITEURL'] . "/images/categories/" . $row["image_parent"] . "\" alt=\"" . $row["cat_parent_name"] . "\" />");
else
print("$row[cat_parent_name]");
print("</a>");
} else
print("-");
print("</div>\n");
break;
//kn end for parent picture//
case 'name':
$char1 = 60; //cut name length
$smallname = htmlspecialchars(CutName($row["name"], $char1));
$dispname = "<b>".$smallname." </b>";
$time = date('jS M Y, g:ia', utc_to_tz_time($row['added']));
//balloon mod
$bimg = @mysql_fetch_array(@mysql_query("SELECT image1 FROM torrents WHERE id=$id"));
$balon =($bimg["image1"] ? "$site_config[SITEURL]/uploads/images/" . htmlspecialchars($bimg["image1"]) : "images/nocover.jpg");
print("<div id=left>".(count($expandrows)?"<a href=\"java script: klappe_torrent('t".$row['id']."')\"><img border=\"0\" src=\"".$site_config["SITEURL"]."/images/plus.gif\" id=\"pict".$row['id']."\" alt=\"Show/Hide\" class=\"showthecross\"></a>":"")." <a href=\"torrents-details.php?id=$id&hit=1\" onMouseover=\"ddrivetip('<img border=0 width=120 src=$balon>')\"; onMouseout=\"hideddrivetip()\">$dispname</a><br><font color=grey><small> Added: ".$time."</font></small></div>");
//end balloon mod
// print("<td class='ttable_col$x' nowrap='nowrap'>".(count($expandrows)?"<a href=\"javascript: klappe_torrent('t".$row['id']."')\"><img border=\"0\" src=\"".$site_config["SITEURL"]."/images/plus.gif\" id=\"pict".$row['id']."\" alt=\"Show/Hide\" class=\"showthecross\" /></a>":"")." <a title=\"".$row["name"]."\" href=\"torrents-details.php?id=$id&hit=1\">$dispname</a><br><font color=grey><small> Added: ".$time."</font></small> </td>");
//vip
break;
case 'vip':
$dispname1 ="";
if ($row["vip"] == "y") {
$dispname1 = $dispname1 . "<img src='images/vip/vipsmall.png' / border=0 title=\"Vip\" >";
}
//vip end
if ($row["4ever"] == "y") {
$dispname1 = $dispname1 . "<img src='images/vip/4evervipsmall.png' / border=0 title=\"Vip 4Ever\" >";
}
$last_access = $CURUSER["last_browse"];
$time_now = gmtime();
if ($last_access > $time_now || !is_numeric($last_access))
$last_access = $time_now;
if (sql_timestamp_to_unix_timestamp($row["added"]) >= $last_access)
$dispname .= "<b><font color='#ff0000'> - (".T_("NEW")."!)</font></b>";
if ($row["freeleech"] == 1)
$dispname1 .= " <img src='images/vip/freeleechsmall.png' border='0' title=\"Freeleech\" />";
print("<div id=left><center>$dispname1</center></div>");
break;
case 'uploader':
echo "<div id=left>";
if (($row["anon"] == "yes" || $row["privacy"] == "strong") && $CURUSER["edit_torrents"] != "yes")
echo "Anonymous";
elseif ($row["username"])
echo "<a href='account-details.php?id=$row[owner]'>$row[username]</a>";
else
echo "Unknown";
echo "</div>";
break;
case 'comments':
print("<div id=left><font size='1' face='verdana'><a href='comments.php?type=torrent&id=$id'>" . number_format($row["comments"]) . "</a></font></div>\n");
break;
case 'size':
print("<div id=left>".mksize($row["size"])."</div>\n");
break;
case 'seeders':
print("<div id=left><font color='green'><b>".number_format($row["seeders"])."</b></font></div>\n");
break;
case 'leechers':
$lots1 = $row['id'];
print("<div id=left><font color='#ff0000'><b>" . number_format($row["leechers"]) . "</b>$lots1</font></div>\n");
break;
case 'wait':
if ($wait){
$elapsed = floor((gmtime() - strtotime($row["added"])) / 3600);
if ($elapsed < $wait && $row["external"] != "yes") {
$color = dechex(floor(127*($wait - $elapsed)/48 + 128)*65536);
print("<div id=row><a href=\"faq.php#section46\"><font color=\"$color\">" . number_format($wait - $elapsed) . " h</font></a></div>\n");
} else
print("<td class='ttable_col$x' align='center'>--</td>\n");
}
break;
case 'rating':
if (!$row["rating"])
$rating = "<img src='images/rating/0.png' border=0>";
else
$rating = "<a title='$row[rating]/5'>".ratingpic($row["rating"])."</a>";
//$rating = ratingpic($row["rating"]);
//$srating .= "$rpic (" . $row["rating"] . " out of 5) " . $row["numratings"] . " users have rated this torrent";
print("<div id=left>$rating</div>");
break;
//km added book marks
case 'Bookmark':
if ($variant == "bookmarks")
echo "<div id=left><a href='bookmarktakedel.php?bookmarkid=$id' title='Delete'><img src='images/delchat.gif' border='0' width='10px' alt='delete' title='delete' /></a></div>";
break;
//end bookmarks
}
if ($x == 2)
$x--;
else
$x++;
}
//Wait Time Check
if ($wait && !in_array("wait", $cols)) {
$elapsed = floor((gmtime() - strtotime($row["added"])) / 3600);
if ($elapsed < $wait && $row["external"] != "yes") {
$color = dechex(floor(127*($wait - $elapsed)/48 + 128)*65536);
print("<div id=left><a href=\"faq.php\"><font color=\"$color\">" . number_format($wait - $elapsed) . " h</font></a></div>\n");
} else
print("<div id=left>--</div>\n");
$colspan++;
if ($x == 2)
$x--;
else
$x++;
}
//$lots = $row['id'];
print("</div></li>");
//Expanding area
if (count($expandrows)) {
print("<tr><td class='ttable_col$x' colspan='$colspan'><div id=\"kt".$row['id']."\" style=\"margin-left: 2px; display: none;\">");
print("<table width='100%' border='0' cellspacing='0' cellpadding='0'>");
foreach ($expandrows as $expandrow) {
switch ($expandrow) {
case 'size':
print("<tr><td><b>".T_("SIZE")."</b>: ".mksize($row['size'])."</td></tr>");
break;
case 'speed':
if ($row["external"] != "yes" && $row["leechers"] >= 1){
$speedQ = SQL_Query_exec("SELECT (SUM(downloaded)) / (UNIX_TIMESTAMP('".get_date_time()."') - UNIX_TIMESTAMP(started)) AS totalspeed FROM peers WHERE seeder = 'no' AND torrent = '$id' ORDER BY started ASC");
$a = mysql_fetch_assoc($speedQ);
$totalspeed = mksize($a["totalspeed"]) . "/s";
print("<tr><td><b>".T_("SPEED").":</b> $totalspeed</td></tr>");
}
break;
case 'added':
print("<tr><td><b>".T_("ADDED").":</b> ".date("d-m-Y \\a\\t H:i:s", utc_to_tz_time($row['added']))."</td></tr>");
break;
case 'tracker':
if ($row["external"] == "yes")
print("<tr><td><b>".T_("TRACKER").":</b> ".htmlspecialchars($row["announce"])."</td></tr>");
break;
case 'completed':
print("<tr><td><b>".T_("COMPLETED")."</b>: ".number_format($row['times_completed'])."</td></tr>");
break;
}
}
print("</table></div></td></tr>\n");
}
//End Expanding Area
}
答案 0 :(得分:3)
function torrenttable1($res) {
//[Table stuff]
return $value;
}
电话会是:
$returnedVar = torrenttable1($res);
......有点难以理解这个问题。
答案 1 :(得分:2)
我不太明白你想做什么但是:
函数封装数据。即内部的内容不能也不应该被访问。它就像一个黑盒子,你把东西放进去,另一端,这个功能给你一些东西。
该功能总能通过return
给您回复。但这只能做一次!一旦函数返回某些内容,它就会停止执行。
当然,您可以返回一个数组。这样您就可以返回多个值。但是又一次:当你返回一些函数停止并且调用代码恢复时......
答案 2 :(得分:0)
function func1($a) {
return $a;
}
$a=5;
echo func1($a);
答案 3 :(得分:0)
return torrenttable1($res);
功能:
function torrenttable1($res)
{
.
return $xyz;
}
答案 4 :(得分:0)
为什么不将代码放在类中并为SQL返回的结果创建变量/数据数组?在这种情况下,您可以随时访问它们,并且可以在您的php文件中随处访问它们。