⊗ppPmDOFR 385 of 447 menu

PHP-daki maglumatlaryň gatnaşyk baglanylşyklary

Biziň öňümizde ata we ogullary saklamak wezipesi durupdyr diýeliň. Her ata diňe bir ogluňy bolup biler, ogul bolsa öz gezeginde hem bir ogluňy bolup biler.

Maglumatlary nädip saklajakdygymyzy oýlap tapmaly. Aklamyza ilkinji gelýän ideýa - iki sany tablisany döretmek: parents atalar üçin we sons ogullar üçin. Soňra bu tablisalary bir şahyr bilen baglamak: son_id ýa-da parent_id.

Emma, bu ideýa gaty gowy däl - sebäbi şol bir adam hem ata hem ogul bolup bilýär - we ony iki tablisada saklamaly bolar, bu bolsa amatly däl, köpräk ýer tutýar we ýalňyşlyklara aňsat getirýär.

Has gowy wariant - tablisany özi bilen baglamak: biz users tablisasyny dörederis, onda ähli ulanyjylary saklaris we hersine son_id meýdanyny bereris, onda şol bir tablisadaky oglyň id-si saklanar:

users
id name son_id
1 user1 2
2 user2 3
3 user3 null

Soraglar

Indi ulanyjy onuň ogly bilen birlikde aljak sorag ýazalyň.

Başlangyçda diňe ulanyjylary alyň:

SELECT * FROM users

Indi ulanyjylara olaryň ogullaryny birleşdireris (JOIN). Birleşdirmek (JOIN) üçin biz tablisany özi bilen etmelis, şonuň üçin biz onyň adyny üýtgetmeli:

LEFT JOIN users as sons

Indi esasy tablisanyň we ady üýtgedilen tablisanyň baglanyşygyny görkezip bileris:

LEFT JOIN users as sons ON sons.id=users.son_id

Indi meýdanlary görkezeliň:

SELECT users.name as user_name, sons.name as son_name

Hemmesini bir ýere ýygnalyň we aşakdaky soragy alarys:

SELECT users.name as user_name, sons.name as son_name FROM users LEFT JOIN users as sons ON sons.id=users.son_id

Amaly wezîpeler

Bizde kategoriýalar bardyr diýeliň. Her kategoriýa ene-atanyň kategoriýasyna degişli bolup biler, ol öz gezeginde özüniň ene-atasyna we şuňa meňzeş daşary. Saklamak gurluşyny ýazyň.

Kategoriýany onuň ene-ata kategoriýasy bilen birlikde alyjak sorag ýazyň.

Kategoriýany onuň ene-atasy we baba-atasy bilen birlikde alyjak sorag ýazyň.

Kategoriýany onuň ene-atasy, baba-atasy we baba-baba-atasy bilen birlikde alyjak sorag ýazyň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et