Субд mysql рнр көмегімен мағлұматтар базаларымен жұмыс істеу


Кесте өрістерінің тізімін алу



жүктеу 87,41 Kb.
бет18/26
Дата20.01.2022
өлшемі87,41 Kb.
#33801
1   ...   14   15   16   17   18   19   20   21   ...   26
СУБД MySQL РНР көмегімен мағлұматтар базаларымен жұмыс істеу1

10. Кесте өрістерінің тізімін алу

Енді сіз мәселені нақты шеше бастауға болады. Кесте өрістерінің тізімін қалай алуға болады? Өте оңай. Бұл жағдайда PHP-дің жеке командасы бар - Mysql_list_fields.

10.1. Mysql_list_fields синтаксисі

mysql_list_fields ресурсы (


деректер базасының_атының,
кесте_аты
[, link_identifier ресурсы])

Бұл функция кесте өрістерінің тізімін кесте_атауы мәліметтер базасындағы мәліметтер_атауы бойынша қайтарады. Бізге мәліметтер базасын таңдаудың қажеті жоқ болып шықты, бірақ ол кейінірек ыңғайлы болады. Көріп отырғаныңыздай, бұл функцияның нәтижесі ресурстардың айнымалысы болып табылады. Яғни, бұл дәл біз алғымыз келген нәрсе емес. Бұл кестедегі өрістер туралы, оның атаулары, түрлері және жалаушалары туралы ақпарат алу үшін қолдануға болатын сілтеме.

Mysql_field_name функциясы сұраудан қайтарылған өрістің атын қайтарады. Mysql_field_len функциясы өрістің ұзындығын қайтарады. Mysql_field_type функциясы өрістің түрін, ал Mysql_field_flags функциясы өріс жалауларының кеңістікпен бөлінген тізімін береді. Өріс типтері int, real, string, blob және т.б. Жалаушалар_нөлдік, бастапқы_кілт, ерекше_кілт, блок, болуы мүмкін
авто_инкремент және т.б.

Осы командалардың барлығының синтаксисі бірдей:

жол Mysql_field_name (ресурс нәтижесі, бүтін өріс_offset)
жол Mysql_field_type (нәтиже ресурсы, integer field_offset)
жол Mysql_field_flags (нәтиже ресурсы, integer field_offset)
жол Mysql_field_len (нәтиже ресурсы, integer field_offset)

Мұнда нәтиже сұрау нәтижесінің идентификаторы болып табылады (мысалы, Mysql_list_fields немесе Mysql_query функциялары жіберген сұраныс (бұл туралы кейінірек)), ал field_offset - нәтижедегі өрістің реттік нөмірі.

Жалпы, Mysql_list_fields немесе Mysql_query типтерінің қай функциялары кесте, дәлірек айтсақ, оған нұсқау болып табылады. Осы кестеден белгілі бір мәндерді алу үшін осы кестені жол бойынша оқитын арнайы функцияларды қолдану қажет. Бұл функцияларға Mysql_field_name және т.б. Сұрау нәтижелері кестесіндегі барлық жолдар бойынша қайталау үшін, сіз осы кестедегі жолдар санын білуіңіз керек. Mysql_num_rows командасы (нәтиже ресурсы) нәтижелер жиынындағы жолдар санын қайтарады
нәтиже.

Енді жәдігерлер кестесінен өрістер тізімін алуға тырысайық (экспонаттар жинағы).

$ conn \u003d Mysql_connect (
«localhost», «nina», «123»)
немесе өлу ( «Орнату мүмкін емес
байланыс: «... Mysql_error ());
жаңғырық «Байланыс орнатылды»;
Mysql_select_db («кітап»);
$ list_f \u003d Mysql_list_fields (
«кітап», «артефакттар», $ conn);
$ n \u003d Mysql_num_fields ($ list_f);
үшін ($ i \u003d 0; $ i< $n ; $i ++){

$ flags_str \u003d Mysql_field_flags (


$ list_f, $ i);
жаңғырық »
Өрістің атауы: «. $ Name_f;
жаңғырық »
Өріс түрі: «. $ Type;
жаңғырық »
Өрістің ұзындығы: «. $ Len;
жаңғырық "
Өріс жалаулары: «.
$ flags_str. «

" ;
}
?>

Нәтижесінде сіз келесі нәрсені алуыңыз керек (егер кестеде тек екі өріс болса):

Өріс атауы: идентификатор
Өріс түрі: int
Өрістің ұзындығы: 11
Өріс жалаулары:
автоматты түрде_негізгі_жаңа_кілт
Өрістің атауы: тақырып
Өріс түрі: жол
Өрістің ұзындығы: 255
Өріс жалаулары:
Өрістер тізімін html түрінде көрсету

Енді біз алдыңғы мысалды сәл түзетеміз. Біз өріс туралы ақпаратты көрсетіп қана қоймай, оны html пішінді элементінде көрсетеміз. Сонымен, біз BLOB типінің элементтерін мәтіндік аймаққа аударамыз (біз мәтін мәтінімен құрылған сипаттама өрісі BLOB түріне ие болатынын ескеріңіз), біз мәтін енгізу жолдарында сандар мен жолдарды көрсетеміз  , және автоинкремент белгісі бар элемент мүлдем көрсетілмейді, өйткені оның мәні автоматты түрде орнатылады.

Мұның бәрі қарапайым түрде шешілуі мүмкін, тек жалаулар тізімінен auto_increment жалауын таңдауды қоспағанда. Мұны істеу үшін сізге жарылыс функциясын қолдану қажет.

Синтаксисті жару:

массив жарылуы (жолды бөлгіш, жол тізбегі [, int шегі])

Бұл функция жолдық жолды бөлгіштің көмегімен бөліктерге бөледі және алынған жолдардың жиымын қайтарады.

Біздің жағдайда бөлгіш ретінде «» кеңістікті, ал бөлудің бастапқы көзі ретінде өріс жалаушаларының жолын алуымыз керек.

Сонымен, Артефакттар кестесіне мәліметтерді енгізу формасын құрайық:

$ conn \u003d Mysql_connect («localhost», «nina», «123»);
// байланыс орнату
$ database \u003d «book»;
$ table_name \u003d «Артефактілер»;
Mysql_select_db ($ мәліметтер базасы); // үшін мәліметтер базасын таңдаңыз
// жұмыс

// нәтижедегі жолдар саны


// алдыңғы сұраныс (яғни қанша
// Артефакттар кестесіндегі өрістер)
жаңғырық "

Начало формы

" ;
// мәліметтерді енгізу үшін форма жасаңыз


жаңғырық "



жүктеу 87,41 Kb.

Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   ...   26




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау