不是100%我的问题实际应该是什么,如果我的经验不足说Super Noob,请不要苛刻我,但我有这个部分功能的类功能,我似乎无法拿出Noob的答案在我回来之后说虚拟它已经消失了,永远不会再被使用。这里说的是功能和与之反应的代码,我的问题是可以保留值并在返回后使用吗?而且无人问津可以有人帮助我开始工作它检索广告并显示它们,但我不会尝试记录这些印象。请忽略我的拼写错误,只是回想起来并且它并不完美。功能: function getRandomTextAds(){
$sql = "SELECT
ad_id,
ad_client_id,
ad_title,
ad_url,
ad_body,
ad_link
FROM
text_ads
WHERE
status=1
AND deleted=0
ORDER BY
rand()
LIMIT 0, 5";
$getBusyOn = $this->dbh->prepare($sql);
$getBusyOn->execute();
$OKresult = $getBusyOn->fetchAll(PDO::FETCH_ASSOC);
$resultIsarray = array();
return $OKresult;
$initialize = $this->dbh->prepare("SELECT * FROM text_ads_activity WHERE ad_id = ?AND ad_client_id = ?");
$initialize->bindValue(1, $ad_id);
$initialize->bindValue(2, $ad_client_id);
$initialize->execute();
if($initialize->fetchAll(PDO::FETCH_ASSOC) == 0) {
$sql = "INSERT INTO text_ads_activity (
ad_id,
ad_view_cnt,
ad_activity_month,
ad_activity_year
) values (
?,
1,
?,
?
)";
$isCommand = $this->dbh->prepare($sql);
$isCommand->bindValue(1, $ad_id);
$isCommand->bindValue(2, date("m"));
$isCommand->bindValue(3, date("Y"));
$isCommand->execute();
} else {
$sql = "UPDATE text_ads_activity SET
ad_view_cnt = ad_view_cnt+1,
ad_activity_month = ?,
ad_activity_year = ?
WHERE
ad_id = ?
AND ad_client_id = ?
AND ad_activity_month = ?
AND ad_activity_year = ?";
$doOrElse = $this->dbh->prepare($sql);
$doOrElse->bindValue(1, date("m"));
$doOrElse->bindValue(2, date("Y"));
$doOrElse->bindValue(3, $ad_id);
$doOrElse->bindValue(4, $ad_client_id);
$doOrElse->bindValue(5, date("m"));
$doOrElse->bindValue(6, date("Y"));
$doOrElse->execute();
}
}
现在是与
交互的代码部分$resultIsarray = $siteSys->getRandomTextAds();
$text_ad_count = count($resultIsarray);
foreach ($resultIsarray as $OKresult) {
$ad_link = isset($OKresult['ad_link']) ? $OKresult['ad_link'] : '';
$ad_title = isset($OKresult['ad_title']) ? $OKresult['ad_title'] : '';
$ad_body = isset($OKresult['ad_body']) ? $OKresult['ad_body'] : '';
$ad_url = isset($OKresult['ad_url']) ? $OKresult['ad_url'] : '';
$ad_client_id = isset($OKresult['ad_client_id']) ? $OKresult['ad_client_id'] : '';
$ad_id = isset($OKresult['ad_id']) ? $OKresult['ad_id'] : '';
<li align="center"><div id="text-ad-table">
<span class="heading"><a href="<?php echo $ad_link; ?>" target="_blank"><?php echo $ad_title; ?></a></span>
<span class="col1"><?php echo $ad_body; ?></span>
<span class="full-url"><?php echo $ad_url; ?></span>
</div></li><!-- eof #table -->
}
我希望我按要求做了,先谢谢你了......
答案 0 :(得分:0)
return不会影响值,而是代码。当你返回时,该函数中将不再执行任何行。返回并不只是将结果发回,它会随身携带并随之返回。
您可以在返回之前更新展示次数(减慢页面响应时间),也可以编写页面内容,刷新输出,并在响应发送后记录展示,或者您可以保存信息并让系统负责在后台记录印象,例如作业队列或专用线程等。