2016-06-23 9 views
0

Ich habe eine Suche auf mehreren Ebenen mit codigniter erstellt Ich habe wie aktive Datensätze zu tun, aber ich weiß nicht, warum es nicht funktioniert, lassen Sie uns annehmen, wenn ich etwas suche und die Schlüsselwörter wiedergeben und passen sie es mit Datenbank ja, sie passen aber ich weiß nicht, warum die sQL 0 Datensätze zurückkehrt aus der DatenbankMulti-Step-Suche funktioniert nicht in Codeigniter

Php Code

$position = $this->session->set_userdata('position', $this->input->post('position')); 
       $adress_all = explode(",", $this->session->userdata('address')); 
       $keyword = array(
        'address' => $adress_all[0], 
        'game'  => $this->session->userdata('skills'), 
        'gender' => $this->session->userdata('coach'), 
        'Positions' => $this->session->userdata('position') 
       ); 

       print_r($keyword); 
       $sql = $this->db->like($keyword); 
       $sql = $this->db->get_where('coach', array('type' => 'private')); 

HTML-Formular

<!--Step 1 --> 
<form action="<?php echo base_url() . "home/main?st=step1" ; ?>" method="POST"> 
       <ul> 
        <li><input type="text" placeholder="Categoría" name="skills" id="skills" onkeyup="autocomp();" /> 
         <ul id="resultkeyword"></ul> 
        </li> 
        <li><input id="geocomplete" type="text" name="address" placeholder="Código Postal" size="90" /></li> 
        <li><button type="submit" class="cutter-btn" name="process">Buscar<span><i class="fa fa-angle-right" aria-hidden="true"></i></span></button></li> 
       </ul> 
      </form> 

     <!--Step 2--> 
       <form action="<?php echo base_url() . "home/main?st=step2" ; ?>" method="POST" class="step-form"> 
        <h3>Preferred gender of your coach:</h3> 
        <div class="form-group"> 
        <div> 
         <input id="radio1" type="radio" name="coach" value="" checked="checked"><label for="radio1">No Preference</label> 
        </div> 
        <div> 
         <input id="radio2" type="radio" name="coach" value="Male"><label for="radio2">Only Show Male</label> 
        </div> 
        <div> 
         <input id="radio3" type="radio" name="coach" value="Female"><label for="radio3">Only Show Female</label> 
        </div> 
        </div> 

        <a href="<?php echo base_url() . "home/main" ; ?>" class="nxt-step"><i class="fa fa-angle-double-left" aria-hidden="true"></i> Previous</a> 
        <button type="submit" class="nxt-step">Next <i class="fa fa-angle-double-right" aria-hidden="true"></i></button> 

       </form> 

<?php 
    $session_data = array(
     'country' => $this->input->post('country'), 
     'coach' => $this->input->post('coach') 
    ); 
    $this->session->set_userdata($session_data); 
?> 
    <!-- STEP 3 --> 
       <form action="<?php echo base_url() . "home/listings" ; ?>" method="POST" class="step-form"> 
        <h3>What position?</h3> 
        <div class="form-group"> 
        <div> 
         <input id="posotion1" type="radio" name="position" value="Not Sure" checked="checked"><label for="posotion1">Not Sure</label> 
        </div> 
        <div> 
         <input id="posotion2" type="radio" name="position" value="Guard"><label for="posotion2">Guard</label> 
        </div> 
        <div> 
         <input id="posotion3" type="radio" name="position" value="Forward"><label for="posotion3">Forward</label> 
        </div> 
        <div> 
         <input id="posotion4" type="radio" name="position" value="Center"><label for="posotion4">Center</label> 
        </div> 
        </div> 

        <a href="<?php echo base_url() . "home/main?st=step2" ; ?>" class="nxt-step"><i class="fa fa-angle-double-left" aria-hidden="true"></i> Previous</a> 
        <button type="submit" class="nxt-step">Next <i class="fa fa-angle-double-right" aria-hidden="true"></i></button> 

       </form> 
    <!-- END STEP 3 -->  
gefunden werden 10

Hier ist das Ergebnis für print_r Array ([Adresse] => 2707 Broadway [Spiel] => Basketball [Geschlecht] => Male [Positionen] => Schutz)

Datenbankwerte Adresse: 2707 Broadway Spiel : Basketball Geschlecht: männlich Position: Guard nach vorne, zurück

wenn ich alle 3 außer jedem davon 1 Kommentar dann bekam ich Ergebnis, aber wenn alle 4 Array uncommented sind dann bedeutet, dass ich bin kein Ergebnis bekommen, wenn ich bin Übergabe nur 1 Wert, dann Sql gibt Zeilen zurück, aber wenn es mehr als 1 gibt dann die Sql gibt 0 Zeilen zurück Ich meine zu sagen, die Schlüsselwerte sind passend, warum dann gibt mir 0 Ergebnis zurück?

Antwort

0

können Sie or_like Methode in mehrere Spalte suchen

$this->db->like('address', $adress_all[0]); 
$this->db->or_like('game', $this->session->userdata('skills')); 
$this->db->or_like('gender', $this->session->userdata('coach')); 
$this->db->or_like('Positions', $this->session->userdata('position')); 
$sql = $this->db->get_where('coach', array('type' => 'private')); 
+0

Sie die Lösung versuchen Haben ?? – Saty

+0

Ich habe versucht, Ihre Abfrage und es wird übereinstimmende Ergebnisse erhalten, aber Typ> private nicht funktioniert es auch öffentlichen Coach erhalten –

Verwandte Themen