பயனற்ற வகை php. MySQL உடன் வசதியான மற்றும் பாதுகாப்பான வேலைக்கான PHP வகுப்பு. தட்டச்சு செய்த ஒதுக்கிடங்களைப் பற்றி மேலும்

இன்று எங்கள் இலக்கு வகைகளின் படிநிலை கட்டமைப்பை உருவாக்குவதாகும். வகைகளைச் சேமிப்பது வசதியானது மற்றும் நமக்குத் தேவையான இடங்களில் அவற்றைக் காண்பிப்பது எளிது என்பது எங்களுக்கு முக்கியம்.

சில நேரங்களில் எளிமையான விஷயங்கள் சிக்கலானதாகத் தோன்றுகின்றன, அதனால்தான் நான் ஒரு சில குறியீடு துண்டுகளை இடுகையிடுவேன், இது மரத்தின் வடிவத்தில் PHP வகைகளை செயல்படுத்த உங்களுக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன்.

எனவே, கட்டமைப்பு வகை ஐடி (ஐடி), வகை பெயர் (பெயர்) மற்றும் நிச்சயமாக பெற்றோர் வகையின் ஐடி (பேரண்ட்_ஐடி) ஆகியவற்றைக் கொண்டிருக்க வேண்டும். MySQL இல் இது போல் தெரிகிறது:

`வகை` இல்லாவிட்டால் அட்டவணையை உருவாக்கவும் (`id` int(10) கையொப்பமிடாதது பூஜ்ய ஆட்டோ_இன்கிரிமென்ட், `பெயர்` varchar(255) NULL அல்ல, `parent_id` int(11) NULL இல்லை, முதன்மை விசை (`id`)) =InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

வகைகளைச் சேமிப்பதற்கான குறைந்தபட்ச மற்றும் தெளிவான அட்டவணை அமைப்பு.

`வகை` (`ஐடி`, `பெயர்`, `பெற்றோர்_ஐடி`) மதிப்புகள் (1, "ஃபோன்கள் மற்றும் டேப்லெட்டுகள்", "0"), (2, "கார்கள்", "0"), (3, "சாம்சங்" ஆகியவற்றில் செருகவும் ", "1"), (4, "ஆப்பிள்", "1"), (5, "எல்ஜி", "1"), (6, "ஃபோர்டு", "2"), (7, "லெக்ஸஸ்", "2"), (8, "BMW", "2"), (9, " கேலக்ஸி தாவல் 4", "3"), (10, "Galaxy S6", "3");

parent_id=0 மதிப்பில், இந்த வகைக்கு பெற்றோர் வகை இல்லை.

இங்கே எல்லாம் தெளிவாகவும் எளிமையாகவும் இருக்கிறது. இப்போது வகைகளின் பட்டியலைக் காண்பிப்போம். ஆனால் பட்டியலை சரியாகக் காட்ட, முதலில் நாம் முழுவதையும் பெற வேண்டும் php பட்டியல்பிரிவுகள், பின்னர் மட்டுமே எங்கள் மரத்தை உருவாக்க மறுநிகழ்வைப் பயன்படுத்தவும். இந்த பட்டியலைப் பெற பின்வரும் செயல்பாடு வடிவமைக்கப்பட்டுள்ளது:

செயல்பாடு get_cat() ( //தரவுத்தள வினவல் $sql = "வகையிலிருந்து * தேர்ந்தெடு $result) != 0) ( //சுழலில் ($i = 0; $i) ஒரு வரிசையை உருவாக்குகிறோம்< mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result,MYSQL_ASSOC); //Формируем массив, где ключами являются адишники на родительские категории if(empty($arr_cat[$row["parent_id"]])) { $arr_cat[$row["parent_id"]] = array(); } $arr_cat[$row["parent_id"]] = $row; } //возвращаем массив return $arr_cat; } }

//கோப்பக வரிசையைப் பெறுங்கள் $ முடிவு = get_cat();

இப்போது நமக்கு மறுநிகழ்வு கொண்ட ஒரு செயல்பாடு தேவை

செயல்பாடு view_cat($arr,$parent_id = 0) (//மீண்டும் வெளியேறுவதற்கான நிபந்தனைகள்

    "; // வரிசையின் மூலம் லூப் செய்து அதை திரையில் காட்ட ($i = 0; $i< count($arr[$parent_id]);$i++) { echo "
  • " .$arr[$parent_id][$i]["name"]."; //recursion - ஏதேனும் குழந்தை வகைகள் உள்ளனவா என்று பார்க்கவும் view_cat($arr,$arr[$parent_id][$i]["id" ]); எதிரொலி "
  • ";) எதிரொலி"
"; }

இப்போது எஞ்சியிருப்பது ஒரு சுழல்நிலை செயல்பாட்டைப் பயன்படுத்தி கோப்பகத்தை திரையில் காட்ட வேண்டும்

வியூ_கேட்($ முடிவு);

மற்றும் பொதுவாக அவ்வளவுதான். இதன் மூலம் முடிவற்ற துணைப்பிரிவுகளுடன் முழுமையான வகை மரத்தைப் பெறலாம்.

) குறிப்பிட்ட துண்டுகளைக் கண்டறிய வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துவதற்கான உதாரணத்தை நான் உங்களுக்குக் காட்டினேன் மூல குறியீடுபக்கங்கள். அவற்றை நாமே எழுதுவது எப்படி என்பதை இப்போது கற்றுக்கொள்வோம். இந்த திறன் உங்களுக்கு எழுதவும், தேவையற்ற துண்டுகளிலிருந்து உரையை அழிக்கவும், பெரிய அளவிலான உரையில் தேவையான பகுதிகளைத் தேடவும் மற்றும் பலவற்றிற்கும் உதவும்.

வெளியிடப்பட்ட தேதி: 10/20/2013

நேரடி இணைய பார்வையாளர்களின் புள்ளிவிவர பாகுபடுத்தியை நாங்கள் தொடர்ந்து எழுதுகிறோம். யாரேனும் எங்களுடன் இணைந்திருந்தால், அங்கீகாரம் இல்லாமல் நாங்கள் சேவையுடன் இணைக்கப்பட்ட இடத்திலிருந்து தொடங்குமாறு நான் உங்களுக்கு அறிவுறுத்துகிறேன். கடவுச்சொல் பாதுகாக்கப்படாத திறந்த பக்கங்களிலிருந்து உள்ளடக்கத்தை எவ்வாறு பெறுவது என்பதை அங்கு கற்றுக்கொண்டோம். ஆனால், உண்மையில், பெரும்பாலான தளங்களுக்கான அணுகல் மூடப்பட்டுள்ளது, எனவே நீங்கள் புரிந்துகொண்டபடி, உள்நுழைவது எப்படி என்று தெரியாத ஸ்கிரிப்ட்டிலிருந்து மிகக் குறைவான நன்மையே உள்ளது. ஆனால் கவலைப்பட வேண்டாம், இப்போது எல்லாவற்றையும் சரிசெய்வோம்.

வெளியிடப்பட்ட தேதி: 08.10.2013

நல்ல மதியம், வாசகர்களே! கொஞ்சம் பயிற்சி செய்ய வேண்டிய நேரம் இது. உங்கள் வேலையை எளிதாக்கும் பயனுள்ள ஸ்கிரிப்ட்களை எழுதத் தொடங்க உங்களுக்கு போதுமான அறிவு ஏற்கனவே உள்ளது. இவற்றில் ஒன்று பாகுபடுத்தியாக இருக்கலாம். இது என்னுடையது என்ன என்பதை நான் விரிவாக விவரித்தேன், எனவே உங்களுக்குத் தெரியாவிட்டால், அதைப் படிக்குமாறு நான் உங்களுக்கு அறிவுறுத்துகிறேன். சுருக்கமாக, பாகுபடுத்தியின் சாராம்சம் தேடுவதற்கும் தனிமைப்படுத்துவதற்கும் கீழே வருகிறது தேவையான தகவல்ஒரு பெரிய உரையிலிருந்து. இணையத்தைப் பொறுத்தவரை, இது பெரும்பாலும் இணையதளப் பக்கங்களிலிருந்து தேவையான தரவைப் பிரித்தெடுப்பதை உள்ளடக்குகிறது. எங்கள் விஷயத்தில் அது லைவ்இன்டர்நெட்டாக இருக்கும். எனவே, போகலாம்!

வெளியிடப்பட்ட தேதி: 03/10/2013

இந்த கட்டுரை கர்ல் போன்ற சக்திவாய்ந்த கருவியைப் பற்றி பேசும், அத்துடன் இந்த கருவிக்கான அணுகலை வழங்கும் PHP க்கான நூலகம் - libcurl. இதெல்லாம் எதற்கு? தரவு பரிமாற்ற நெறிமுறைகளைப் பயன்படுத்தி சேவையகத்துடன் தொடர்பு கொள்ள, எடுத்துக்காட்டாக, http அல்லது ftp. மீதமுள்ள நெறிமுறைகள் எங்களுக்கு குறிப்பாக சுவாரஸ்யமானவை அல்ல; யாராவது இந்த தலைப்பை ஆழமாக ஆராய விரும்பினால், அவர்கள் ஆங்கில மொழி வளங்களை தோண்டி எடுக்க வேண்டும், மேலும் இந்த கட்டுரையில் அடிப்படைகள் மற்றும் பயன்பாட்டின் எடுத்துக்காட்டுகள் இருக்கும்.

வெளியிடப்பட்ட தேதி: 11/24/2012

வெளியிடப்பட்ட தேதி: 05.11.2012

இப்போது PHP இல் கோப்புகளுடன் பணிபுரிவது பற்றி மிகவும் பெரிய, ஆனால் சிக்கலான பாடம் இருக்கும். முதலில், கோப்புகள் எதற்காக? எல்லாவற்றிற்கும் மேலாக, நீங்கள் எல்லாவற்றையும் தரவுத்தளத்தில் சேமிக்கலாம் MySQL தரவுஅல்லது PostgreSQL அல்லது வேறு ஏதேனும். ஆனால் சில நேரங்களில் ஒரு தரவுத்தளத்தைப் பயன்படுத்தும் போது பணிகள் உள்ளன, அனைத்து செயலாக்கம் மற்றும் இணைப்பு பாதுகாப்பிற்கான அக்கறை, அறிவுறுத்தப்படவில்லை. எடுத்துக்காட்டாக, நாங்கள் ஒரு வழக்கமான கவுண்டரை உருவாக்க வேண்டும், ஆனால் இதற்கு முன் நாங்கள் திட்டத்தில் தரவுத்தளத்தைப் பயன்படுத்தவில்லை. எனவே, ஒரு சிறிய கவுண்டரின் பொருட்டு, நாம் ஒரு தரவுத்தளத்தை உருவாக்கி அதில் இரண்டு வரிகளை மட்டும் சேமிக்க வேண்டுமா? இங்கே கோப்புகளைப் பயன்படுத்துவது மிகவும் எளிதானது. கூடுதலாக, சில நேரங்களில் ஹோஸ்டிங் தரவுத்தளங்களை ஆதரிக்காது, பின்னர் கோப்புகள் பொதுவாக ஒரே விருப்பமாகும்.

வெளியிடப்பட்ட தேதி: 04.11.2012

உங்கள் தளத்தில் (பெயர் அல்லது வேறு ஏதேனும் தகவல்) உரையைச் சமர்ப்பிக்க உங்கள் பயனர்களை அனுமதிக்கும் போதெல்லாம், நீங்கள் கவனமாக இருக்க வேண்டும். உங்கள் தளத்தின் பாதுகாப்பில் எந்த ஓட்டைகளும் இல்லை என்பதை நீங்கள் உறுதிப்படுத்திக் கொள்ள வேண்டும், தாக்குபவர்கள் உங்கள் இணையதளத்திற்குள் நுழைவதற்குப் பயன்படுத்தலாம். நீங்கள் இன்னும் பயனரிடமிருந்து தரவைப் பெற வேண்டும் என்றால், தீங்கு விளைவிக்கும் மற்றும் ஆபத்தான HTML குறியீடு அல்லது ஸ்கிரிப்ட்களை இயக்குவதைத் தடுக்க htmlentities செயல்பாட்டைப் பயன்படுத்துவதை உறுதிப்படுத்திக் கொள்ளுங்கள்!

வெளியிடப்பட்ட தேதி: 04.11.2012

இந்தப் பாடத்தில் படிவங்கள் மற்றும் பக்கங்களுக்கு இடையில் தரவை அனுப்புவதற்கான நுட்பங்களைப் பார்ப்போம். இத்தகைய முறைகள் POST மற்றும் GET ஆகும். ஒவ்வொன்றையும் பற்றி தனித்தனியாகவும் விரிவாகவும் பேசுவோம். பொதுவாக, படிவங்களுக்கிடையேயான தொடர்புக்கு இது தேவைப்படுகிறது. எடுத்துக்காட்டாக, ஒரு பக்கத்தில் சில புலங்களை நிரப்புகிறோம், அவற்றைச் செயலாக்க மற்றொரு பக்கத்திற்கு மாற்ற வேண்டும்.

வெளியிடப்பட்ட தேதி: 03.11.2012

உண்மையில், நீங்கள் ஏற்கனவே யூகித்துள்ளபடி, do while loop என்பது முந்தைய பாடங்களில் பார்த்த while loopன் சற்று மாற்றியமைக்கப்பட்ட பதிப்பாகும். வழக்கமான லூப் எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் நினைவில் வைத்திருந்தால், புதிய வளையத்தைப் புரிந்துகொள்வது உங்களுக்கு எளிதாக இருக்கும். மீண்டும் சொல்கிறோம்: நிபந்தனை உண்மையாக இருந்தால் while லூப்பின் உடல் இயக்கப்படும், அது உண்மையல்ல என்றால் செயல்படுத்தப்படாது, ஆனால் ஆரம்பத்திலிருந்தே நிபந்தனை தவறானதாக இருந்தால் ஒரு முறை கூட அதை இயக்க முடியாது. வேலை செய்யும் போது எப்படி செய்வது?

வெளியிடப்பட்ட தேதி: 03.11.2012

நீங்கள் மீண்டும் மீண்டும் செய்ய விரும்பும் ஒரு துணை வரிசை உங்களிடம் இருப்பதாக கற்பனை செய்து பாருங்கள். PHP ஆனது Foreach கட்டமைப்பைப் பயன்படுத்தி ஒரு வரிசையின் ஒவ்வொரு உறுப்பையும் பயன்படுத்த எளிதான வழியை வழங்குகிறது.

வகைகளைப் பற்றிய தகவல்களைக் கொண்ட பொருள்களின் வரிசையை வழங்குகிறது.

இந்தச் செயல்பாட்டிற்கு அனுப்பப்பட்ட அளவுருக்கள் wp_list_categories() செயல்பாட்டிற்கு அனுப்பப்பட்ட அளவுருக்களுடன் மிகவும் ஒத்தவை மற்றும் ஒரு வரிசையாக அல்லது வினவல் சரமாக அனுப்பப்படலாம்: type=post&order=DESC .

✈ 1 நேரம் = 0.005625s = மிக மெதுவாக | 50000 முறை = 11.98வி = மெதுவாக | PHP 7.1.11, WP 4.9.5

$categories = get_categories($args) ஐப் பயன்படுத்துதல்; பயன்பாட்டு முறை $categories = get_categories(array("taxonomy" => "category", "type" => "post", "child_of" => 0, "parent" => "", "orderby" => "name" , "order" => "ASC", "hide_empty" => 1, "படிநிலை" => 1, "விலக்கு" => "", "include" => "", "number" => 0, "pad_counts" => பொய், // முழு பட்டியல்அளவுருக்களுக்கு, செயல்பாட்டு விளக்கத்தைப் பார்க்கவும் http://wp-kama.ru/function/get_terms)); if($categories)( foreach($categories as $cat)( // $cat பொருளில் உள்ள தரவு // $cat->term_id // $cat->பெயர் (Rubric 1) // $cat->slug (rubrika - 1) // $cat->term_group (0) // $cat->term_taxonomy_id (4) // $cat->வகைபிரித்தல் (வகை) // $cat->விளக்கம் (விளக்கம் உரை) // $cat-> பெற்றோர் (0) // $cat->count (14) // $cat->object_id (2743) // $cat->cat_ID (4) // $cat->category_count (14) // $cat-> வகை_விளக்கம் (விளக்க உரை) // $cat->cat_name (Rubric 1) // $cat->category_nicename (rubrika-1) // $cat->category_parent (0) ) வகைபிரித்தல் (வரி)செயலாக்கப்பட வேண்டிய வகைப்பாட்டின் பெயர். பதிப்பு 3.0 முதல் சேர்க்கப்பட்டது.
இயல்புநிலை: "வகை"வகை (வரி)
  • இடுகைகளுக்கான பிரிவுகள் (இயல்புநிலை);
  • இணைப்பு - இணைப்பு பிரிவுகள்.
    இயல்புநிலை: "போஸ்ட்"
குழந்தையின்_குழந்தை (வரி)குறிப்பிட்ட வகையின் குழந்தை வகைகளை (அனைத்து கூடு கட்டும் நிலைகள் உட்பட) பெறவும். அளவுரு பெற்றோர் வகையின் ஐடியைக் குறிப்பிடுகிறது (நீங்கள் காட்ட விரும்பும் உள்ளமை வகைகளின் வகை). பெற்றோர் (எண்)அளவுருவில் குறிப்பிடப்பட்டுள்ள ஐடிக்கு சமமான பெற்றோர் வகை கொண்ட வகைகளைப் பெறுகிறது. குழந்தையின்_குழந்தையிலிருந்து வித்தியாசம் என்னவென்றால், கூடு கட்டும் ஒரு நிலை காட்டப்படும்.
இயல்புநிலை: ""உத்தரவின் படி (வரி)

பெறப்பட்ட தரவை குறிப்பிட்ட அளவுகோல்களின்படி வரிசைப்படுத்துதல். எடுத்துக்காட்டாக, ஒவ்வொரு வகையிலும் உள்ள இடுகைகளின் எண்ணிக்கை அல்லது வகைப் பெயர்கள் மூலம். பின்வரும் அளவுகோல்கள் கிடைக்கின்றன:

  • ஐடி - ஐடி மூலம் வரிசைப்படுத்தவும்;
  • பெயர் - பெயர் மூலம் வரிசைப்படுத்தவும் (இயல்புநிலை);
  • ஸ்லக் - alt மூலம் வரிசைப்படுத்து. பெயர் (ஸ்லக்);
  • எண்ணிக்கை - வகை உள்ளீடுகளின் எண்ணிக்கை மூலம்;
  • கால_குழு - குழு வாரியாக.

இயல்புநிலை: "பெயர்"

ஆர்டர் (வரி)

"வரிசைப்படி" அளவுருவில் குறிப்பிடப்பட்டுள்ள வரிசையாக்க திசை:

  • ASC - வரிசையில், சிறியது முதல் பெரியது வரை (1, 2, 3; a, b, c);
  • DESC - தலைகீழ் வரிசையில், பெரியது முதல் சிறியது வரை (3, 2, 1; c, b, a).

இயல்புநிலை: "ASC"

மறை_வெற்று (தருக்க)

வெற்று வகைகளைப் பெறலாமா வேண்டாமா (உள்ளீடுகள் இல்லை):

  • 1 (உண்மை) - காலியானவற்றைப் பெற வேண்டாம்,
  • 0 (தவறு) - காலியானவற்றைப் பெறுங்கள்.

இயல்புநிலை: உண்மை

படிநிலை (தருக்க)சரி என அமைக்கப்பட்டால், குழந்தை வகைகளில் (காலியாக இல்லாத) உள்ளீடுகளைக் கொண்ட வெற்று குழந்தை வகைகளும் இருக்கும்.
இயல்புநிலை: உண்மைவிலக்கு (சரம்/வரிசை)பட்டியலிலிருந்து எந்த வகைகளையும் விலக்கவும். காற்புள்ளியால் அல்லது வரிசையில் பிரிக்கப்பட்ட வகை ஐடிகளை நீங்கள் குறிப்பிட வேண்டும். இந்த அளவுரு குறிப்பிடப்பட்டால், child_of அளவுரு மேலெழுதப்படும்.
இயல்புநிலை: ""சேர்க்கிறது (சரம்/வரிசை)குறிப்பிட்ட வகைகளை மட்டும் பட்டியலிடுங்கள். காற்புள்ளியால் அல்லது வரிசையில் பிரிக்கப்பட்ட வகை ஐடிகளை நீங்கள் குறிப்பிட வேண்டும்.
இயல்புநிலை: ""எண் (எண்)அளவு. மீட்டெடுக்கப்படும் வகைகளின் எண்ணிக்கை. இயல்பாக, கட்டுப்பாடுகள் இல்லை - அனைத்து வகைகளும் மீட்டெடுக்கப்படும். திண்டு_எண்ணிக்கைகள் (தருக்க)நீங்கள் உண்மை என்று தேர்ச்சி பெற்றால், பெற்றோர் வகைகளில் உள்ள இடுகைகளின் எண்ணிக்கையைக் காட்டும் எண் அதன் இடுகைகள் மற்றும் குழந்தை வகைகளின் இடுகைகளின் கூட்டுத்தொகையாக இருக்கும்.
இயல்புநிலை: தவறு

எடுத்துக்காட்டுகள் #1 கீழ்தோன்றும் பட்டியல்

வகைகளின் கீழ்தோன்றும் பட்டியலை உருவாக்க, இந்த நோக்கத்திற்காக நாம் மற்றொரு செயல்பாட்டைப் பயன்படுத்தலாம், wp_dropdown_categories() :

Wp_dropdown_categories(array("hide_empty" => 0, "name" => "category_parent", "orderby" => "name", "selected" => $category->பெற்றோர், "படிநிலை" => true, "show_option_none" => __("இல்லை")));

இருப்பினும், இந்த அணுகுமுறையால் பட்டியலை அமைப்பதில் சில நெகிழ்வுத்தன்மையை இழக்க நேரிடும், ஏனெனில் நாங்கள் முழுமையாக உருவாக்கப்பட்ட பட்டியலைப் பெறுவோம்.

எனவே, சில சந்தர்ப்பங்களில் get_categories() செயல்பாட்டைப் பயன்படுத்தி கீழ்தோன்றும் பட்டியலை உருவாக்குவது மிகவும் தர்க்கரீதியானதாக இருக்கும். இங்கே ஒரு எடுத்துக்காட்டு (வகை 10ன் துணைப்பிரிவுகளை (குழந்தைகள்) காட்ட வேண்டும் என்று வைத்துக்கொள்வோம்):

#2 வகைகளின் பட்டியல் மற்றும் அவற்றின் விளக்கங்கள்

வகைகளுக்கான இணைப்புகளின் பட்டியலை எவ்வாறு காண்பிக்கலாம் என்பதை இந்த எடுத்துக்காட்டு நமக்குக் காண்பிக்கும், அங்கு ஒவ்வொரு இணைப்பிற்கும் உடனடியாக வகையின் விளக்கம் இருக்கும் (ஒரு வகையை உருவாக்கும்போது/திருத்தும்போது குறிப்பிடப்படுகிறது):

குறிப்புகள்
  • பார்க்க: get_terms() மாற்றக்கூடிய வாதங்களின் வகை.
மாற்றங்களின் பட்டியல்
பதிப்பு 2.1.0 இலிருந்து அறிமுகப்படுத்தப்பட்டது.
வகைகளின் குறியீட்டைப் பெறவும்: wp-includes/category.php WP 5.3.2