यह मेरी बहुआयामी सरणी है जहां मैं इसे var_dump से प्राप्त करता हूं:

array(17) {
[0]=>
array(4) {
["restaurant_id"]=>
string(3) "246"
["restaurant_name"]=>
string(7) "gresto5"
["cuisines_id"]=>
string(1) "5"
["cuisines_name_1"]=>
string(5) "Deals"
}
[1]=>
array(4) {
["restaurant_id"]=>
string(3) "177"
["restaurant_name"]=>
string(10) "Mamma Rosy"
["cuisines_id"]=>
string(2) "10"
["cuisines_name_1"]=>
string(12) "Italian Food"
}
[2]=>
array(4) {
["restaurant_id"]=>
string(3) "250"
["restaurant_name"]=>
string(8) "Yukihira"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[3]=>
array(4) {
["restaurant_id"]=>
string(3) "285"
["restaurant_name"]=>
string(3) "123"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[4]=>
array(4) {
["restaurant_id"]=>
string(3) "194"
["restaurant_name"]=>
string(17) "Batagor Cuplis   "
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[5]=>
array(4) {
["restaurant_id"]=>
string(3) "283"
["restaurant_name"]=>
string(3) "123"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[6]=>
array(4) {
["restaurant_id"]=>
string(3) "282"
["restaurant_name"]=>
string(3) "123"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[7]=>
array(4) {
["restaurant_id"]=>
string(3) "243"
["restaurant_name"]=>
string(7) "gresto1"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[8]=>
array(4) {
["restaurant_id"]=>
string(3) "161"
["restaurant_name"]=>
string(8) "Pepenero"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[9]=>
array(4) {
["restaurant_id"]=>
string(3) "248"
["restaurant_name"]=>
string(8) "Paparoti"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[10]=>
array(4) {
["restaurant_id"]=>
string(3) "182"
["restaurant_name"]=>
string(11) "Doner Kebab"
["cuisines_id"]=>
string(2) "25"
["cuisines_name_1"]=>
string(12) "Western food"
}
[11]=>
array(4) {
["restaurant_id"]=>
string(3) "284"
["restaurant_name"]=>
string(3) "123"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[12]=>
array(4) {
["restaurant_id"]=>
string(3) "286"
["restaurant_name"]=>
string(3) "123"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
}
[13]=>
array(4) {
["restaurant_id"]=>
string(3) "249"
["restaurant_name"]=>
string(9) "Cita Rasa"
["cuisines_id"]=>
string(1) "1"
["cuisines_name_1"]=>
string(9) "Breakfast"
} 
}

यह मेरा सहायक है

function cuisines_popular(){
$CI=& get_instance();
$CI->load->model('/ADMIN/Restaurants_m');
$popular_cuisines = $CI->Restaurants_m->m_get_popular_cuisines(17);shuffle($popular_cuisines);
foreach($popular_cuisines as $test => $rows){

}
return $popular_cuisines;
}

और यह मेरा मॉडल है:

function m_get_popular_cuisines($num){
    $this->db->select("t1.restaurant_id,t1.restaurant_name,t2.cuisines_id, t3.cuisines_name_1");
    $this->db->order_by("score","desc");
    $this->db->limit($num);
    $this->db->from("uhd_restaurant as t1");
    $this->db->join("uhd_restaurant_cuisines as t2","t2.restaurant_id = t1.restaurant_id");
    $this->db->join("uhd_cuisines as t3","t2.cuisines_id = t3.cuisines_id");
    $this->db->group_by("restaurant_id");
    $query = $this->db->get()->result_array();
    return $query;

}

और यह मेरा विचार है कि खाने का_नाम जोड़ने के लिए

<ul class="unstyled">
                <?php foreach($popular_cuisines as $row => $results):?>
                <li>
                    <a href='/restaurants/cuisines/<?=$results["cuisines_name_1"]?>'><?=$results["cuisines_name_1"]?></a>
                </li>
                <?php endforeach;?>

दोस्तों क्या आप कृपया मेरी मदद कर सकते हैं? मैं व्यंजनों के नाम का एक समूह बनाने की कोशिश कर रहा हूं, जैसे कि यदि व्यंजनों का नाम नाश्ता है, तो कई रेस्तरां में नाश्ते के साथ व्यंजन भी हैं, मैं चाहता हूं कि मेरे विचार से एक ही व्यंजन का नाम बार-बार प्रदर्शित नहीं होगा, इसलिए यदि वहाँ हैं नाश्ते के साथ 7 रेस्तरां, यह केवल 1 नाश्ता प्रदर्शित करेगा, अगर मैं नाश्ते पर क्लिक करता हूं, तो यह उस रेस्तरां को दिखाएगा जिसने नाश्ता किया है।

पीएस सभी रेस्तरां मुझे स्कोर की रेटिंग से मिला। और इसमें कुछ समस्या है, जब मैं अपने पेज को रीफ्रेश करता हूं तो व्यंजनों के नाम बदल जाते हैं जैसे कि अगर डील पहले होती है, तो कभी-कभी जब मैं रीफ्रेश करता हूं तो यह 3 में कूद जाएगा या आखिरी में क्या आप वहां मेरी मदद कर सकते हैं?

पीएस मैं केवल 13 बहुआयामी सरणी दिखाता हूं, वास्तव में मैंने 17 सीमा में रखा है

धन्यवाद

0
Kelvin Halim 10 जून 2016, 05:03

1 उत्तर

सबसे बढ़िया उत्तर

आपको एक नई सरणी संरचना बनाने की आवश्यकता है ताकि आप उस पर आसानी से पुनरावृति कर सकें।

<?php
    $cuisine_stack = array();

    foreach($cuisines as $shop) {
        $cuisine_stack[trim($shop['cuisines_name_1'])][] = $shop;
    }
?>

यह उन सभी परिणामों को उत्पन्न करेगा जो समान cuisine_name_1 समान सरणी में साझा करते हैं।

उदाहरण के लिए

array(
  'Deals' => array(
    array(
      'restaurant_id' => '246',
      'restaurant_name' => 'gresto5',
      'cuisines_id' => '5',
      'cuisines_name_1' => 'Deals'
    )
  'Italian Food' => array(
    array(
      'restaurant_id' => '177',
      'restaurant_name' => 'Mamma Rosy',
      'cuisines_id' => '10',
      'cuisines_name_1' => 'Italian Food'
  )
  'Breakfast' => array(
    array(
      'restaurant_id' => '250',
      'restaurant_name' => 'Yukihira',
      'cuisines_id' => '1',
      'cuisines_name_1' => 'Breakfast'
    ),
    array(
      'restaurant_id' => '285',
      'restaurant_name' => '123',
      'cuisines_id' => '1',
      'cuisines_name_1' => 'Breakfast'
    )
    ....
  )
)

फिर आप बस उसे लूप कर सकते हैं और li प्रदर्शित कर सकते हैं, जो वर्तमान डमी डेटा को देखते हुए आपको 4 ली जैसे सौदे, इतालवी भोजन, नाश्ता, पश्चिमी भोजन के साथ समाप्त होगा

<ul class="unstyled">
    <?php foreach($cuisine_stack as $cuisine => $values): ?>
        <li>
            <a href='/restaurants/cuisines/<?php echo urlencode($cuisine); ?>'><?php echo $cuisine; ?></a>
        </li>
    <?php endforeach;?>
</ul>
0
Bankzilla 10 जून 2016, 07:13
क्या आप मेरी मदद कर सकते हैं कि कैसे भोजन_लिंक को परिभाषित किया जाए? यह मेरे डेटाबेस से है, urlencode($cuisine) मुझे इसे $cuisine["cuisines_link'] में बदलने की आवश्यकता है
 – 
Kelvin Halim
10 जून 2016, 07:36
आपने अभी बताया कि इसे कैसे करना है
 – 
Bankzilla
13 जून 2016, 01:10