wake-up-neo.com

verwendung von ZWEI in WO-Zustand

Ich möchte die folgende Funktion, um Hotels mit einer Unterkunft zwischen einem bestimmten $minvalue und $maxvalue auszuwählen. Was wäre der beste Weg, das zu tun?

function gethotels($state_id,$city,$accommodation,$minvalue,$maxvalue,$limit,$pgoffset)
    {
        $this->db->limit($limit, $pgoffset);
        $this->db->order_by("id", "desc");
        $this->db->where('state_id',$state_id);
        $this->db->where('city',$city);

        // This one should become a between selector
        $this->db->where($accommodation,$minvalue); 

        $result_hotels = $this->db->get('hotels');
        return $result_hotels->result();

   }
15
Viju Vijay

Du solltest benutzen

$this->db->where('$accommodation >=', minvalue);
$this->db->where('$accommodation <=', maxvalue);

Ich bin mir der Syntax nicht sicher, also bitte ich um Verzeihung, wenn sie nicht korrekt ist.
Jedenfalls wird BETWEEN mit> = min && <= max implementiert.
Dies ist die Bedeutung meines Beispiels.

BEARBEITET:
Betrachten Sie diesen Link Ich denke, Sie könnten schreiben:

$this->db->where("$accommodation BETWEEN $minvalue AND $maxvalue");
43
Marco

In Codeigniter Dies ist ein einfacher Weg, um zwischen zwei Datumsaufzeichnungen zu prüfen ... 

$start_date='2016-01-01';
$end_date='2016-01-31';

$this->db->where('date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');
7
Muhammad Fahad

Klingt korrekt, aber bei der Ausführung dieser Abfrage können Probleme auftreten: Ich würde Folgendes vorschlagen: 

$this->db->where( "$accommodation BETWEEN $minvalue AND $maxvalue", NULL, FALSE );
5
syyu

Ich denke, wir können so schreiben: $ this-> db-> where ('accommodation> =', minvalue); $ this-> db-> where ('accommodation <=', maxvalue);

// ohne Dollar ($) Zeichen Es ist Arbeit für mich :)

0
Dek Sudiana

Möglicherweise tritt auch eine Fehlermeldung auf. "Kollision vom Typ Operand: Datum ist mit int nicht kompatibel.

Verwenden Sie einfache Anführungszeichen um die Daten. Zum Beispiel: $this->db->where("$accommodation BETWEEN '$minvalue' AND '$maxvalue'");

0
user3593238