将此代码从ASP转换为PHP

将此代码从ASP转换为PHP,php,asp-classic,Php,Asp Classic,我承认我是一个新手程序员,我唯一的经验就是使用经典的ASP。我正在寻找一种将此asp代码转换为PHP的方法。对于一个客户来说,他不仅可以访问linux设备,还可以作为我的学习工具 提前感谢您的帮助: 记录集和功能: 函数pd(n,总位数) 如果totalDigits>len(n),则 pd=字符串(总数字长度(n),“0”)&n 其他的 pd=n 如果结束 端函数 '声明变量 暗连接 暗淡记录集 dimsql Dim SQLDate SQLDate=Year(Date)&“-”和pd(Month

我承认我是一个新手程序员,我唯一的经验就是使用经典的ASP。我正在寻找一种将此asp代码转换为PHP的方法。对于一个客户来说,他不仅可以访问linux设备,还可以作为我的学习工具

提前感谢您的帮助:

记录集和功能:

函数pd(n,总位数)
如果totalDigits>len(n),则
pd=字符串(总数字长度(n),“0”)&n
其他的
pd=n
如果结束
端函数
'声明变量
暗连接
暗淡记录集
dimsql
Dim SQLDate
SQLDate=Year(Date)&“-”和pd(Month(Date()),2)&“-”和pd(Day(Date()),2)
'声明将查询数据库的SQL语句
SQL=“从tblXYZ中选择*,其中元素_8=2和元素_9>”&SQLDate&“
'创建ADO连接和记录集对象的实例
Set Connection=Server.CreateObject(“ADODB.Connection”)
Set Recordset=Server.CreateObject(“ADODB.Recordset”)
'打开与数据库的连接
Connection.Open“PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.1 DRIVER};SERVER=localhost;UID=xxxxx;PWD=xxxxx;database=xxxxx;Option=3;”
'打开执行SQL语句的记录集对象并返回记录
记录集。打开SQL,连接
显示页面/循环:

Dim计数器
计数器=0
而不是Recordset.EOF
计数器=计数器+1
回答。写(“”)
Recordset.MoveNext
如果计数器=3,则
回答。写(“”)
计数器=0
如果结束
温德

它看起来像这样

$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;
  }
}
$sqldate=strftime('Y-m-d',time());//时间默认为现在-将unix时间更改为字符串
$sql=“从tblXYZ中选择*,其中元素_8=2,元素_9'$date'”;
$pdoCon=新PDO($connString,$username,$password);
$outputTpl='';
$count=0;
foreach($pdoCon->query($sql)作为$row){
$counter++;
埃科斯普林特(
$outputTpl,
$row['element_6'],
$row['element_3'],
$row['element_5'],
'http://xyz.com/files/“.$row['element_7'],
$row['element_4']
);
如果($counter==3){
回声';
$counter=0;
}
}

到目前为止您有什么,它是如何工作的?谢谢,这正是我想要的。不幸的是,它给了我一个500的内部服务器错误。我猜你没有MSSQL的PDO驱动程序(我认为是实验性的),或者根本没有PDO。你自己在那里,因为我不使用MSSQl,也不知道。这只是一个一般的例子,主要是让你比较文本的循环和输出-你还需要研究特定的数据库方面。我建议发布一个关于PHP中MSSQL连接的新问题。然后从那里开始。