私はPHPを約1週間しか使用していません(ASPを12年間使用していますが、私は決して専門家ではありません)。これについてはご容赦ください...クラシックASPWebサイトを次のように変換しようとしています。 PHP。これまでのところ、ほとんどの問題に対する答えを見つけることができましたが、私はこれに固執しています。
ASPで使用する.MoveNext関数と同等のPHPを探しています。
この例では、約450レコードのテーブルがあり、それらすべてを表示したいのですが、列ごとに100レコードだけにしたいのです。それは素晴らしいコードではないかもしれませんが、私にとってはうまくいきます。
set rsSpecial = Server.CreateObject("ADODB.recordset")
'Grab all the Supporters Names and Website URLs Order by Name
rsSpecial.Open "SELECT sName, sURL FROM gktwspcf ORDER BY sName ASC", conn
if not rsSpecial.EOF then
sSpecialFriends = sSpecialFriends & "<table width=" & Chr(34) & "98%" & Chr(34) & ">" & vbCrLf
Do
i=0
sSpecialFriends = sSpecialFriends & "<td valign=" & Chr(34) & "top" & Chr(34) & ">" & vbCrLf
sSpecialFriends = sSpecialFriends & "<p>" & vbCrLf
Do
if rsSpecial("sURL") <> "" Then
sSpecialFriends = sSpecialFriends & "<a href='"& Replace(rsSpecial("sURL"), "&", "&") & "' target=" & Chr(34) & "_blank" & Chr(34) & ">"
sSpecialFriends = sSpecialFriends & "" & Replace(rsSpecial("sName"), "&", "&") & ""
sSpecialFriends = sSpecialFriends & "</a>"
sSpecialFriends = sSpecialFriends & "<br>" & vbCrLF
'Otherwise just list their name
else
sSpecialFriends = sSpecialFriends & "" & Replace(rsSpecial("sName"), "&", "&") & ""
sSpecialFriends = sSpecialFriends & "<br>" & vbCrLF
end if
i=i+1
rsSpecial.MoveNext
Loop Until i=100 or rsSpecial.EOF
sSpecialFriends = sSpecialFriends & "</td>" & vbCrLf
Loop Until rsSpecial.EOF
sSpecialFriends = sSpecialFriends & "</table>" & vbCrLf
end if
rsSpecial.Close
Set rsSpecial=Nothing
次のレコードに移動できるPHPでネストされたループを再作成する方法の良い例を見つけることができないようです。これは私がこれまでに持っているものです-そしてそれは各レコードを100回、100列幅で表示します。 MoveNextに相当するPHPを挿入する場所を見つける必要があると思います。
$result = mysql_query ("SELECT sName, sURL FROM gktw_spcFriends ORDER BY sName ASC", $con) or die(mysql_error());
$sSpecialFriends = "";
if (mysql_num_rows($result))
$row = mysql_fetch_array($result);
{
$sSpecialFriends = $sSpecialFriends."<table width=".Chr(34)."98%".Chr(34).">" ."\n";
do
{
$i=0;
$sSpecialFriends = $sSpecialFriends."<td valign=".Chr(34)."top".Chr(34).">" ."\n";
$sSpecialFriends = $sSpecialFriends."<p>" ."\n";
do
{
//Check for URL
if ($row['sURL'] != "")
{
$sSpecialFriends = $sSpecialFriends . "<a href='". str_replace("&", "&", $row['sURL']) . "' target=" . Chr(34) . "_blank" . Chr(34) . ">"."\n";
$sSpecialFriends = $sSpecialFriends . "" . str_replace("&", "&", $row['sName']) . "" ."\n";
$sSpecialFriends = $sSpecialFriends . "</a>" ."\n";
$sSpecialFriends = $sSpecialFriends . "<br>" ."\n";
}
//Otherwise just list their name
else
{
$sSpecialFriends = $sSpecialFriends . "" . str_replace("&", "&", $row['sName']) . "" ."\n";
$sSpecialFriends = $sSpecialFriends . "<br>" ."\n";
}
$i=$i+1;
}
while ($i<100);
$sSpecialFriends = $sSpecialFriends . "</td>" ."\n";
}
while($row = mysql_fetch_array($result));
$sSpecialFriends = $sSpecialFriends . "</table>" ."\n";
}
mysql_close($con);
したがって、誰かがASPのMoveNextに相当するPHPや、私が達成しようとしていることを達成するための最良の方法を手伝ってくれるなら。
助けてくれてありがとう。