我对 PHP 真的很陌生,但我一直在尽我所能学习,但我也知道我还有很多东西要学,所以放轻松。
我目前正在编写分类广告脚本,虽然代码已经过时了,但在我开始清理它之前情况要糟糕得多,现在我只是想让分类广告再次稳定,然后我打算回去更新使用更现代的语言 (PDO),但现在我不知道从哪里开始(并且不想像我在学习 HTML、CSS、PHP 和 JS 时那样阅读几个月却一无所获)
下面的代码最初显示了它从 (tt_%s) 获取数据的表中的 Title 列,但我已经修改了将数据插入 DB 的表单,所以现在不再有“Title”列并且在现在有一张桌子的年份和型号,另一张桌子的制造商,但这是我感到困惑并寻求帮助的地方。
目前这就是我正在看的;(下面的代码我会解释更多)
<?php
echo "<div class='mostPopular'>";
echo "Popular<br>Listings";
$node = new sqlNode();
$node->table = "types";
$node->select = "ID";
$node->orderby = "ORDER BY rand()";
if(($typeRS = $mysql->select($node)) === false )
die('Unable to Retrieve Ad Type');
$sql = array();
$typeID = 0;
while( $adType = mysql_fetch_assoc($typeRS) ){
$typeID = sprintf("`tt_%s`", abs(intval($adType['ID'])));
$sql[] = sprintf("SELECT %s.Year, %s.Hits, %s.CategoryID, %s.ID, CONCAT('','%s') AS TypeID FROM %s WHERE (`ExpireDate` > NOW()) ",
$typeID,
$typeID,
$typeID,
$typeID,
intval($adType['ID']),
$typeID);
}
$sqlStr = @implode("union ",$sql);
$sqlStr .= " ORDER BY Hits DESC LIMIT 5";
if(($adRS = $mysql->exSql($sqlStr)) === false)
die('Unable to Retrieve Most Popular Ads');
while( $ad = mysql_fetch_assoc($adRS) ){
echo "<p>";
echo "<a href='detail.php?fatherID=".$ad['CategoryID']."&TypeID=".$ad['TypeID']."&ListingID=".$ad['ID']."'>";
echo $ad['Title'];
echo "</a>";
echo "</p>";
}
echo "</div>";
?>
对于初学者,我不知道 CONCAT('','%s') 是什么,也不知道 $sqlStr = @implode("union ",$sql); 是所有关于。
除了这些问题,考虑到这段代码已经过时并且我应该切换到 PDO,我希望有人可以准确地告诉我如何使用 PDO 执行这些查询,然后我可以通过示例学习并将相同的过程应用于其他查询整个网站。
如果有人不介意与我交谈到我可以使用 PDO 执行相同结果的程度,我将不胜感激,并在我热切等待您的回复时提前感谢大家。
顺便说一句,在研究了过去几个月我能找到的所有 PHP 和 MySql 教程后,我问了这个问题
谢谢