⊗ppPmDOFR 385 of 447 menu

Вобастагии додуфарзандӣ дар PHP

Фарз кунем, ки дар баробари мо вазифаи нигоҳдории падарон ва писарон қарор дорад. Фарз кунем, ки ҳар як падар метавонад танҳо як писар дошта бошад, ва писар аз нав метавонад як писар дошта бошад.

Мо бояд тасаввур кунем, ки чӣ гуна додаҳоро нигоҳ медорем. Аввалин идея, ки ба миён меояд - ду ҷадвал сохтан: parents барои падарон ва sons барои писарон. Сипас пайваст кардани ин ҷадвалҳо бо як майдони гуногун: son_id ё parent_id.

Аммо, ин идея хеле хуб нест - зеро ҳамон як инсон метавонад ҳамзамон ҳам падар ва ҳам писар бошад - ва бояд ӯро дар ҳарду ҷадвал нигоҳ доред, ва ин ноқулай аст, ҷойи бештар мегирад ва осон ба хатоҳо меоранд.

Варанти беҳтар - пайваст кардани ҷадвал худ ба худ: ҷадвали users-ро месозем, дар он ҳамаи корбаронро нигоҳ медорем ва ба ҳар яке месохтем майдони son_id, ки дар он id-и писари аз ҳамин ҷадвал нигоҳ дошта мешавад:

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

Дархостҳо

Ҳоло биёед дархостеро нависем, ки корбарро бо писари он ба даст орад.

Барои оғоз биёед танҳо корбаронро ба даст орем:

SELECT * FROM users

Ҳоло ба корбарон писарони онҳоро ҳамроҳ кунем (join). Ҳамроҳ кардан (join) мо ҷадвалро худ ба худ мекунем, аз ин сабаб мо бояд номгузории онро иҷро кунем:

LEFT JOIN users as sons

Ҳоло мо метавонем вобастагии ҷадвали асосӣ ва ҷадвали номгузоришударо муайян кунем:

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

Ҳоло майдонҳоро муайян кунем:

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

Ҳамаро якҷоя мекунем ва дархости зеринро ба даст меорем:

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

Масъалаҳои амалӣ

Фарз кунем, ки мо категорияҳо дорем. Ҳар як категория метавонад ба категорияи волидайн тааллуқ дошта бошад, он аз нав ба волидайни худ ва ҳамин тавр то ин ҷо. Сохтори нигоҳдорӣро тавсиф кунед.

Дархостеро нависед, ки категорияро бо категорияи волидайни он ба даст орад.

Дархостеро нависед, ки категорияро бо волидайни он ва бобои он ба даст орад.

Дархостеро нависед, ки категорияро бо волидайни он, бобои он ва падарбобои он ба даст орад.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан