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

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

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

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

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

6 ответов

Решение

Вопрос 1

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

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

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

<Таблица>
   
      
         
             
         
      
    



  • Включают my_tab_template.php сразу после того, как вы заполнили $tab.

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

Затем, в вашем следующем проекте, когда вы будете чувствовать себя нормально, попытайтесь узнать о шаблоне 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" для false, что-нибудь еще (наиболее вероятно "1") для true. Просто проверьте это:

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

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

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

Заменить вар $amir с вашей переменной

<table>
    <?php foreach ($amir as $yasir) : ?>
        <tr>
        <?php foreach ($yasir as $shah) : ?>
            <td>
                <?php echo $shah?>
            </td>
        <?php endforeach; ?>
        </tr>
    <?PHP endforeach; ?>
</table>
  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"; - замените "True" и "False" на то, что, по вашему мнению, легче всего читать.
    Если экранное недвижимое имущество является проблемой, принятый способ показать bool - с 1 или 0.
    echo $myBool ? 1 : 0;или еще короче: echo (int)$myBool;
  1. Существует очень хороший движок шаблонов PHP HTML под названием Smarty.

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

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

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

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

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

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

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

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