MySQL php cədvəlinin nümunə çıxışı. MySQL-dən məlumatları necə çıxarmaq olar - qeyri-şamanlar üçün bələdçi

Ayrı-ayrı məqalələr yalnız MySQL deyil, verilənlər bazası ilə işləməyin digər əsaslarını təsvir edir.

PHP və digər detallar vasitəsilə MySQL cədvəlinin yaradılması

İndi hara və hara nə qoymaqla maraqlananlar üçün sizə daha ətraflı məlumat verəcəyəm.

Beləliklə, lazımsız fanatizm və ağıllı sözlər olmadan materialı başa düşməyi asanlaşdırmaq üçün sadə bir cədvəl yaradaq. Aşağıda phpmyadmin idarəetmə panelinin SQL sekmesinde asanlıqla icra oluna bilən skript var, sizə lazım olan tək şey mətni kopyalamaq və icra düyməsini sıxmaqdır:

CƏDVƏL YARADIN `əsas_adı`.`cədvəl_adı` (`id` INT NULL AUTO_INCREMENT ŞƏRH "Qeyd ID nömrəsi", `mətn_` VARCHAR(500) NULL ŞƏRH "Mətn sahəsi", PRIMARY AÇAR (`id`)) ENGINE=MYISAM CHARACTER utf8 COLLATE utf8_general_ci COMMENT="Eksperimental cədvəl";

İndi verilənlər bazamızda (DB) `table_name` adlı cədvəl var

Bir neçə vacib qeyd.

  • Sahələr üçün dərhal şərhləri doldurmağı vərdiş edin, bu sizə şərh vermək vərdişini inkişaf etdirməyə imkan verəcək və sonradan böyük və dinamik sahələri inkişaf etdirərkən heç bir problem olmayacaq, çünki 10 min sahəni əzbərlədiyinizə və nəyi xatırlayacağınıza şübhə edirəm. və niyə hər birinin sahə üçün olması lazımdır.
  • Bütün əvvəllər mövcud olan kodlaşdırmaları unudun və yalnız UTF-də işləyin. başqaları üçün aydındır, linkdəki məlumatları oxuyun.
  • Bütün sahələri yalnız kiçik hərflərlə və ya yalnız böyük hərflərlə yazın. Təəssüf ki, PHP iş məsələsində seçicidir və vəziyyət dəyişərsə, bir çox skript və sahələr sizin üçün göstərilməyə bilər və ya onlar düzgün göstərilməsə də, göstərilə bilər.

Tamamilə hazır HTML səhifə kodu belə görünəcək:

UTF-8 kodlaşdırması ilə bağlı problem

Statistikanın göstərdiyi kimi, bu, o qədər məşhur problemdir ki, onu ayrıca bir fəsildə qeyd etmək qərarına gəldim. Ancaq əslində heç bir problem yoxdur, verilənlər bazasına qoşulma prosedurundan dərhal sonra çıxış nəticələrinin kodlaşdırılmasını dəyişdirmək üçün cavabdeh olan aşağıda vurğulanan üç sətir əlavə edin, burada bir nümunə var:

// serverlə əlaqə yaratmaq (@ mümkün səhvləri aradan qaldırmaq) @mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); // istədiyiniz verilənlər bazasına keçid @mysql_select_db($sdd_db_name); // PHP skriptindən MySQL-ə məlumat göndərmək üçün istifadə edilən kodlaşdırmanın təyin edilməsi @mysql_query("set character_set_client="utf8""); // MySQL verilənlər bazasından verilənlərin PHP skriptinə çıxarıldığı kodlaşdırmanın təyin edilməsi @mysql_query("set character_set_results="utf8""); // serverə xidmət əmrlərinin göndəriləcəyi kodlaşdırmanın təyin edilməsi @mysql_query("set collation_connection="utf8_general_ci"");

Bir çox insan xəttdən istifadə edir:

Mysql_query("ADLAR utf8 təyin et");

Bu işləyir, lakin bu zəng MySQL-in gələcək versiyalarında silinəcək. Bu, MySQL veb-saytında qeyd olunub, ona görə də bu kodlaşdırma kommutasiya formasından istifadə etmək tövsiyə edilmir.

Əgər ağlınızı tamamilə itirmisinizsə və 90-cı illərdə proqramlaşdırmaya qayıtmaq qərarına gəlsəniz və ölü cp1251 kodlamasını idealınız hesab etsəniz, sadəcə UTF-ni cp1251 və cp1251_general_ci müvafiq dəyərlərlə əvəz edin.

Bu, xoşagəlməz haldır, amma bir həqiqətdir ki, proqramlaşdırma ilə məşğul olan insanlar, xüsusən də son vaxtlar problemlərin çoxunun təsvir olunduğu müşayiət olunan sənədləri necə oxumağı tamamilə unutmuşlar.

PHP vasitəsilə MySQL-də cədvəllərlə işləməyin əsas problemləri və fəndləri

Yeni başlayanların da tez-tez qarşılaşdıqları bəzi fəndlər bunlardır:

Niyə mysql əmrlərindən əvvəl @ işarəsi lazımdır?

Bu işarə mühərrikdəki səhvlər haqqında məlumatın çıxışını sıxışdırır. Məqalə yeni başlayanlar üçün olduğundan, düzgün birinə çatmağınız çox çəkməyəcək, buna görə də sizi lazımsız məlumat dənizi ilə doldurmamaq və heç bir şeydən yayınmamaq üçün bu işarəni qoyuram.

Daha çətin nə etmək olar?

Daha mürəkkəb olanlar üçün bu saytda bütöv bir şey var və əsas və ən ümumi olanlar da təsvir edilmişdir, bunlar təhsilin ilk ili üçün bütün ehtiyaclarınız üçün kifayət edəcəkdir.

Koddakı xətanı göstərdiyiniz üçün diego_lott26-a təşəkkür edirik.

Verilənlər bazasını açın. Cədvəl yaratmaq üçün onu ehtiva edən verilənlər bazanız olmalıdır. Yazaraq verilənlər bazasını aça bilərsiniz verilənlər bazasından istifadə edin MySQL komanda xəttində.

  • Verilənlər bazasının adını xatırlamırsınızsa, yazın MƏLUMAT BAZASINI GÖSTƏRİN MySQL serverindəki verilənlər bazalarını siyahıya almaq üçün.
  • Hələ verilənlər bazanız yoxdursa, yazaraq verilənlər bazasını yarada bilərsiniz MƏLUMAT BAZASI YARADIN. Verilənlər bazası adında boşluq ola bilməz.

Əsas məlumat növlərini öyrənin. Cədvəldəki hər bir qeyd xüsusi məlumat növü kimi saxlanılır. Bu, MySQL-ə onlarla müxtəlif yollarla qarşılıqlı əlaqə yaratmağa imkan verir. İstifadə edəcəyiniz məlumat növləri cədvəlinizin məqsədindən asılıdır. Aşağıdakılardan başqa bir çox növ var, lakin siz onlardan əsas, istifadə edilə bilən cədvəl yaratmaq üçün istifadə edə bilərsiniz:

Cədvəl yaradın. Komanda xəttindən cədvəl yaratmaq üçün bir komanda ilə bütün sahələri yaratmalısınız. Komandadan istifadə edərək cədvəllər yaradırsınız CƏDVƏL YARADIN sonra cədvəl haqqında məlumat verilir. Əsas işçi qeydini yaratmaq üçün aşağıdakı əmri daxil etməlisiniz:

CƏDVƏL işçiləri YARADIN (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT , soyad VARCHAR (20 ) , ad VARCHAR (20 ) , telefon VARCHAR (20 ) , doğum tarixi )

  • INT NOT NULL PRIMARY KEY AUTO_INCREMENT qeydə əlavə olunan hər bir işçi üçün rəqəmli ID yaradır. Bu rəqəm hər dəfə avtomatik olaraq artır. Bu, digər funksiyalardan istifadə edərək işçilərə asanlıqla istinad etməyə imkan verir.
  • VARCHAR daxil edilmiş məlumatlara əsasən ölçüsü azaltmağa icazə versə də, istifadəçinin çox uzun sətirlərə daxil olmasının qarşısını almaq üçün siz onun üçün maksimum təyin edə bilərsiniz. Yuxarıdakı nümunədə ad və soyad 20 simvolla məhdudlaşır.
  • Qeyd edək ki, telefon nömrəsi qeydi VARCHAR kimi saxlanılır, ona görə də simvollar da düzgün işlənir.
  • Cədvəlinizin düzgün yaradıldığını yoxlayın. Cədvəl yaratdıqdan sonra onun uğurla yaradıldığı barədə mesaj alacaqsınız. İndi əmrdən istifadə edə bilərsiniz TƏSVİR ETMƏK istədiyiniz bütün sahələri daxil etdiyinizə və onların düzgün məlumat növlərinə malik olduğuna əmin olmaq üçün. yığın verilənlər bazasını təsvir edin; və cədvəlinizin strukturunu yoxlamaq üçün görünən qrafikə baxın.

    PHP-dən istifadə edərək cədvəl yaradın. MySQL verilənlər bazanızı veb server vasitəsilə idarə etmək üçün PHP-dən istifadə edirsinizsə, sadə PHP faylından istifadə edərək cədvəl yarada bilərsiniz. Verilənlər bazasının MySQL serverində artıq mövcud olduğu güman edilir. Addım 3-də olduğu kimi eyni cədvəli yaratmaq üçün əlaqə məlumatını sizə uyğun olanlarla əvəz edərək aşağıdakı kodu daxil edin:

    Əvvəlki dərsdə verilənlər bazası serveri ilə əlaqə yaratmağı öyrəndik. Növbəti addım verilənlər bazası və cədvəllər yaratmaqdır.

    Verilənlər bazası və cədvəllər yaratmağın iki yoluna baxaq. Birincisi, bunun PHP-də necə edildiyi, ikincisi, əksər veb hostlarda və XAMPP-də standart olan daha rahat PhpMyAdmin yardım proqramından istifadə etməkdir.

    Əgər siz PHP və MySQL dəstəyi ilə sayta ev sahibliyi edirsinizsə, verilənlər bazası artıq sizin üçün yaradılmış ola bilər və siz dərsliyin bu hissəsini keçib cədvəllər yaratmağa başlaya bilərsiniz. Ev sahibinin yardım səhifələrinə müraciət etməyi unutmayın.

    PHP ilə verilənlər bazası və cədvəllərin yaradılması

    MySQL verilənlər bazasını sorğulamaq üçün mysql_query funksiyasından istifadə olunur. Sorğular Structured Query Language (SQL) ilə yazılır. SQL ən çox istifadə edilən verilənlər bazası sorğu dilidir - təkcə MySQL verilənlər bazaları üçün deyil - çox məntiqlidir və öyrənmək asandır. Bu və növbəti dərslərdə siz SQL sorğuları ilə bağlı vacib olan hər şeyi öyrənəcəksiniz.

    Verilənlər bazası yaratarkən SQL sorğusu CREATE DATABASE aşağıdakı sintaksislə istifadə olunur:

    MƏLUMAT BAZASI YARADIN db adı

    Asan və sadə, elə deyilmi!? Bunu PHP skriptinə daxil etməyə çalışaq:

    Mysql_connect("mysql.myhost.com", "user", "sesame") və ya die(mysql_error()); mysql_query("MƏLƏNƏLƏR BAZASI YARAT") və ya die(mysql_error()); mysql_close();

    Əvvəlcə MySQL serverinə qoşuluruq. Sonra “mydabase” verilənlər bazasını yaradırıq. Və nəhayət, MySQL serveri ilə əlaqəni bağlayın.

    İndiyə qədər yaxşı... lakin PHP-də cədvəllər yaratmaq istəyəndə işlər bir az daha mürəkkəbləşir. Cədvəllər yaradarkən biz aşağıdakı sintaksislə CREATE TABLE SQL sorğusundan istifadə edirik:

    CƏDVƏL YARADIN masa adı (sütun_adı1 DATA_TYPE, sütun_adı2 DATA_TYPE, sütun_adı3 DATA_TYPE, ...)

    masa_adısütun_adı bunlar təbii ki, uyğun adlardır. DATA_TYPE sütuna daxil edilmiş məlumatların növünü təyin etmək üçün istifadə olunur. Ən çox yayılmış növlər bunlardır:

    Tam ədədlər Ondalıq ədədlər 255 simvola qədər qısa mətn 65.535 simvola qədər Adi mətn 4.294.967.295 simvola qədər uzun mətn YYYY-MM-GD formatında tarixlər SH:MM:SS formatında vaxt və tarix YYYY-MM- formatında GG SS:MM :SS

    Ümumiyyətlə, məntiqli və nisbətən sadədir. Bunu nümunəmizə daxil etməyə çalışaq:

    Mysql_connect("mysql.myhost.com", "user", "sesame") və ya die(mysql_error()); mysql_select_db("insanlar") və ya ölür(mysql_error()); mysql_query("CREATE TABLE MyTable (id INT AUTO_INCREMENT, First Name CHAR, Soyad CHAR, Phone INT, Doğum Tarixi PRIMARY KEY(id)")) Ya da öl(mysql_error()); mysql_close();

    Bu nümunədə MySQL serverinə qoşulmaqla başlayırıq. Sonra "insanlar" verilənlər bazasını seçmək üçün funksiyadan istifadə edirik. Sonra, 5 sütundan ibarət "şəxslər" cədvəli yaradırıq.

    Nəzərə alın ki, "id" sütunu üçün biz sütunun rəqəmlərdən ibarət olduğunu müəyyən etmək üçün istifadə edirik və sonra həmin nömrələri avtomatik artırmaq üçün əlavə edirik və hər bir cərgə üçün unikal ID-nin yaradılmasını təmin edirik.

    Sonda "id" sütununu əsas açar kimi təyin etmək üçün istifadə edirik. Əsas açar cədvəldəki hər bir qeydi (/sətir) unikal şəkildə müəyyənləşdirir, bu, verilənlər bazasının sonrakı yeniləmələri üçün xüsusilə faydalıdır.

    phpMyAdmin istifadə edərək verilənlər bazası və cədvəllərin yaradılması

    Birbaşa PHP-də verilənlər bazası və cədvəllər yarada bilmək faydalı ola bilər. Lakin əksər veb hostlarda və XAMPP-də standart olan phpMyAdmin (və ya hər hansı digər MySQL idarəetmə yardım proqramı) istifadə etmək çox vaxt daha asandır. Aşağıdakı ekran görüntüsü phpMyAdmin istifadə edərək verilənlər bazası və cədvəllərin necə yaradılacağını göstərir.

    Qeyd: brauzerinizin kiçik ölçüsünə avtomatik uyğunlaşan və oxumaq asanlığı üçün saytın bəzi təfərrüatlarını gizlədən saytın adaptiv versiyası aktivləşdirilib. Baxmaqdan həzz alın!

    Salam blogdakı saytın əziz oxucuları! Son məqalədə biz PHP ilə bağlı hər şeyi nəzərdən keçirdik, lakin alınan nəzəri materialları birləşdirmək üçün veb sayt tərtibatçısının gündəlik həyatında olduqca yaygın olan praktiki bir tapşırığı yerinə yetirməyi təklif edirəm.

    Bizim sevimli CMS-də hər hansı bir HTML cədvəlini göstərmək üçün döngələr istifadə olunur; Məsələn, məhsulun (smartfonun) xüsusiyyətləri var: en, hündürlük, dərinlik, rəng, displey ölçüsü, yaddaş tutumu və s. Bütün bu xüsusiyyətlər adətən HTML cədvəli şəklində təqdim olunur, çox rahat və yaxşıdır, hamar görünür.

    Bunun necə edildiyini başa düşmək üçün bu gün vurma cədvəli yaratmaq kimi sadə bir problemi həll edəcəyik:

    Gəlin başlayaq

    Əvvəlcə əməl edəcəyimiz alqoritmi tapıb başa düşməliyik. HTML cədvəli nədən ibarətdir? Qoy çəkin:

    Şəkildən göründüyü kimi, cədvəl etiketi yalnız 1 dəfə baş verir, ona görə də aydın şəkildə döngə xaricində olmalıdır. Biz yalnız satırı (tr) və onun içindəki xanaları təkrarlayırıq, həmçinin sütunlar (td). Budur, bizimlə bir daha heç nə olmur.

    İndi bu tapşırığı yerinə yetirmək üçün hansı döngədən istifadə etmək daha yaxşı olduğuna qərar verməlisiniz. Bu klassik seçimdir və ən yaxşı həll for loopdur, baxmayaraq ki, buna daha çox öyrəşmisinizsə, bir müddət istifadə edə bilərsiniz. Ancaq bir döngəyə deyil, ikiyə ehtiyacımız olacaq: birincisi satırları (tr), ikinci sütunları (td) çəkəcək və sayacaq.

    Hazır! Nəticə:

    Birinci döngədə tr çəkirik, içərisində td. Bu kodu istənilən cədvəli göstərmək üçün ideal şablon adlandırmaq olar, amma mən bunu daha yaxşı bilirəm. PHP-ni hər dəfə gərginləşdirməyə və hər iterasiyadan sonra ekrana çap etməyə (echo) ehtiyac yoxdur, hər şeyi bir yerə (dəyişən) qoymaq və ən sonunda, bir dəfə əks-səda vermək daha yaxşıdır:

    Bunun üçün operator vasitəsilə .= təyinindən istifadə etdik. Nəticə tamamilə eyni olacaq. Ancaq bu hamısı deyil. Bu məqalədəki ilk şəkil kimi görünmək üçün masamızı gətirməliyik. Yəni birinci sıra və sütunu qalın edin və yaşıl fon qoyun. Bu nəticə iki yolla əldə edilə bilər:

    • CSS3-dən istifadə (doğru yol);
    • PHP-dən istifadə (yanlış metod, lakin biz bu bölmədə PHP öyrəndiyimiz üçün ondan istifadə edəcəyik);

    Beləliklə, PHP-dən istifadə edərək bunu edək:

    Gözəllik :) Ən azı 100-ə 100 cədvəl göstərə bilərsiniz. İstədiyiniz kimi oynayın, təcrübə üçün faydalıdır. Diqqətiniz üçün təşəkkür edirik və xoş həftəsonu keçirin!

    Mən veb-səhifədə göstərmək üçün cədvəl yaradıram və bu cədvəl MySQL verilənlər bazasından verilənlərlə doldurulub. Məni çətinləşdirən bir neçə şeyi etməyə çalışıram.

    Əvvəlcə JavaScript vasitəsilə HTML-də ayrıca faylda olan PHP kodunu çağırmağa çalışıram. Düşünürəm ki, mən düzgün işləyirəm, lakin 100% əmin deyiləm (çünki cədvəl göstərilməyəcək). Fikirləşirəm ki, o, düzgün işləyir, çünki FireBug bəzi cədvəl kodunu göstərir (PHP faylındadır).

    İkincisi, asan baxmaq üçün sıraları alternativ rənglərə çevirməyə çalışıram. İndiyə qədər mənim PHP kodum aşağıdadır. Cədvəl heç bir brauzerdə ümumiyyətlə göstərilmir.

    $query = "İşçilərdən * SEÇİN"; $nəticə = mysql_query($query); $num = mysql_num_rows($nəticə); əks-səda "

    "; üçün ($i = 0; $i< $num; $i++){ $row = mysql_fetch_array($result); $id = $row["id"]; $l_name = $row["l_name"]; $f_name = $row["f_name"]; $ssn = $row["ssn"]; $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row"; echo ""; əks-səda" "; əks-səda" "; əks-səda" "; əks-səda" "; əks-səda""; ) əks-səda "
    $wrap_id$wrap_l_name$wrap_f_name$wrap_ssn
    "; mysql_close($link); )

    DƏYİŞMƏK

    Bir neçə suala cavab vermək üçün:

    @controlfreak123, "include("filename_with_php_in_it")" ilə nə demək istədiyinizə əmin deyiləm. Səhifə təhlil üçün çağırılmadığı üçün məncə zəng edilir və əlaqə qurulur. Mən orijinal sualımda qeyd etdim ki, mən bunun düzgün olduğuna inanıram, çünki FireBug cədvəlin kodunu göstərir və bu kod ayrıca PHP faylındadır, ona görə də HTML faylı ilə PHP faylı arasında əlaqə olmalıdır. Əgər bilmək istəyirsinizsə, HTML faylından PHP faylını necə çağırıram:

    @Matt S, mən çox çıxış məlumatı almıram, əslində FireBug-a baxana və PHP kodunun (və ya onun bir hissəsinin) həqiqətən HTML-yə ötürüldüyünü görənə qədər heç nə əldə etdiyimi bilmirdim. fayl. Xüsusi sual MySQL verilənlər bazasından məlumatları necə əldə etmək və onu PHP vasitəsilə HTML cədvəlinə necə doldurmaqdır. Mən həmçinin təsdiq edə bilərəm ki, işçilərin içərisində məlumat var, sınaq üçün daxil etdiyim iki giriş. Mən sizin təklif etdiyiniz kimi kodu JavaScript olmadan öz faylıma yerləşdirməyə cəhd edə bilərəm, lakin bu mənim məqsədimə çatacaq, çünki HTML və PHP fayllarımın ayrı olmasını istəyirəm, lakin PHP kodunun yaxşı olub olmadığını yoxlaya və əmin ola bilərəm. JavaScript onu pozmur.

    @Aaron, nə soruşduğunuzdan əmin deyiləm (bağışlayın). Kod HTML səhifəsində cədvəli doldurmaq və yaratmaq üçün nəzərdə tutulmuşdur.



  • Əlaqədar nəşrlər