Нужна идея (php вывод переменных)

220
19 декабря 2016, 19:31

Есть громоздкое body от table

print "
    <tr style='background-color:$color;'>
        <td id='table_style' align='center'>
            <a href='edit.php?id=".$row['number']."'>".$row['number']."</a>
        </td>
        <td id='table_style'>
            <a href='edit.php?id=".$row['number']."'>".$row['family']."</a>
        </td>
        <td id='table_style'>".$row['birthdate']."</td>
        <td id='table_style'>".$row['passport']."</td>
        <td id='table_style'>".$row['organization']."</td>
        <td id='table_style' align='center'>".$row['passport_date']."</td>
        <td id='table_style' align='center'>".$row['organization_code']."</td>
        <td id='table_style'>".$row['telephone']."</td>
        <td id='table_style'>".$row['user_files']."</td>
        <td id='table_style'>".$row['ip_address']."</td>
        <td id='table_style'>".$row['description']."</td>
    </tr>
";

Вывод происходит после

$result = mysql_query("SELECT * FROM $userstable WHERE `number` = $id_cart", $db) or die("you have trable");
while ($row = mysql_fetch_array($result))
{
// тут выводится это самое body от table.
}

Таблица выводится при многочисленных операциях и фильтрах. т.е. если нужно заменить\убрать какие-то столбцы, то приходится править тело таблицы в 10 разных местах в коде (где оно формируется). Пробовал написать функцию вывода, не осилил. Как можно оптимизировать данное примитивное решение?

Answer 1

реализовал так:

function print_table($row)
{
    if ($_SESSION['Access']=="admin")
    {
        $table_body= "<tr style='background-color:$color;'>
        <td id='table_style' align='center'><a href='edit.php?id=".$row['number']."'>".$row['number']."</a></td>
        <td id='table_style'><a href='edit.php?id=".$row['number']."'>".$row['family']." ".$row['name']." ".$row['patronymic']."</a></td>
        <td id='table_style'>".$row['birthdate']."</td>
        <td id='table_style'>".$row['passport']."</td>
        <td id='table_style'>".$row['organization']."</td>
        <td id='table_style' align='center'>".$row['passport_date']."</td>
        <td id='table_style' align='center'>".$row['organization_code']."</td>
        <td id='table_style'>".$row['telephone']."</td>
        <td id='table_style'>".$row['user_files']."</td>
        <td id='table_style'>".$row['ip_address']."</td>
        <td id='table_style'>".$row['description']."</td>
        </tr>";
    };
};
$result = mysql_query("SELECT * FROM $userstable WHERE `number` = $id_cart", $db) or die("you have trable");    
while ($row = mysql_fetch_array($result))
{
$table_body=print_table($row);
print $table_body[1];
}
Answer 2

оптимизировать можно разбив на ячейки: так как это одна строчка (table row) то лучше разбить на ***

или изначально генерировать форматированный код, который меньше придется редактировать мотом.

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

READ ALSO
Главная категория Opencart

Главная категория Opencart

Как определить главную категорию товара? Код ниже определяет (к примеру) телефоны -> смартфоны, а мне нужно что бы определяло телефоны -> смартфоны

275
Время жизни access token

Время жизни access token

На сайте реализую авторизацию через это https://vkcom/dev/auth_mobile, все успешно получилось,но access token живет всего 86400 секунд,можно ли как то увеличить...

233
Denwer в глобальной сети. Не работает mysql

Denwer в глобальной сети. Не работает mysql

Я работаю в среде DenwerОн выходит в интернет, и, по моему IP адресу, я могу зайти на свой сайт с любой точки мира

199
yii регистрация

yii регистрация

Есть ли механизм для подтверждения номера телефона при регистации путям смс с кодом,который потом нужно вести (для украинских операторов)?Спасибо

225