PHP: Düzgün Arama

0 Cevap

Ben şimdi bu hakka sahip:

if(isset($_POST["search"]) && !empty($_POST["search"])) {
    $full_name = mysql_real_escape_string($_POST["search"]);
    $sex = mysql_real_escape_string($_POST["sex"]);
    list($firstname, $lastname) = array_map('ucfirst', explode(' ', $full_name));
    $query = "SELECT firstname, lastname, id, user_name, sex, last_access, bostadsort FROM users WHERE (firstname LIKE '$firstname' OR lastname LIKE '$lastname') AND sex = '$sex'"; 
    $result1 = mysql_query($query) or die(mysql_error());
    $count = mysql_num_rows($result1);
    while($get = mysql_fetch_array  ($result1)){
        echo $get["firstname"] . " " .$get["lastname"]."<br>";
    }
}

Bu benim arama sorgusu olduğunu. Şimdi form "tam adları arama" denir. Siz yazın, ve sonra $ ad, $ lastname böler.

Harika çalışıyor, sorun yok.

Belki firstname kullanıcıları hatırlamıyorum çünkü SADECE, bir kullanıcının Soyad girerseniz olsa, o zaman bu kodu bir boşluk önce tüm firstname (list () hat), çünkü bir Isim olarak almak ve $ Isim koyar olacak O lastname hiçbir firstname var gibi ve hiçbir şey neden olur.

I bu nasıl çözebilir? Eğer Isim ile arama yaparsanız çok ince, tam adı çalışıyor, ama soyad değil sadece. Herhangi bir akıllı çözüm?

0 Cevap