Вот моя структура таблицы:
Table artwork
AID CID SCID Title Dimensions Medium ArtFilePath ArtDate DateAdded ThumbFilePath DisplayOrder Comments Details
Table categories
CID CategoryName
Table subcategories
SCID CID SubCategoryName SubHeaderText
Результат даст мне переменные getNext и getPrev, которые я могу использовать следующим образом:
<cfif prevDO gt 0 and getPrev.recordCount gt 0><a href="gallery_detail.cfm?AID=#getPrev.AID#">back</a></cfif>
<a href="gallery.cfm?CID=#getArt.CID#&SCID=#getArt.SCID#">#getArt.SubCategoryname#</a>
<cfif getNext.recordCount gt 0><a href="gallery_detail.cfm?AID=#getNext.AID#">next</a> </cfif>
У меня есть три запроса, которые выполняются здесьв ColdFusion.AID - это идентификатор искусства # CID - это идентификатор CategoryName #, т. Е. Масла, рисунки, компьютерное искусство и т. Д. SCID - это идентификатор SubCategoryName #, т. Е. Мужчины, женщины, дети и т. Д.
.и дать все AID в этой группе для просмотра.Другими словами, позвольте мне увидеть все масла в мужской группе.
<cfquery name="getArt" datasource="mssqlcf_PDartist1">
select * from Artwork a
join Categories b on (b.CID = a.CID)
join SubCategories c on (c.CID = b.CID and c.SCID = a.SCID)
<!---left join Categories on (Categories.CID = Artwork.CID)
left join SubCategories on (SubCategories.CID = Categories.CID)--->
where AID = #AID#
order by DisplayOrder
</cfquery>
<cfset nextDO = getArt.DisplayOrder + 1>
<cfset prevDO = getArt.DisplayOrder - 1>
<cfquery name="getNext" datasource="mssqlcf_PDartist1">
select AID from Artwork
where CID = #getArt.CID#
and SCID = #getArt.SCID#
and DisplayOrder = #nextDO#
</cfquery>
<cfquery name="getPrev" datasource="mssqlcf_PDartist1">
select AID from Artwork
where CID = #getArt.CID#
and SCID = #getArt.SCID#
and DisplayOrder = #prevDO#
</cfquery>
Я пытался сделать то же самое с PHP, начиная с:
<?php
$dbname = 'pdartist2';
$table = 'artwork';
$result = mysql_query("SELECT * from artwork
a join categories b on (b.CID = a.CID)
join subcategories c on (c.CID = b.CID and c.SCID = a.SCID)
where AID = $AID
order by DisplayOrder") or die(mysql_error());
while($row = mysql_fetch_array($result)){
$AID = $row['AID'];
$ArtFilePath = $row['ArtFilePath'];
$ThumbFilePath = $row['ThumbFilePath'];
$Title = $row['Title'];
$Dimensions = $row['Dimensions'];
$Medium = $row['Medium'];
$Comments = $row['Comments'];
$DisplayOrder = $row['DisplayOrder'];
$Details = $row['Details'];
}
mysql_free_result($getArt);
?>
<?php $nextDO = getArt.DisplayOrder +1; ?>
<!--getNext-->
<?php
$dbname = 'pdartist2';
$table = 'artwork';
$result = mysql_query("SELECT AID from artwork where CID = getArt.CID and SCID = getArt.SCID and DisplayOrder = $nextDO") or die(mysql_error());
mysql_query($query);
?>
Проблема, которую яу меня есть результаты второго запроса, потому что я не получаю результаты первого запроса в $ getart.
Вопрос в том, как выполнить запросы PHP с такими же результатами, как и у запросов ColdFusion?