私は 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 のチュートリアルを調べた後、これを尋ねます
ありがとう