Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP:ऑप्टग्रुप के साथ डायनामिक ड्रॉप डाउन

लूप के लिए दो आपके कोड में नेस्टेड नहीं हैं:

foreach ($groups as $label => $opt) { ?>
    <optgroup label="<?php echo $label; ?>">
<?php   } <-- wrong here
    foreach ($groups[$label] as $id => $name) { ?>
        <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
<?php } ?>

इसका परिणाम यह होता है कि पहले सभी ऑप्ट समूह बनाए जाते हैं और फिर अंतिम समूह के कर्मचारियों को जोड़ा जाता है (क्योंकि $label और $opt लूप समाप्त होने के बाद भी उपलब्ध हैं)।

आपको छोरों को नेस्ट करना होगा (नियंत्रण के लिए वैकल्पिक सिंटैक्स का उपयोग करना संरचनाएं ):

<?php foreach($groups as $label => $opt): ?>
    <optgroup label="<?php echo $label; ?>">
    <?php foreach ($opt as $id => $name): ?>
        <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
    <?php endforeach; ?>
    </optgroup>
<?php endforeach; ?>

इसके अलावा, मुझे लगता है कि आपको emp_id . का उपयोग करना होगा , नहीं grp_id सरणी बनाते समय:

while ($qa = $employees->GetRows()) {
    $groups[$qa['groupname']][$qa['emp_id']] = $qa['empname'];
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql> डेटाबेस टेस्ट बनाएं; त्रुटि 1006 (HY000):डेटाबेस 'परीक्षण' नहीं बना सकता (त्रुटि:2)

  2. एक MySQL सर्वर से एंड्रॉइड ऐप में कैसे प्राप्त करें?

  3. स्ट्रिंग्स की तुलना पहले खाली स्थान वाले एक के साथ की जाती है जबकि दूसरे में नहीं है

  4. बैश में MySQL क्वेरी परिणाम से फ़ील्ड कैसे प्राप्त करें?

  5. MySQL में InnoDB और MyISAM क्या है?