Некоторые основные вопросы по PHP

У меня просто были несколько основных вопросов php, чтобы углубить свое понимание по мере того, как я узнал, что я не мог найти простых ответов на

  1. У меня есть приложение php ajax, которое генерирует таблицу строк mysql. Я хотел бы знать, есть ли способ заставить php генерировать аккуратный html, поскольку он кажется достаточно аккуратным, когда я повторяю его, но при «просмотре исходного кода» html представляет собой огромный беспорядочный блок без разрывов строк или чего-то еще. Есть ли в этом трюк?

  2. Каков наилучший способ ограничить вывод таблицы для базы данных mysql, чтобы отображались только первые 10 записей или около того, и автоматически генерировались следующие и предыдущие ссылки для перехода между записями?

  3. При выводе информации с помощью php из базы данных mysql, как лучше всего обрабатывать логические значения? Как проще всего отобразить слова «да» или «нет», галочку или крестик? изменить: я не имею в виду, должен ли я использовать слова или изображения, а скорее как показать их в ответ на логическое

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
1 297
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

  1. Вы можете использовать Дополнение PHP Tidy. Имейте в виду, что фильтрация HTML с его помощью довольно сильно загружает серверный процессор. В качестве альтернативы вы должны сами распечатать разрывы строк (echo "\ n";) Однако я предлагаю вам оставить все как есть. Просто подумайте, сколько людей выиграют от чтения исходного кода, а сколько людей выиграют от меньшего размера файла, если вы не отформатируете HTML должным образом.

  2. Это нужно делать вручную. В сети есть несколько вспомогательных библиотек. Просто поищи в Гугле.

  3. Это вам решать и зависит от приложения. Помните о потребностях ваших пользователей.

  1. Существует очень хороший шаблонизатор PHP для HTML под названием Smarty.

  2. select * from table limit 10, 10; покажет результаты от 10 до 20

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

  1. Если вы хотите видеть вывод HTML в красивом формате, я бы рекомендовал использовать Firebug. Он помещает весь ваш HTML в сворачиваемый древовидный формат и даже позволяет вам просто щелкнуть элемент, чтобы показать вам, где он находится в источнике.
  2. Нет хорошего и простого способа сгенерировать разбивку на страницы (показывать только 10 результатов, а затем давать вам кнопки возврата / перехода на следующую страницу) результата поиска изначально. Я уверен, что некоторые фреймворки помогут вам в этом отношении, но самый простой способ - использовать ключевое слово LIMIT в вашем SQL. например: вы хотите увидеть страницу 3? SELECT * FROM mytable LIMIT 20,10
  3. Самый простой способ отобразить логические значения: var_dump($myBool), который будет отображать bool(true).
    . В качестве альтернативы вы можете сделать: echo $myBool ? "True" : "False"; - замените «Истина» и «Ложь» на то, что, по вашему мнению, легче всего читать. Если площадь экрана вызывает беспокойство, допустимый способ отображения логического значения - 1 или 0. echo $myBool ? 1 : 0;, или еще короче: echo (int)$myBool;
Ответ принят как подходящий

Вопрос 1

Вам нужно разделить код PHP и вывод HTML. Новичку проще всего:

  • Заполните переменную с именем $ tab своими записями.

  • Создайте файл с именем «my_tab_template.php», включая ваш xHTML-код, используя очень мало PHP для распаковки $ tab и только с Альтернативный синтаксис PHP.


<table>
   <?php foreach ($tab as $line) : ?>
      <tr>
         <?php foreach ($line as $cell) : ?>
           <td><?php echo $cell ?></td>
         <?php endforeach; ?>
      </tr>
    <?PHP endforeach; ?>
</table>


  • Включите my_tab_template.php сразу после заполнения вкладки $.

Не беспокойтесь об оптимизации и производительности, это определенно не будет узким местом вашего веб-сайта, когда вы начнете кодировать, и некоторые вещи вы сделаете гораздо более хлопотными ;-)

Затем в своем следующем проекте, когда вы будете чувствовать себя хорошо, попробуйте узнать о шаблоне MVC (небольшой поиск по SO может помочь). Не слушайте людей, говорящих о системах шаблонов и прочем. Не пытайтесь запустить двигатель объемом 150 куб. См до получения водительских прав.

вопрос 2

Это не вопрос PHP. Что вы хотите сделать, так это ограничить вывод из вашей базы данных. Вы можете сделать это с помощью ключевого слова SQL LIMIT.

Вы можете использовать :

  • LIMIT 10: это ограничит ваш запрос 10 первой строкой (= LIMIT 0,10)

  • LIMIT X, Y: это ограничит ваш запрос строками Y, начиная с строки X

Не забудьте отсортировать результат запроса с помощью «ORDER BY» перед использованием LIMIT, чтобы избежать неприятных сюрпризов.

А в PHP нет автоматической разбивки на страницы. Есть некоторые библиотеки PHP, которые делают грязную работу за вас, но перед тем, как вы их используете, я рекомендую сначала взломать ваше собственное решение, чтобы понять механизм. На самом деле речь идет только о проверке переменных и использовании "LIMIT".

Тогда вы можете взглянуть на PEAR, где существует стандартный способ сделать это. Но не пытайтесь найти его слишком сильно, лучше сначала запрограммируйте его самостоятельно.

Вопрос 3

Если в вашей базе данных хранится логическое значение, то она будет выводить «0» для ложного, и все остальное (скорее всего, «1») для истины. Просто проверьте это:

if ($my_bool) 
    echo "True";
else
   echo "False";

В PHP есть ярлык для этого, но вы не обязаны его использовать. В любом случае, хорошо знать, что он существует. Познакомьтесь с логическим оператором:

echo  $my_bool ? "True"  : "False" ;

Разве это не должно быть echo $ my_bool? «Верно»: «Ложь»;

Tom Haigh 01.12.2008 17:21

Ах, да ! Привычка программиста на Python :-) (тернарность заканчивается так: "True", если my_bool else "False") Я исправляю это, спасибо.

e-satis 01.12.2008 17:29

Просто коснусь первого пункта, поскольку похоже, что на два других уже дан хороший ответ:

Если он уже выглядит нормально в HTML, и вы просто беспокоитесь, что все это запуталось, когда вы просматриваете исходный код, просто добавляйте «\ n» в конец каждой строки при печати.

замените var $amir своей переменной

<table>
    <?php foreach ($amir as $yasir) : ?>
        <tr>
        <?php foreach ($yasir as $shah) : ?>
            <td>
                <?php echo $shah?>
            </td>
        <?php endforeach; ?>
        </tr>
    <?PHP endforeach; ?>
</table>

Другие вопросы по теме