我承认我是一名新手程序员,而且我唯一的体验就是经典的ASP。我正在寻找一种方法将这个asp代码转换为PHP。对于只能访问linux盒子但也可以作为学习工具的客户。
提前感谢您的帮助:
记录集和功能:
Function pd(n, totalDigits)
if totalDigits > len(n) then
pd = String(totalDigits-len(n),"0") & n
else
pd = n
end if
End Function
'declare the variables
Dim Connection
Dim Recordset
Dim SQL
Dim SQLDate
SQLDate = Year(Date)& "-" & pd(Month(Date()),2)& "-" & pd(Day(Date()),2)
'declare the SQL statement that will query the database
SQL = "SELECT * FROM tblXYZ WHERE element_8 = 2 AND element_9 > '" & SQLDate &"'"
'create an instance of the ADO connection and recordset objects
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
'open the connection to the database
Connection.Open "PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;UID=xxxxx;PWD=xxxxx;database=xxxxx;Option=3;"
'Open the recordset object executing the SQL statement and return records
Recordset.Open SQL,Connection
显示页面/循环:
Dim counter
counter = 0
While Not Recordset.EOF
counter = counter + 1
response.write("<div><td width='200' valign='top' align='center'><a href='" & Recordset("element_6") & "' style='text-decoration: none;'><div id='ad_header'>" & Recordset("element_3") & "</div><div id='store_name' valign='bottom'>" & Recordset("element_5") & "</div><img id='photo-small-img' src='http://xyz.com/files/" & Recordset("element_7") & "' /><br /><div id='ad_details'>"& Recordset("element_4") & "</div></a></td></div>")
Recordset.MoveNext
If counter = 3 Then
Response.Write("</tr><tr>")
counter = 0
End If
Wend
答案 0 :(得分:1)
看起来像这样......
$sqldate = strftime('Y-m-d',time()); // time defaults to now - change unix time to string
$sql = "SELECT * FROM tblXYZ WHERE element_8 = 2 AND element_9 '$date'";
$pdoCon = new PDO($connString, $username, $password);
$outputTpl = '<div><td width="200" valign="top" align="center"><a href="%s" style="text-decoration: none;"><div id="ad_header">%s</div><div id="store_name" valign="bottom">" %s</div><img id="photo-small-img" src="http://xyz.com/files/%s" /><br /><div id="ad_details">%s</div></a></td></div>';
$count = 0;
foreach($pdoCon->query($sql) as $row) {
$counter++;
echo sprintf(
$outputTpl,
$row['element_6'],
$row['element_3'],
$row['element_5'],
'http://xyz.com/files/' . $row['element_7'],
$row['element_4']
);
if($counter == 3) {
echo '<tr></tr>';
$counter = 0;
}
}