Как рассортировать данные? HELP!!

Статус
В этой теме нельзя размещать новые ответы.

PloSkiY

Постоялец
Регистрация
13 Июл 2009
Сообщения
78
Реакции
2
Есть код который вынимает из базы "Jabber"-а данные о пользователе, так сказать карточку юзера.

Код:
<?php


        $connection = mysql_connect("localhost", "root", "12345") or die(mysql_error());
        mysql_select_db("jabber", $connection);
   mysql_query('SET NAMES cp1251'); (строчка должна стоять после строчки соединения с базой)
            $result = mysql_query("select * from ofvcard", $connection);
            $myrow = mysql_fetch_array($result);
            
do
{
                echo $myrow["vcard"];
}
while ($myrow = mysql_fetch_array($result));
?>

Тут написал показывать данные , просто что бы посмотреть как они выглядят на выходе.

Код вынимает из одной ячейки, в которой данные забиты, в таком виде.
Код:
<vCard xmlns="vcard-temp"><FN/><N><GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY><MIDDLE/></N><NICKNAME>IT-Юрьев</NICKNAME><URL/><BDAY/><AGE/><GENDER/><MARITALSTATUS/><LOCATION/><WORKCELL/><HOMECELL/><ORG><ORGNAME>Tiberium</ORGNAME><ORGUNIT>IT</ORGUNIT></ORG><TITLE/><ROLE>Инженер Системотехник</ROLE><TEL><HOME/><VOICE/><NUMBER/></TEL><TEL><HOME/><FAX/><NUMBER/></TEL><TEL><HOME/><MSG/><NUMBER/></TEL><ADR><HOME/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><TEL><WORK/><VOICE/><NUMBER/></TEL><TEL><WORK/><FAX/><NUMBER/></TEL><TEL><WORK/><MSG/><NUMBER/></TEL><ADR><WORK/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><EMAIL><INTERNET/><PREF/><USERID>rem@grim.com</USERID></EMAIL><EMAIL><INTERNET/><USERID/></EMAIL><DESC/><JABBERID/></vCard>

Как сделать что бы например взять эти данные и внести в таблицу
преобразовать из
Код:
<GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY> .....
в данные которые можно внести в таблицу
что бы на выходе получить
| Юрий | Юрьевич | Инженер Системотехник | ... и.т.д.

Я не знаю как правильно поступить, что бы правильно рассортировать данные
Движок сайта DLE 8.5, станичка идет как "Мод"


Сам я начинающий, но учусь.
Прошу подсказать, каким образом можно сделать эту операцию, т.к. более опытные могут с первого взгляда определить, как можно с проблемой разобраться.
Буду очень благодарен за любые подсказки!! :thenks::thenks::thenks:
 
Я не знаю как правильно поступить, что бы правильно рассортировать данные
Не совсем понятно, что тебе нужно. Ты хочешь вытащить из результата SQL-запроса поотдельности имя, фамилию, и пр., чтоб каждый пункт был в отдельной переменной?
 
Не совсем понятно, что тебе нужно. Ты хочешь вытащить из результата SQL-запроса поотдельности имя, фамилию, и пр., чтоб каждый пункт был в отдельной переменной?
Так точно =). Потом забить все в таблицу , по своему конфигурируя вывод данных.
 
  • Заблокирован
  • #4
Так точно =). Потом забить все в таблицу , по своему конфигурируя вывод данных.
Нужно из
HTML:
<vCard xmlns="vcard-temp"><FN/><N><GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY><MIDDLE/></N><NICKNAME>IT-Юрьев</NICKNAME><URL/><BDAY/><AGE/><GENDER/><MARITALSTATUS/><LOCATION/><WORKCELL/><HOMECELL/><ORG><ORGNAME>Tiberium</ORGNAME><ORGUNIT>IT</ORGUNIT></ORG><TITLE/><ROLE>Инженер Системотехник</ROLE><TEL><HOME/><VOICE/><NUMBER/></TEL><TEL><HOME/><FAX/><NUMBER/></TEL><TEL><HOME/><MSG/><NUMBER/></TEL><ADR><HOME/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><TEL><WORK/><VOICE/><NUMBER/></TEL><TEL><WORK/><FAX/><NUMBER/></TEL><TEL><WORK/><MSG/><NUMBER/></TEL><ADR><WORK/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><EMAIL><INTERNET/><PREF/><USERID>rem@grim.com</USERID></EMAIL><EMAIL><INTERNET/><USERID/></EMAIL><DESC/><JABBERID/></vCard>
выдрать данные?
 
Нужно из
HTML:
<vCard xmlns="vcard-temp"><FN/><N><GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY><MIDDLE/></N><NICKNAME>IT-Юрьев</NICKNAME><URL/><BDAY/><AGE/><GENDER/><MARITALSTATUS/><LOCATION/><WORKCELL/><HOMECELL/><ORG><ORGNAME>Tiberium</ORGNAME><ORGUNIT>IT</ORGUNIT></ORG><TITLE/><ROLE>Инженер Системотехник</ROLE><TEL><HOME/><VOICE/><NUMBER/></TEL><TEL><HOME/><FAX/><NUMBER/></TEL><TEL><HOME/><MSG/><NUMBER/></TEL><ADR><HOME/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><TEL><WORK/><VOICE/><NUMBER/></TEL><TEL><WORK/><FAX/><NUMBER/></TEL><TEL><WORK/><MSG/><NUMBER/></TEL><ADR><WORK/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><EMAIL><INTERNET/><PREF/><USERID>rem@grim.com</USERID></EMAIL><EMAIL><INTERNET/><USERID/></EMAIL><DESC/><JABBERID/></vCard>
выдрать данные?

да, если бы они по ячейкам разбивались было бы все просто, а так в одной ячейке все сразу ...
Как сделать что бы например взять эти данные и внести в таблицу
преобразовать из
Код:
<GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY> .....
в данные которые можно внести в таблицу
что бы на выходе получить
| Юрий | Юрьевич | Инженер Системотехник | ... и.т.д.
 
  • Заблокирован
  • #6
Регулярные выражения, DOM
Добавлено через 32 минуты
Не разбирался в полной реализации то, чего вам нужно, но если вы получили <vCard и т.д., то:
С помощью регулярок:
PHP:
<?php
$text='<vCard xmlns="vcard-temp"><FN/><N><GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY><MIDDLE/></N><NICKNAME>IT-Юрьев</NICKNAME><URL/><BDAY/><AGE/><GENDER/><MARITALSTATUS/><LOCATION/><WORKCELL/><HOMECELL/><ORG><ORGNAME>Tiberium</ORGNAME><ORGUNIT>IT</ORGUNIT></ORG><TITLE/><ROLE>Инженер Системотехник</ROLE><TEL><HOME/><VOICE/><NUMBER/></TEL><TEL><HOME/><FAX/><NUMBER/></TEL><TEL><HOME/><MSG/><NUMBER/></TEL><ADR><HOME/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><TEL><WORK/><VOICE/><NUMBER/></TEL><TEL><WORK/><FAX/><NUMBER/></TEL><TEL><WORK/><MSG/><NUMBER/></TEL><ADR><WORK/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><EMAIL><INTERNET/><PREF/><USERID>rem@grim.com</USERID></EMAIL><EMAIL><INTERNET/><USERID/></EMAIL><DESC/><JABBERID/></vCard>';
preg_match_all('/<GIVEN>(.*)<\/GIVEN>/', $text, $regs);
preg_match_all('/<FAMILY>(.*)<\/FAMILY>/', $text, $regs1);
preg_match_all('/<ROLE>(.*)<\/ROLE>/', $text, $regs2);
echo $regs[1][0].'|'.$regs1[1][0].'|'.$regs2[1][0].'|';
?>
 
Регулярные выражения, DOM
Добавлено через 32 минуты
Не разбирался в полной реализации то, чего вам нужно, но если вы получили <vCard и т.д., то:
С помощью регулярок:
PHP:
<?php
$text='<vCard xmlns="vcard-temp"><FN/><N><GIVEN>Юрий</GIVEN><FAMILY>Юрьевич</FAMILY><MIDDLE/></N><NICKNAME>IT-Юрьев</NICKNAME><URL/><BDAY/><AGE/><GENDER/><MARITALSTATUS/><LOCATION/><WORKCELL/><HOMECELL/><ORG><ORGNAME>Tiberium</ORGNAME><ORGUNIT>IT</ORGUNIT></ORG><TITLE/><ROLE>Инженер Системотехник</ROLE><TEL><HOME/><VOICE/><NUMBER/></TEL><TEL><HOME/><FAX/><NUMBER/></TEL><TEL><HOME/><MSG/><NUMBER/></TEL><ADR><HOME/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><TEL><WORK/><VOICE/><NUMBER/></TEL><TEL><WORK/><FAX/><NUMBER/></TEL><TEL><WORK/><MSG/><NUMBER/></TEL><ADR><WORK/><EXTADD/><STREET/><LOCALITY/><REGION/><PCODE/><COUNTRY/></ADR><EMAIL><INTERNET/><PREF/><USERID>rem@grim.com</USERID></EMAIL><EMAIL><INTERNET/><USERID/></EMAIL><DESC/><JABBERID/></vCard>';
preg_match_all('/<GIVEN>(.*)<\/GIVEN>/', $text, $regs);
preg_match_all('/<FAMILY>(.*)<\/FAMILY>/', $text, $regs1);
preg_match_all('/<ROLE>(.*)<\/ROLE>/', $text, $regs2);
echo $regs[1][0].'|'.$regs1[1][0].'|'.$regs2[1][0].'|';
?>



Огромнейшее спасибо за подсказку и за пример!!!
Буду читать , думать , составлять скрипт !!!!
Думаю то что нужно !!! :thenks::thenks::thenks:

З.Ы. Прошу прощения у админов за флуд !!!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху