Некоторые основные вопросы PHP - PullRequest
0 голосов
/ 01 декабря 2008

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

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

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

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

Ответы [ 6 ]

3 голосов
/ 01 декабря 2008

Вопрос 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» для false, что-нибудь еще (наиболее вероятно, «1») для true. Просто проверьте это:

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

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

echo  $my_bool ? "True"  : "False" ;
1 голос
/ 07 мая 2015

замените переменную $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 голос
/ 01 декабря 2008
  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;
0 голосов
/ 01 декабря 2008

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

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

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...