Ik loop tegen een taai probleem aan bij het maken van linkjes op basis van waarden in een MySQL-tabel.
Ik heb een User Defined Tag gemaakt die er als volgt uit ziet:
Code: Select all
//User Defined Tag: CountryCarrierList
require ('connection.php');
$linkcountry= mysql_connect($host,$user,$password, true)
or die ("couldn't connect to server");
$db = mysql_select_db($database,$linkcountry)
or die ("Couldn't select database");
$query = "SELECT * FROM tbl_carrier LEFT JOIN tbl_country
ON carr_country_iso3=coun_iso3
ORDER BY coun_printname, carr_name";
$result = mysql_query($query)
or die ("Couldn't execute query.");
while ($row = mysql_fetch_array($result))
{
echo "<ul>";
extract($row);
echo "
<li>
<a href='index.php?
page=factbook&
countrychoice=$carr_country_iso3&
carrierchoice=$carr_name'>
<strong>$coun_printname</strong>, $carr_name </a>
</li>";
echo "</ul>";
}
mysql_close($linkcountry);
Mijn probleem komt in de variabele $carr_name.
Een van de waarden bevat een naam met daarin een &-teken (dat zou bijvoorbeeld V&D kunnen zijn).
Hierdoor ziet de link er als volgt uit:
http://mijnwebsite.nl/index.php?page=fa ... choice=V&D
Dankzij het &-teken in de waarde V&D werkt de link niet.
Een oplossing zou het gebruik van een extra variabele in de tabel kunnen zijn.
Deze variabele zou dan elk record behalve de eigen naam (in dit voorbeeld V&D) ook een gecodeerde naam (in dit voorbeeld VenD) kunnen geven waarop geselecteerd kan worden.
Dit lijkt me erg omslachtig.
Is er een manier om te zorgen dat het &-teken wel gebruikt kan worden?
PS Ik heb ook al geprobeerd de waarde in te voeren als V&D, maar dat werkt ook niet.