将此代码从ASP转换为PHP

时间:2010-03-28 15:35:34

标签: php asp-classic

我承认我是一名新手程序员,而且我唯一的体验就是经典的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

1 个答案:

答案 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;
  }
}