Как и на изображении выше, когда пользователь щелкает один из списка справа, он выделяет выбранный.
$result = mysqli_query($con, "SELECT * FROM contacts") or die(mysqli_error($con));
while($row = mysqli_fetch_array($result)){
$company = $row['eyo_company_name'];
$id = $row['con_id'];
$editLinks .= "\n\t<a href=\"edit.php?id=$id\">$company</a><br>";
}
Вот как я вывел список из базы данных. Могу ли я каким-либо образом добавить класс или добавить тег b только к выбранному?
1 ответ
Если я правильно понимаю, вы пытаетесь выделить одну из ссылок, выводимых PHP. Для этого вам нужно знать, какой из них выделить.
Если у вас есть переменная GET, установленная на текущий идентификатор контакта, вы можете сделать что-то вроде этого:
while($row = mysqli_fetch_array($result)){
$company = $row['eyo_company_name'];
$id = $row['con_id'];
//let's check if we've pre-selected a company
// and if so, is this the company we selected?
if (true === array_key_exists('CURRENT_COMPANY_ID', $_GET) && $id === $_GET['CURRENT_COMPANY_ID']) {
//we did select this company for this PHP request
// let's make the HTML output custom to highlight the selected company
$editLinks .= "\n\t<a href=\"edit.php?id=$id\"><strong>$company</strong></a><br>";
} else {
$editLinks .= "\n\t<a href=\"edit.php?id=$id\">$company</a><br>";
}
}
В этом примере предполагается, что ваш запрос к скрипту PHP, генерирующему ваш список ссылок, будет включать CURRENT_COMPANY_ID=<ID HERE>
в URL-адрес.
Например, если URL-адрес для запроса, который генерирует ваш список ссылок, выглядит так:
/getMySuperAwesomeList.php
Это должно было бы выглядеть так:
/getMySuperAwesomeList.php?CURRENT_COMPANY_ID=123
Где 123
соответствует con_id
записи, которую вы хотите выделить.
Я решил использовать array_key_exists()
, чтобы убедиться, что запрос действительно включает данные CURRENT_COMPANY_ID
в URL. Вот документация для этой функции: https://www.php.net/array_key_exists
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
mysqli
значительно менее подробен, что упрощает чтение и аудит кода, и его нелегко спутать с устаревшим интерфейсомmysql_query
, где отсутствие одногоi
может вызвать проблемы. Пример:$db = new mysqli(…)
и$db->prepare("…")
Процедурный интерфейс в значительной степени является артефактом эпохи PHP 4, когда был представленmysqli
API, и его не следует использовать в новом коде.