开发者

Converting this code from ASP to PHP [closed]

开发者 https://www.devze.com 2022-12-25 02:19 出处:网络
This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time,or an extraordinarily narrow situation that is not generally applic
This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. Closed 12 years ago.

I'll admit I'm a novice programmer and really the only experience I have is in classic ASP. I'm looking for a way to convert this asp code to PHP. For a customer who only has access to a linux box but also as a learning tool for me.

Thanks in advance for the help:

Recordset and Function:

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

Display page/loop:

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开发者_StackOverflow社区 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


It would look something like this...

$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;
  }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消