Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

PHP դասեր - Դաս 3.3 - Աշխատանք MySQL տվյալների բազայի հետ։ Տվյալների թարմացում UPDATE օպերատորով։

10/05/2025, by Ivan

Մենք արդեն ծանոթացել ենք MySQL-ի այնպիսի օպերատորների հետ, ինչպիսիք են SELECT-ը և INSERT INTO-ն, իսկ հիմա ժամանակն է հասկանալ, թե ինչպես թարմացնել արդեն ԲԴ-ում ներմուծված տվյալները։ Դրա համար կօգտագործենք SQL-ի UPDATE օպերատորը։ Բայց նախ եկեք փոխենք մեր index.php ֆայլը՝ ավելացնելով մեկ այլ ուղու մշակման հնարավորություն։ Գտեք այս հատվածը՝

      if( $_GET['admin'] == 1 ){ // եթե URL-ում կա admin փոփոխականը
	    print $obj->display_admin(); // եթե փոփոխականը կա, ցուցադրում ենք ձևը
	  }else{
	    print $obj->display_public(); // եթե չկա, ապա ցուցադրում ենք հաղորդագրությունները
	  }</pre>

Եվ փոխեք այն հետևյալ կոդով՝

	  switch ($_GET['admin']){
	    case 'add':
		  print $obj->display_admin(); // եթե admin փոփոխականը հավասար է add, ցուցադրում ենք ավելացման ձևը
		break;
		case 'update':
		  print $obj->display_update();  // եթե admin փոփոխականը հավասար է update, ցուցադրում ենք թարմացման ձևը
		break;
		default:
		  print $obj->display_public(); // եթե փոփոխական չկա, ցուցադրում ենք հաղորդագրությունները
	  }</pre>

Ես փոխեցի պայմանական if օպերատորը switch-ով, որը թույլ է տալիս մի քանի տարբերակ միաժամանակ մշակել՝ $_GET['admin'] արժեքի հիման վրա։ Հետագայում կունենանք նաև delete տարբերակ։ Քանի որ ես 1-ը փոխեցի add-ով, անհրաժեշտ է փոխել հղումների ստեղծումը simpleCMS.php ֆայլում՝

$content .= '<p><a href="/index.php?admin=1">Ավելացնել հաղորդագրություն</a></p>';

Փոխեք հետևյալ կերպ՝

$content .= '<p><a href="/index.php?admin=add">Ավելացնել հաղորդագրություն</a></p>';

Բացի այդ, պետք է ավելացնել display_update() անունով նոր մեթոդ, որը կկանչվի այն ժամանակ, երբ get-հարցման մեջ admin փոփոխականը հավասար է update։ Ավելացնում ենք՝

  public function display_update(){
    
  }  

Այսպիսով, մենք ստեղծեցինք ուղու մշակում, որի արդյունքում կանչվում է մեր նոր display_update() մեթոդը։ Մնում է ավելացնել հղումներ այդ մեթոդի կանչման էջին և իրականացնել մեթոդի տրամաբանությունը։

Եկեք նախ մտածենք՝ ինչպես ենք իրականացնելու գրառումների թարմացումը։ Անհրաժեշտ է կատարել մի հարցում WHERE պայմանով, որպեսզի կոնկրետ նշենք, թե որ գրառումն ենք թարմացնելու։ Դա կարող ենք անել՝ փոխանցելով գրառման id-ն, այսինքն՝ մեր դեպքում mid սյունակը։ Այդ պատճառով անհրաժեշտ կլինի mid-ի արժեքը փոխանցել display_update() մեթոդին։ Դա կարելի է անել get-հարցման միջոցով, օրինակ՝

http://test/index.php?admin=update&mid=3

Կամ էլ՝ որպես պարամետր մեթոդի մեջ՝

  public function display_update($mid){
    
  } 

Եվ կանչել մեթոդը՝

	  switch ($_GET['admin']){
	    case 'add':
		  print $obj->display_admin(); // ավելացման ձև
		break;
		case 'update':
                  $mid = 1; // կամ այստեղ փոխանցել $_GET['mid']
		  print $obj->display_update($mid);  // թարմացման ձև
		break;
		default:
		  print $obj->display_public(); // հիմնական էջ
	  }

Ցանկացած դեպքում mid արժեքը պետք է փոխանցվի։ Ավելի հեշտ լինելու համար օգտագործենք առաջին տարբերակը։

  public function display_update(){
    $message_id = $_GET['mid'];
  }  

Այսպիսով, մենք փոխանցեցինք mid արժեքը։ Իսկ ի՞նչ անել, եթե այն բացակայում է։ Դա պետք է ստուգել՝

  public function display_update(){
    $message_id = $_GET['mid'];
	if(!empty($message_id)){
	
	}else{
	  $content .=   '<p>Չկա mid արժեք!</p>';
	  $content .=	'<p><a href="/index.php">Վերադառնալ գլխավոր</a></p>';
	}
	return $content;
  }  

Այժմ, եթե get-հարցման մեջ կա admin=update, բայց չկա mid, ապա կտեսնենք էջ՝ գլխավոր հղմամբ՝

http://test/index.php?admin=update

Շարունակությունը թարգմանելու՞։

Այսպիսով, մենք հասել ենք մի պահի, երբ մեզ անհրաժեշտ են խմբագրման հղումներ։ Պետք է խմբագրել display_public() մեթոդը՝ այդ հղումները ցուցադրելու համար՝

  public function display_public() {
    $content = '';
    $sql = 'SELECT * FROM Messages ORDER BY mid DESC';
    $result = mysql_query($sql) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
      $content .= '<div class="post">';
      $content .= '<span class="time">#' . $row['mid'] . ' от ' . date('d-m-Y', $row['created']) . '</span><h2>' . $row['title'] . '</h2>';
      $content .= '<p>' . $row['bodytext'] . '</p>';
      $content .= '<p><a href="/index.php?admin=update&mid=' . $row['mid'] . '">Խմբագրել հաղորդագրությունը</a>';
      $content .= '</div>';
    }
    $content .= '<p><a href="/index.php?admin=add">Ավելացնել հաղորդագրություն</a></p>';
    return $content;
  }

Այժմ յուրաքանչյուր հաղորդագրության տակ կլինի հղում նրա խմբագրման էջին։ Այդ էջը կցուցադրվի մեր display_update() մեթոդով։ Եկեք գրենք այդ մեթոդի կոդը։ Ձևը կկարողանա վերցնել արդեն գոյություն ունեցող արժեքները ԲԴ-ից և կունենա թաքնված դաշտ mid արժեքի համար՝

 public function display_update() {
    $message_id = $_GET['mid'];
    if(!empty($message_id)) {
      $result = mysql_query('SELECT * FROM Messages WHERE mid='.$message_id);
      $message = mysql_fetch_object($result);
      $content = '';
      $content .= '<form action="/index.php?admin=update" method="post">';
      $content .= '<label for="title">Անուն՝</label><br />';
      $content .= '<input name="title" id="title" type="text" maxlength="150" value="' . $message->title . '" />';
      $content .= '<div class="clear"></div>';
      $content .= '<input name="mid" id="mid" type="hidden" value="'.$message->mid.'" />';
      $content .= '<label for="bodytext">Հաղորդագրություն՝</label><br />';
      $content .= '<textarea name="bodytext" id="bodytext">' . $message->bodytext . '</textarea>';
      $content .= '<div class="clear"></div>';
      $content .= '<input type="submit" value="Պահպանել" />';
      $content .= '</form>';
      $content .= '<p><a href="/index.php">Վերադառնալ գլխավոր</a></p>';
    } else {
      if (!empty($_POST)) {
        mysql_query('UPDATE Messages SET title="'.$_POST["title"].'", bodytext="'.$_POST["bodytext"].'" WHERE mid='.$_POST["mid"]);
        $content .= '<p>Հաղորդագրությունը փոփոխվել է!';
        $content .= '<p><a href="/index.php#mid-'.$_POST['mid'].'">Դիտել գրառումը</a></p>';
      } else {
        $content .= '<p>Չկա mid արժեք!</p>';
        $content .= '<p><a href="/index.php">Վերադառնալ գլխավոր</a></p>';
      }
    }
    return $content;
  }

Սա մեր display_update() մեթոդի ամբողջ կոդն է։ Եկեք նայենք, թե ինչպես է կառուցված UPDATE հարցումը՝

Սկզբում գրվում է UPDATE օպերատորը, հետո՝ աղյուսակի անունը։ Դրանից հետո գալիս է SET օպերատորը։ Այնուհետև սահմանվում են դաշտերը, որոնք պետք է թարմացվեն՝ իրենց նոր արժեքներով։ Վերջում՝ WHERE պայմանը, որը նշում է, որ պետք է թարմացնել այն գրառումը, որի mid-ը համընկնում է նշված արժեքի հետ։

Հետագայում ես կստեղծեմ MySQL օպերատորների համառոտ ուղեցույց։ Իսկ այս դասը հիմնականում նախատեսված է նրանց համար, ովքեր նոր են սկսում սովորել PHP և MySQL։