Так что это часть моего кода, которую я пытаюсь заставить работать:
while ($row = mysql_fetch_array($satt)){
echo "<li";
if($row["satake"] == $fns ) {
echo "class=\"selected\"";
}
echo "><a href=\"home.php?fn=".urlencode($row["satake"]).
"\">{$row["satake"]}</a></li>";
}
И в верхней части страницы я определил это:
<?php
if (isset($_GET['fn'])){
$fns = $_GET['fn'];
$ys = "";
} elseif (isset($_GET['yosef'])){
$ys = $_GET['yosef'];
$fns = "";
} else
{
$ys = "";
$fns = "";
}
?>
И это CSS
.selected { font-weight: bold; }
Это не дает мне никакой ошибки, и это работает гладко, но не работает.
Хотя это правда, что вы пропустили пробел, вы можете предпринять эти шаги в будущем, чтобы избежать этой путаницы:
PHP является шаблонный движок. Используйте его как таковой (поместите презентацию PHP ВНУТРИ HTML, а не наоборот).
Проверьте динамически генерируемое решение с помощью инспектора браузера (Chrome или Firefox).
Таким образом, ваш код становится намного более читабельным и легче обнаруживать ошибки, когда вы делаете:
while ($row = mysql_fetch_array($satt)){
// Some light logic
$satake = $row["satake"];
$liclass = $satake == $fns ? "selected" : "";
$cleansatake = urlencode($satake);
// The presentation
?>
<li class="<?= $liclass; ?>" >
<a href="home.php?fn=<?= $cleansatake; ?>" >
<?= $satake; ?>
</a>
</li>
<?php
} ?>
Других решений пока нет …