कुछ इस तरह
printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n",
($subscribedrips == 'Yes' ? 'CHECKED' : ''));
printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n",
($subscribedrips == 'No' ? 'CHECKED' : ''));
काम करता है। यह 'CHECKED'
. डालने के लिए टर्नरी ऑपरेटर का उपयोग करता है या $subscribedrips
. के मान के आधार पर इनपुट टैग में एक खाली स्ट्रिंग ।
आप अधिक क्रियात्मक तरीके से भी कर सकते हैं, उदाहरण के लिए स्विच के साथ:
$sel_y = '';
$sel_n = '';
switch($subscribedrips)
{
case 'Yes':
$sel_y = 'CHECKED';
break;
case 'No':
$sel_n = 'CHECKED';
break;
default:
// Neither need to be changed, so we dont even need this branch
break;
}
printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n", $sel_y);
printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n", $sel_n);
व्यक्तिगत वरीयता वास्तव में।
अपडेट किया गया स्निपेट 1
printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n",
((array_key_exists('subscribedrips', $row) && $row['subscribedrips'] == 'Yes') ? 'CHECKED' : ''));
printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n",
((array_key_exists('subscribedrips', $row) && $row['subscribedrips'] == 'No') ? 'CHECKED' : ''));
अपडेट किया गया स्निपेट 2
$sel_y = '';
$sel_n = '';
if(array_key_exists('subscribedrips', $row))
{
switch($row['subscribedrips'])
{
case 'Yes':
$sel_y = 'CHECKED';
break;
case 'No':
$sel_n = 'CHECKED';
break;
default:
// Neither need to be changed, so we dont even need this branch
break;
}
}
printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n", $sel_y);
printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n", $sel_n);
आपके अंतिम प्रश्न के संबंध में, हमारे दृष्टिकोणों के बीच का अंतर बहुत आसान है, लेकिन एक बार फिर (आह!) यह एक शैली पसंद है, दोनों एक ही लक्ष्य को पूरा करते हैं, दोनों विधियों का उपयोग "उत्पादन" PHP कोड में किया जाता है।
मेरा उदाहरण PHP में संपूर्ण इनपुट टैग बनाता है और इसे प्रिंट करता है। वैलेंटाइनस का दृष्टिकोण स्थिर पाठ को PHP स्ट्रिंग्स से बाहर निकालता है और सीधे HTML में डालता है।
उदाहरण के लिए, निम्न पंक्तियों का परिणाम एक ही आउटपुट में होगा:
<?php printf("<strong>%s</strong>", $some_string); ?>
<?php echo "<strong>$some_string</strong>"; ?>
<?php echo "<strong>".$some_string."</strong>"; ?>
<strong><?php echo $some_string; ?></strong>
मुझे संदेह है कि दो विधियों के बीच कोई महत्वपूर्ण प्रदर्शन अंतर है, लेकिन एक कॉस्मेटिक अंतर है जिसे मैं उजागर करूंगा।
-
सिंटैक्स हाइलाइटिंग - यदि आप सिंटैक्स हाइलाइटिंग वाले संपादक का उपयोग करते हैं, तो वैलेंटाइनस का दृष्टिकोण सिंटैक्स हाइलाइटर को
input
को उचित रूप से हाइलाइट करने की अनुमति देगा टैग और उसके गुण। मेरे दृष्टिकोण का उपयोग करते हुए, पूरी स्ट्रिंग को समान रूप से हाइलाइट किया जाएगा। यहां एक स्क्रीनशॉट है दिखा रहा है कि कैसे नोटपैड++ दो विधियों को हाइलाइट करता है।जैसा कि आप देख सकते हैं कि वैलेंटाइनस का दृष्टिकोण अधिक रंगीन प्रदर्शन में परिणाम देता है, जो त्रुटियों को पहचानने और उन्हें ट्रैक करने में मदद कर सकता है।
यदि आप सशर्त रूप से पूरे टैग को प्रिंट करना चाहते हैं, तो आपके कोड को प्रारूपित करने के तरीके के बारे में कुछ सूक्ष्म अंतर हैं, लेकिन वे वास्तव में बात करने लायक नहीं हैं - मेरी राय में, सबसे बड़ा, सिंटैक्स हाइलाइटिंग है।पी>