将此代码从ASP转换为PHP
我承认我是一名新手程序员,而且我唯一的经验就是传统的ASP。我正在寻找一种方法将此asp代码转换为PHP。对于只能访问linux系统的客户,也可以作为学习工具。将此代码从ASP转换为PHP
在此先感谢您的帮助:
记录和功能:
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
这将是这个样子......
$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;
}
}
谢谢,这正是我正在寻找的。不幸的是,它给了我一个500内部服务器错误。 – jethomas 2010-03-29 22:11:28
我会猜测你没有MSSQL的PDO dirver(我认为它的实验)或者PDO。在你自己的年纪,因为我不使用MSSQl,不知道。这只是一个简单的例子,主要让你比较文本的循环和输出 - 你也需要研究特定的数据库方面。我会建议在PHP中发布一个关于MSSQL连接的新问题。然后从那里出发。 – prodigitalson 2010-03-30 01:50:41
谢谢!我会仔细看看的! – jethomas 2010-03-30 11:21:22
到目前为止,你有什么,和它怎么不工作? – 2010-03-28 15:43:53