Site booking pentru mobil – Listare localitati

Azi vom implementa listarea localitatilor pentru toate tipurile de cazare, cum ar fi: hoteluri, pensiuni, case, vile, etc. Pentru a adauga aceasta functionalitate site-ului mobil avem de adaugat( utilizam frameworkul MVC CodeIgniter ) :

  1. o metoda in controller pentru a avea informatiile in variabile
  2. un sablon pentru afisarea continutului (afisarea variabilelor)
  3. o metoda in MODEL pentru interogarea informatiilor dorite
Afisarea localitatilor pentru tipurile de cazare

Codul din CONTROLLER

public function category()
{
    $hotel_type_arr                = $this->config->item('hotel_type_arr'); 
    $this->data['category_id']     = $this->uri->segment(3);
    $this->data['category_name']   = $hotel_type_arr[$this->data['category_id']];
    $this->data['book_page_title'] = ucfirst($this->data['category_name']);
    $this->data['content']         = 'main/category';
    $this->data['cities']          = $this->City_model->get_all_entries();

    $this->load->view('layout', $this->data);
}

EXPLICATII:

  • linia #3 : se citeste tipurile de cazare existente. Tipurile de cazare sunt salvate in config
  • linia #4 : se citeste id-ul categoriei de cazare din URL. URL-ul are urmatoarea structura: http://mbooking.sandorkovacs.ro/main/category/1
  • linia #5 : se salveaza numele tipului de cazare intr-o variabila
  • linia #6 : in plus vom afisa tipul de cazare si in titlul paginii
  • linia #7 : calea catre fisierul sablon in care se va face afisarea
  • linia #8 : se face o interogare cu toate localitatile existente in baza de date

Codul din VIEW

<?php if (isset($cities)): ?>
<ul data-role="listview" data-theme="a">
  <?php foreach ($cities as $city): ?>
	  <li><a href="#"><?php echo $city->name; ?></a></li>
  <?php endforeach; ?>
</ul>
<?php endif; ?>

EXPLICATII:

  • linia #1: verificam daca exista localitati in baza de date
  • linia #3 : parcurgem fiecare inregistrare (localitate)
  • linia #4 : afisam numele localitatii

Codul din MODEL

    function get_all_entries($limit = 100)
    {
        $this->db->order_by("name", "asc");
        $query = $this->db->get($this->table_name, $limit);
        return $query->result();
    }

EXPLICATII:

Am folosit ACTIVE RECORD pentru interogarile din baza de date MySQL.

  • linia #3 : ordonare dupa nume in ordine alfabetica
  • linia #4 : contruirea interogarii finale unde primul parametru este numele tabelei, iar al doilea parametru este limita. Daca in tabel avem 300 de localitati si setam limita la 30 atunci se vor interoga doar 30 de localitati
  • linia #5 : returnarea rezultatului

Demo

Pentru a vizualiza varianta demo intrati pe mbooking.sandorkovacs.ro si dati clic pe oricare tip de cazare. Se va afisa o lista cu localitatile existente in baza de date – tabela cities

Anunțuri

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s