Проблема макета с формой внутри таблицы - PullRequest
0 голосов
/ 22 апреля 2020

На сайте, который я создаю, у меня есть кнопка Закладка - по сути, (+) - так что мои пользователи могут отмечать баскетболистов, за которыми они хотят следить. Кнопка настроена как кнопка отправки формы, отправляющая пользователя на страницу обработки, которая вставляет / обновляет таблицу, отмечая, сделал ли пользователь закладку на игрока.

Код для формы установлен в качестве функции, чтобы я мог использовать его в разных местах сайта. Для моих функциональных целей это работает очень хорошо, за исключением одного местоположения.

У меня есть таблица из шести столбцов со строками имен. Сначала я поставил кнопку «Закладка» справа от имен игроков. Это было хорошо, но это слишком близко к названию. Имена связаны с профилем, так что это две ссылки рядом. Это также выглядело немного неряшливо, поэтому я хотел переместить его в крайнее левое положение, выделив ему свою колонку.

echo '<tr>'; echo '<td>'. bookmark($id) .'</td>';

Эта установка приводит к тому, что кнопки закладок помещаются в верхней части таблицы.
Кнопки отправки закладок отображаются над таблицей

Если я заменим bookmark($id) просто символом, таким как T, все Ts появятся в ячейке, в которой они должны быть. Если я просто вставлю URL IMG вместо bookmark($id), изображение кнопки отобразится в ячейке, как и должно быть. Это просто когда я помещаю bookmark($id) (форму), это делает это.

Вот закладка ($ id)

`

закладка функции ($ id) {global $ current_user;

$ user = $ current_user-> user_login; $ userID = $ current_user-> ID;

include ("/ путь к моему соединению . php");

$query = "SELECT b.id, bookmark,playerID,userID,p.id 
            FROM a_player_bookmark b
            LEFT JOIN a_players p
            ON '". $id ."' = playerID

            WHERE userID = '". $userID ."'&&'". $id ."' = playerID
            ORDER BY b.id desc
            LIMIT 1";


$results = mysqli_query($con,$query);
echo mysqli_error($con);
$row = mysqli_fetch_assoc($results);

if($row && $row['bookmark']) {  

//  if($row['bookmark'] == 0) {
        echo bookmark_minus($id);
    }       
    else {
        echo bookmark_add($id);
    }

}

`

Вот bookmark_add и bookmark_minus

`

функция bookmark_add ($ id) {

$output = '<span class="bookmark-plus">';
$output .= '<form name="bookmark_add" method="post" action="/utility/bookmark-process">';
$output .= '<input type="image" src="/images/site_graphics/bookmark-plus.png" alt="bookmark">';
$output .= '<input type="hidden" name="pid" value="'. $id .'">';
$output .= '<input type="hidden" name="bookmark" value="1">';
$output .= '</form>';
$output .= '</span>';

return $output; 

}

функция bookmark_minus ($ id) {

$output = '<span class="bookmark-plus">';
$output .= '<form name="bookmark_minus" method="post" action="/utility/bookmark-process">';
$output .= '<input type="image" src="/images/site_graphics/bookmark-minus.png" alt="bookmark">';
$output .= '<input type="hidden" name="pid" value="'. $id .'">';
$output .= '<input type="hidden" name="bookmark" value="0">';
$output .= '</form>';
$output .= '</span>';

return $output; 

}

`

...