এইচটিএমএল "যদি" বিবৃতিতে পিএইচপি এম্বেড করা যায়?


120

আমি যদি পিএইচপি-র বিবৃতিটি এমনকি সম্ভব হয় তবে এটি এইচটিএমএলকে এম্বেড করতে চাই, কারণ আমি ভাবছি যে বিবৃতি কার্যকর করা হলে এইচটিএমএল পিএইচপি-র সামনে উপস্থিত হবে।

আমি একটি ডাটাবেসে একটি টেবিল অ্যাক্সেস করার চেষ্টা করছি। আমি এইচটিএমএলতে একটি পুলডাউন মেনু তৈরি করেছি যা ডাটাবেসে সমস্ত সারণী তালিকাভুক্ত করে এবং একবার আমি পুলডাউন থেকে টেবিলটি নির্বাচন করি, আমি জমা বোতামটি টিপুন।

ডেটাবেসে টেবিলের বিষয়বস্তু প্রদর্শন করতে সাবমিট বাটনটি টিপছে কিনা এবং পিএইচপি-তে একটি লুপ চালাচ্ছি কিনা তা দেখতে আমি আইসেট ফাংশনটি ব্যবহার করি। সুতরাং এই মুহুর্তে আমার কাছে সম্পূর্ণ টেবিল রয়েছে তবে আমি এই টেবিলটিতে আরও কিছু প্রশ্ন চালাতে চাই। এই কারণে আমি যদি বিবৃতিটির ভিতরে আরও এইচটিএমএল চালানোর চেষ্টা করি। শেষ পর্যন্ত, আমি হয় সারণিতে থাকা (এক সারি বা একাধিক সারিতে 1 বা একাধিক সামগ্রী) বা সারণিতে থাকা (1 বা আরও সারি) সামগ্রী মুছে ফেলার চেষ্টা করছি। আমি যা করার চেষ্টা করছি তা হল আরেকটি টানা ডাউন টেবিলের কলামের সাথে সারণী সারণী অনুসন্ধান সহজ করতে এবং রেডিও বোতামগুলির সাথে সম্পর্কিত যা আমি টেবিলের সামগ্রীগুলি আপডেট করতে বা মুছতে চাই কিনা।


3
সমাধানের জন্য এখানে দেখুন php.net/manual/en/control-structures.al متبادل-syntax.php
puk

উত্তর:


371
<?php if($condition) : ?>
    <a href="http://yahoo.com">This will only display if $condition is true</a>
<?php endif; ?>

অনুরোধ দ্বারা, এখানে elseif এর এবং অন্য (যা আপনার কাছে খুঁজে পেতে পারেন ডক্স )

<?php if($condition) : ?>
    <a href="http://yahoo.com">This will only display if $condition is true</a>
<?php elseif($anotherCondition) : ?>
    more html
<?php else : ?>
    even more html
<?php endif; ?>

এটা খুব সহজ।

শর্তটি সন্তুষ্ট হলে কেবল HTML প্রদর্শিত হবে।


"... (যা আপনি [ডক্স] এও খুঁজে পেতে পারেন] [1])" আপনি যে ডক্সটির কথা বলছেন তা ঠিক কোথায়?
gmeben


15

হ্যাঁ.

<?  if($my_name == 'someguy') { ?>
        HTML_GOES_HERE
<?  } ?>

6
কিছু সার্ভারে libxML বা pdo_mysql ইনস্টল করা নেই তবে আমরা সেগুলি ব্যবহার করে সমাধানের প্রস্তাব দিতে পারি।
বিশৃঙ্খলা

2
আমি মনে করি এটি জনের উত্তরের জন্য একটি মন্তব্য হওয়া উচিত ছিল।
রিমাস কুডেলিস

3
Mmmkay। আপনি আমাকে বলতে চান ঠিক কীভাবে আমি একটি মন্তব্যে ফর্ম্যাট কোডটি এম্বেড করব?
বিশৃঙ্খলা

3

পিএইচপি ক্লোজ / ওপেন ট্যাগগুলি ব্যবহার করা খুব ভাল সমাধান নয় কারণ 2 কারণে: আপনি প্লেইন এইচটিএমএল এ পিএইচপি ভেরিয়েবল মুদ্রণ করতে পারবেন না এবং এটি আপনার কোডটি পড়তে খুব কঠিন করে তোলে (পরবর্তী কোড ব্লকটি শেষ বন্ধনী দিয়ে শুরু হয় }, তবে পাঠকটি আছে) আগে কি ছিল ধারণা নেই)।

হেরডোক সিনট্যাক্স ব্যবহার করা ভাল । এটি অন্যান্য ভাষার মতো (যেমন বাশ) ধারণা।

 <?php
 if ($condition) {
   echo <<< END_OF_TEXT
     <b>lots of html</b> <i>$variable</i>
     lots of text...
 many lines possible, with any indentation, until the closing delimiter...
 END_OF_TEXT;
 }
 ?>

END_OF_TEXTআপনার ডিলিমিটার (এটি মূলত ইওএফ, ইওটির মতো কোনও পাঠ্য হতে পারে)। এর মধ্যে সমস্ত কিছু পিএইচপি দ্বারা স্ট্রিং হিসাবে বিবেচিত হয় যেন এটি ডাবল কোটে থাকে, সুতরাং আপনি ভেরিয়েবলগুলি মুদ্রণ করতে পারেন, তবে আপনাকে কোনও উদ্ধৃতি এড়ানোর দরকার নেই, তাই এটি এইচটিএমএল বৈশিষ্ট্যগুলি মুদ্রণের জন্য খুব সুবিধাজনক।

নোট করুন যে সমাপ্তি ডিলিমিটারটি অবশ্যই লাইনটির শুরুতে শুরু হওয়া উচিত এবং সেমিকোলনটি অবশ্যই অন্য কোনও অক্ষর ( END_OF_TEXT;) ছাড়াই ডানদিকে রাখা উচিত ।

একক উদ্ধৃতি ( ') এ স্ট্রিংয়ের আচরণ সহকারে হেরডোককে এখন ডড বলা হয় । Nowdoc এর ভিতরে কোনও পার্সিং করা হয় না। আপনি এটিকে হেরডোকের মতো একইভাবে ব্যবহার করেন, কেবলমাত্র আপনি একক উদ্ধৃতিতে উদ্বোধনী ডিলিমিটার রেখেছিলেন - echo <<< 'END_OF_TEXT'


আমাকে এই মনে করিয়ে দেওয়ার জন্য আপনাকে অনেক ধন্যবাদ। একাধিক শর্তাবলী সহ জটিল জটিল এইচটিএমএল এবং হ'ল বৈশিষ্ট্য এবং উদ্ধৃতিগুলির থেকে পালানোর চেয়ে অনেক সহজ!
ইউটিসি ওয়েবেডিভ

2

সুতরাং যদি শর্তটি আপনি চান মানের সমান হয় তবে পিএইচপি নথিটি "অন্তর্ভুক্ত" চলবে এবং অন্তর্ভুক্ত করে সেই দস্তাবেজটি বর্তমান উইন্ডোতে যুক্ত করবে উদাহরণস্বরূপ:

`

<?php
$isARequest = true;
if ($isARequest){include('request.html');}/*So because $isARequest is true then it will include request.html but if its not a request then it will insert isNotARequest;*/
else if (!$isARequest) {include('isNotARequest.html')}
?>

`



0

আমি জানি এটি একটি পুরানো পোস্ট, তবে আমি সত্যিই ঘৃণা করি যে এখানে কেবল একটি উত্তর রয়েছে যা এইচটিএমএল এবং পিএইচপি মিশ্রিত না করার পরামর্শ দেয়। সামগ্রীতে মিশ্রণের পরিবর্তে টেমপ্লেট সিস্টেমগুলি ব্যবহার করা উচিত, বা নিজেরাই একটি বেসিক টেম্পলেট সিস্টেম তৈরি করা উচিত।

পিএইচপি তে

<?php 
  $var1 = 'Alice'; $var2 = 'apples'; $var3 = 'lunch'; $var4 = 'Bob';

  if ($var1 == 'Alice') {
    $html = file_get_contents('/path/to/file.html'); //get the html template
    $template_placeholders = array('##variable1##', '##variable2##', '##variable3##', '##variable4##'); // variable placeholders inside the template
    $template_replace_variables = array($var1, $var2, $var3, $var4); // the variables to pass to the template
    $html_output = str_replace($template_placeholders, $template_replace_variables, $html); // replace the placeholders with the actual variable values.
  }

  echo $html_output;
?>

এইচটিএমএলে (/path/to/file.html)

<p>##variable1## ate ##variable2## for ##variable3## with ##variable4##.</p>

এর ফলাফল হবে:

Alice ate apples for lunch with Bob.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.