2009-08-05 19 views
0

以下のコードでは、1行25行のテーブルを印刷しようとしています。各行は、 "booksearch.php?find = urlencode( ' TABLE_NAME ')& searching = yes & search = search "PHPで生成されたテーブルにハイパーリンクを追加する

ハイパーリンクの部分が機能していません。下のハイパーリンクの行については、次のエラーメッセージが表示されます。「解析エラー:構文エラー、予期しないT_STRING、 '、'または ';」が予想されます。

ハイパーリンクを使って下の行をどのように変更して動作させるかについてのアイデアはありますか?

echo "<table class=\"samples\">"; 
$index = mysql_query("select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='bookfeather' order by CREATE_TIME desc limit 25"); 
while ($row = mysql_fetch_array($index)) 
{ 
    echo "<tr><td>".'<a href="booksearch.php?find=urlencode('TABLE_NAME')&searching=yes&search=search">'.$row['TABLE_NAME'].'</a>'."</td></tr>"; 
} 
echo "</table>"; 

答えて

2

次のことを試してみてください。

echo '<tr><td><a href="booksearch.php?find='.urlencode($row['TABLE_NAME']).'&searching=yes&search=search">'.$row['TABLE_NAME'].'</a></td></tr>'; 

あなたの文字列を閉鎖し、問題の原因となった一重引用符(')文字列、内部のurlencode()を持っていました。 urlencode()は関数であり、文字列の外側で使用する必要があります。

urlencode()コールでも、$row変数の参照がありませんでした。

1

あなたのエコーが間違っている:

echo "<tr><td>".'<a href="booksearch.php?find=urlencode('TABLE_NAME')&searching=yes&search=search">'.$row['TABLE_NAME'].'</a>'."</td></tr>"; 

は次のようになります。トリックを行う必要があります

echo "<tr><td><a href=\"booksearch.php?find=" . urlencode($row['TABLE_NAME']) . "&searching=yes&search=search\">" . $row['TABLE_NAME'] . "</a></td></tr>"; 

関連する問題