У меня есть форма, где пользователь будет набирать там ссылочный номер, чтобы проверить статус их в запросе:
Пример: пользователь перейдет на эту веб-страницу: http://www.cdreporting.co.uk/ajax/search2.html
Затем они вводят свою ссылку:1«или» 2 «,» 3 «и т. д … независимо от того, какое число они были выделены
который затем отображает краткую запись.
но я не могу отформатировать данные, которые отображаются. Я хочу, чтобы ссылочный номер был другого цвета, хочу создавать разрывы строк, подчеркивать адреса электронной почты. но я не уверен, как это сделать с моим текущим .php кодом
Как мне отредактировать каждое поле, например, электронную почту? так что я могу изменить шрифт и т.д ..? только с полем «Reference», указанным в коде php:
<?php
$q=$_GET["q"];
$xmlDoc = new DOMDocument();
$xmlDoc->load("cd_catalog.xml");
$x=$xmlDoc->getElementsByTagName('Reference');
for ($i=0; $i<=$x->length-1; $i++) {
//Process only element nodes
if ($x->item($i)->nodeType==1) {
if ($x->item($i)->childNodes->item(0)->nodeValue == $q) {
$y=($x->item($i)->parentNode);
}
}
}
$cd=($y->childNodes);
for ($i=0;$i<$cd->length;$i++) {
//Process only element nodes
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
echo($cd->item($i)->childNodes->item(0)->nodeValue);
echo("<br>");
}
}
?>
Поля из этого кода в настоящее время отображаются:
Репортер: Test1
СПРАВКА: 1
Представление: 2014-11-08T00: 00: 00
Статус: ожидание
Офицер: Имя1
Электронная почта: [email protected]
Телефон: 0113 1234
Также я не уверен, почему ССЫЛКА является ВЕРХНИЙ,
Я знаю, что мы имеем к вашему атрибуту, но я не уверен, как применить их к коду php, так как я не знаю, как ссылаться на каждое отдельное поле.
Большое спасибо, что нашли время, чтобы помочь.
У меня есть XML-файл: http://www.cdreporting.co.uk/ajax/cd_catalog.xml
на который ссылается php.
Когда кто-то вводит ссылочный номер, отображаются данные из XML. в XML есть поле электронной почты, которое я хотел бы отображать по-разному, т.е. изменение цвета шрифта. Как бы я сделал это в коде PHP, который я имею? Я знаю, что могу использовать CSS, но где в моем php-коде вы применили бы его к полю электронной почты?
в основном стилизация каждого поля из моего XML
Ух ты, Мэнс, еще раз спасибо … к сожалению, это очень смущает меня. оставив CSS Styling в стороне и вернувшись к моему php-коду.
возможно, чтобы php отображал каждое поле внутри php, например
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**REFERENCE**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**Reporter**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**Submission**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "**Email**") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");
Вышесказанное выглядит правильно? Могу ли я изменить каждое поле, чтобы изменить шрифт или добавить разрыв строки?
Вам понадобится немного CSS, похожего на это:
.reference {color: blue;}
Затем пересмотрите ваш PHP, чтобы проверить, что имя узла является «ССЫЛКА», и сгенерируйте необходимую разметку для вызова CSS:
//Process only element nodes
if ($cd->item($i)->nodeType==1) {
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
if ($cd->item($i)->nodeName == "REFERENCE") {
echo '<span class="reference">'.$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
} else {
echo($cd->item($i)->childNodes->item(0)->nodeValue);
}
echo("<br>");
Вы можете стилизовать другие поля (узлы) таким же образом, включая разрывы строк и другое форматирование. Посмотрите на PHP switch
оператор, если вы хотите стилизовать их много.
Поскольку «ССЫЛКА» является заглавной, ваша ссылка показывает, что именно в XML. Вы можете использовать другой if
заявление, чтобы выдать что-то вроде «ссылки», если необходимо, или исправить то, что хранится в XML.
Теперь, когда я немного подумал об этом, если вы называете ваши стили CSS такими же, как имена узлов XML, вы можете легко оформить каждый элемент. Вы делаете стили одинаковыми или разными в зависимости от того, как вы пишете свой CSS.
//Process only element nodes
if ($cd->item($i)->nodeType==1) {
$class = strtolower($cd->item($i)->nodeName);
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
echo "<span class=\"$class\">".$cd->item($i)->childNodes->item(0)->nodeValue. '</span>';
echo("<br>");
}
Это берет имя узла, заставляет его в нижнем регистре, используя strtolower
а затем присваивает его классу $. <span>
Затем элемент использует $ class в качестве имени класса. Все, что вы написали в CSS для этого имени класса, будет применено как стиль.
Вы можете применить ту же идею для стилизации имен имен, но вам понадобятся разные имена классов. Итак, что-то вроде: <span class=\"nn-$class\">"
будет применять класс nn-ссылку на имя узла для ссылки.
В некоторых случаях вы можете использовать <div>
скорее, чем <span>
для форматирования на уровне блоков. Вы должны будете решить и изменить свой код соответственно.
Замечания: Я не проверял код выше; Мне нужен XML, чтобы сделать это. Могут быть небольшие синтаксические ошибки, но идея верна.
Других решений пока нет …