2009-08-05 7 views
0

Dans le code ci-dessous, j'essaie d'imprimer une table de 25 colonnes à 1 colonne, chaque ligne étant un hyperlien vers "booksearch.php? Find = urlencode (' TABLE_NAME ') & recherche = oui & search = recherche ".Ajout d'un lien hypertexte à une table générée par PHP

La partie de lien hypertexte ne fonctionne pas. Pour la ligne ci-dessous avec le lien hypertexte, j'obtiens ce message d'erreur: "Erreur d'analyse: erreur de syntaxe, inattendu T_STRING, attendez", "ou"; "".

Des idées sur la façon dont je peux changer la ligne ci-dessous avec le lien hypertexte afin de le faire fonctionner?

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

Répondre

2

Effectuez les opérations suivantes:

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

Vous avez eu urlencode() l'intérieur de la chaîne, qui guillemets simples (') qui a fermé votre chaîne et a causé des problèmes. urlencode() est une fonction qui doit être utilisée en dehors de la chaîne.

La référence de variable $row vous manquait également dans votre appel urlencode().

1

Votre écho est erroné:

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

devrait être:

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

Cela devrait faire l'affaire.

Questions connexes