2009-08-05 8 views
0

Im folgenden Code versuche ich eine 1-spaltige, 25-Zeilen-Tabelle zu drucken, wobei jede Zeile ein Hyperlink zu "booksearch.php? Find = urlencode (' TABELLE_NAME ') & searching = yes & search = search ".Hinzufügen eines Hyperlinks zu einer PHP-generierten Tabelle

Der Hyperlink-Teil funktioniert nicht. Für die folgende Zeile mit dem Hyperlink wird folgende Fehlermeldung angezeigt: "Parse error: Syntaxfehler, unerwarteter T_STRING, erwartet ',' oder ';'".

Irgendwelche Ideen, wie ich die Zeile unten mit dem Hyperlink ändern kann, damit es funktioniert?

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>"; 

Antwort

2

Versuchen Sie Folgendes:

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

Sie hatte urlencode() innerhalb der Zeichenfolge, die Apostrophe ('), die die Zeichenfolge geschlossen und Probleme verursacht. urlencode() ist eine Funktion und muss außerhalb der Zeichenfolge verwendet werden.

Sie haben auch die $row Variable Referenz in Ihrem urlencode() Anruf verloren.

1

Ihr Echo ist falsch:

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

Sollte sein:

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

, die den Trick tun sollten.

Verwandte Themen