2010-12-23 19 views
10

मेरा मित्र और मैं ऐसी वेबसाइट बना रहा हूं जो आपकी रुचियों के आधार पर समाचार कहानियों को संकलित करे। क्या चेकबॉक्स डेटा लेने और चयनित चेकबॉक्स से सरणी बनाने का कोई आसान तरीका है? यहां हमारा फॉर्मचेकबॉक्स फॉर्म से सरणी बनाएं

<form action="signup.php" method="POST"> 
    Name: <input type="text" name="name" /> <br /> 
    Username: <input type="text" name="username"> <br /> 
    Password: <input type="password" name="pwd" /> <br /> 
    Email: <input type="text" name="email" /> <br /> 

    <p>By filling out this we will be able to find news articles that will interest you</p>  <br /> 
    Politics<input type="checkbox" name="interest[]" value="Politics" /> <br /> 
    Entertainment<input type="checkbox" name="interest[]" value="Entertainment" /> <br /> 
    Tech <input type="checkbox" name="interest[]" value="Tech" /> <br /> 
    Health<input type="checkbox" name="interest[]" value="Health" /> <br /> 
    Living<input type="checkbox" name="interest[]" value="Living" /> <br /> 
    Travel <input type="checkbox" name="interest[]" value="Travel" /> <br /> 
    World<input type="checkbox" name="interest[]" value="World" /> <br /> 
    Leisure<input type="checkbox" name="interest[]" value="Leisure" /> <br /> 
    Finance<input type="checkbox" name="interest[]" value="Finance" /> <br /> 
    Celebrity Gossip<input type="checkbox" name="interest[]" value="Gossip" /> <br /> 
    Movies<input type="checkbox" name="interest[]" value="Movies" /> <br /> 
    Sports<input type="checkbox" name="interest[]" value="Sports" /> <br /> 

    <input type="submit" value="Submit"> 
</form> 

हम इस डेटा का उपयोग करके एक php सरणी कैसे बनायेंगे?

+0

राजनीति, मनोरंजन, तकनीक आदि चेक बॉक्स के लिए अपेक्षा की जाती है कि वे इसके – austin

उत्तर

27

HTML मार्कअप:

<form method="get"> 
    <input type="checkbox" name="options[]" value="Politics"/> Politics<br/> 
    <input type="checkbox" name="options[]" value="Movies"/> Movies<br/> 
    <input type="checkbox" name="options[]" value="World "/> World<br/> 
    <input type="submit" value="Go!" /> 
</form> 

और php कोड में:

$checked = $_GET['options']; 
for($i=0; $i < count($checked); $i++){ 
    echo "Selected " . $checked[$i] . "<br/>"; 
} 
+0

के लिए अगर हम विकल्प [] "पर एक श्रोता बनाना चाहते हैं कि यह कैसे करें? 'विकल्प' या 'विकल्प [] 'कर रहा है काम नहीं कर रहा है। – Vimal

5

उपयोग करें:

<input type="checkbox" name="mydata[checkbox1]"> Option 1 (politics etc) 
<input type="checkbox" name="mydata[checkbox2]"> Option 2 
<input type="checkbox" name="mydata[checkbox3]"> Option 3 

तो एक सरणी के रूप में $ _POST [ "MyData"] का उपयोग

1

क्षमा करें, लिखने से पहले पोस्ट किया गया :(

बस सुझाव पहले से ही तैनात करने के लिए कुछ सुधार: फार्म के लिए

लेबल का उपयोग करें:

<label for="check_politics">Politics</label> 
<input type="checkbox" name="intrests[]" id="check_politics" value="Politics"/> 

लेबल का उपयोग एक रूप को बढ़ाने के लिए मेरी राय में शानदार है :) सेट करता है, तो ब्लॉक करने के लिए उनके प्रदर्शन आप उन्हें लाइनब्रैक प्राप्त करना चाहते हैं।

और serverside पर यह लूप करने के लिए foreach का उपयोग करें:

$intrests = $_POST['intrests']; 
foreach($intrests as $intrest) { 
    echo $intrest . " is my intrest"; 
} 
0
//options[] makes it an array 
<form method="get"> 
    <input type="checkbox" name="options[]" value="Politics"/> Politics<br/> 
    <input type="checkbox" name="options[]" value="Movies"/> Movies<br/> 
    <input type="checkbox" name="options[]" value="World "/> World<br/> 
    <input type="submit" value="Go!" /> 
</form> 

आप $_GET['options']

द्वारा इस सरणी का उपयोग कर सकते Print_r($_GET['options']) का प्रयास करें; इसमें मूल्य देखने के लिए।

<form action="thispage.php" method="post"> 

    (the previous fields here) 

    <input type="checkbox" name="interests[]" value="Politics 
    <input type="checkbox" name="interests[]" value="Entertainment 
    <input type="checkbox" name="interests[]" value="Tech 
    <input type="checkbox" name="interests[]" value="Health 
    <input type="checkbox" name="interests[]" value="Living 
    <input type="checkbox" name="interests[]" value="Travel 
    <input type="checkbox" name="interests[]" value="World 
    etc... 

    <input type="submit" value="Submit"> 
</form> 

और PHP (:

1

सबसे अच्छा तरीका है मैं (कम से कम मेरे लिए) यह करने के लिए मिल गया चेकबॉक्स यह रास्ता मैं फटना के साथ करना चाहता था हेरफेर और विस्फोट के लिए एक सरणी में परिवर्तित करने के लिए महत्व देता था प्रपत्र से पहले जाना चाहिए):

<?php 
if (isset($_POST['interests'])) { 
    $interests_str = implode(" ", $_POST['interests']);// converts $_POST interests into a string 
    $interests_array = explode(" ", $interests_str);// converts the string to an array which you can easily manipulate 
} 

for ($i = 0; $i > count($interests_array); $i++) { 
    echo $interests_array[$i];// display the result as a string 
} 
?> 

इस स्क्रिप्ट का लाभ यह है कि आप $ interests_array जब भी आप एक आम सरणी के रूप में अपने दस्तावेज़ में चाहते हैं का उपयोग कर सकते है।

1

हे, मैंने किसी भी php रूप में चेकबॉक्स और साथ ही रेडियो बटन बनाना आसान बना दिया है। केवल एक चीज है मैं कोडिनेटर एमवीसी ढांचे का उपयोग कर रहा हूँ।

यहां फ़ंक्शन परिभाषा है जिसे आप अपने सामान्य मॉडल या किसी भी सहायक फ़ाइल में सम्मिलित कर सकते हैं।

function createOptions($fieldName, $labelsArray=array(), $selectedOption, $fieldType,$valuesArray = array()) { 
     $returnString = ''; 
     if(count($valuesArray)!=count($labelsArray)) 
      $valuesArray=$lebelsArray; 
     if ($fieldType === 'checkbox') { 
      for ($i=0;$i<count($labelsArray);$i++) { 
       $returnString.='&nbsp&nbsp&nbsp<input type="checkbox" name=' . $fieldName.' value='.$valuesArray[$i].' id='.$valuesArray[$i]; 
       if(in_array($valuesArray[$i], $selectedOption)){ 
         $returnString.=' checked="checked" '; 
       } 
       $returnString.=' />&nbsp&nbsp<label>'.$labelsArray[$i].'</label>'; 
      } 
     } 
     if ($fieldType === 'radio') { 
      for ($i=0;$i<count($labelsArray);$i++) { 
       $returnString.='&nbsp&nbsp<input type="radio" name=' . $fieldName.' value='.$valuesArray[$i].' id='.$valuesArray[$i]; 
       if($valuesArray[$i]== $selectedOption) 
         $returnString.=' checked="checked" '; 
       $returnString.=' /><label>'.$labelsArray[$i].'</label>'; 
      } 
     } 
     return $returnString; 
    } 

और, आप के रूप में देखें फ़ाइल में इस समारोह कॉल करने के लिए है,

<?php 
echo $this->common_model->createOptions('userHobbies[]', $hobbyOptions, $userHobbies, 'checkbox'); ?> 

पहले पैरामीटर चेकबॉक्स क्षेत्र या रेडियो क्षेत्र है, जो हमेशा होता है दोनों के लिए सभी विकल्प के लिए एक ही होने वाला का नाम है मामलों। दूसरा लेबल सरणी है, तीसरा चुना गया विकल्प है जो फ़ॉर्म को लोड करते समय चेक किए गए विकल्पों को दिखाएगा। चौथा क्षेत्र का प्रकार है जो 'चेकबॉक्स' या 'रेडियो' के रूप में एक स्ट्रिंग होगा। पांचवां मूल्य सरणी होगी, जो, यदि मौजूद है, तो लेबल्स के समान क्रम में लेबल के लिए मान होंगे। यदि इसकी अनुपस्थिति है, लेबल सरणी मान सरणी के रूप में teated जाएगा।

-2
<form action="hitungmakan.php" method="post"><center> 
<table border="1" width="400" cellpadding="3"> 
<tr><td colspan="5" align="center">Menu Makan dan Minum</td></tr> 
<tr><td align="center">Makanan</td> <tdalign="center">Minuman</td></tr>   
<tr> 
<td><input name="makanan[]" type="checkbox" value="nasgor">nasi goreng $.7000<br> 
<input name="makanan[]" type="checkbox" value="wuduk">wuduk $.6000<br> 
<input name="makanan[]" type="checkbox" value="pecel">pecel $.9000</td> 
<td><input name="minuman[]" type="checkbox" value="tehbotol">teh botol $.3000<br> 
<input name="minuman[]" type="checkbox" value="campur">es campur $.7000<br> 
<input name="minuman[]" type="checkbox" value="jeruk">es jeruk $.6000</td> 
</tr> 
<input type="submit" value="Total" name="total"> 
<input type="reset" value="Batal"> 
+0

कृपया मेरी मदद करें, फ़ोरैच के साथ सरणी कैसे करें और यदि –

+0

यदि आपको समस्याएं हैं तो आपको अपना प्रश्न बनाना चाहिए और इस प्रश्न का संदर्भ लें। – Enkode

0

नियमित नाम/मूल्य चर के बीच स्थित पृष्ठ पर भेजे गए सरणी चर को संभालने के लिए निम्नलिखित सामान्य दिनचर्या है।

उदाहरण php:

<?php 
/* 
Summary: Output variables pushed to the page. Handle arrays that have been sent. 
Remarks: $_REQUEST handles posts or gets. 
*/ 
echo '<pre>'; 
foreach($_REQUEST as $name => $value){ 
    if (is_array($value)) { 
    echo "$name:<br />"; 

    // Assign array to something more mnemonic 
    $items = $value; 
    foreach ($items as $item) { 
     echo " $item<br />"; 
    } 
    } else { 
    echo "$name: $value<br />"; 
    } 
} 
echo '</pre>'; 
?> 

उदाहरण मार्कअप:

<form method="post" 
     enctype="application/x-www-form-urlencoded" 
     action="forms-process.php"> 
    <label>Customer name: <input name="customerName" /></label> 
    <fieldset> 
    <legend> Pizza Toppings </legend> 
    <label> <input type="checkbox" name="toppings[]" value="bacon" /> Bacon </label> 
    <label> <input type="checkbox" name="toppings[]" value="cheese" /> Extra Cheese </label> 
    <label> <input type="checkbox" name="toppings[]" value="onion" /> Onion </label> 
    </fieldset> 
    <label><button>Submit order</button></label> 
</form> 

उदाहरण आउटपुट:

customerName: John 
toppings: 
    bacon 
    cheese 
संबंधित मुद्दे