Uygulama örneği. Bitrix'te canlı arama. Uygulama örneği Erkek arama öğesi php i gerektir
Bugünün dersinde, bakacağız php mysql arama. Çok sayıda arama komut dosyası var, bazıları veritabanı kullanıyor, diğerleri onsuz yapıyor, tam sıralamalı gelişmiş aramalar var. Veritabanından iki tablo hakkında bilgi arayan olağan basit aramaya odaklanacağız. MySQL.
İlk adım. MySQL veritabanı.
Veritabanı oluşturma search_lite, iki tablosu var haberler- haberler ve vakum- boş işler.
Ayrıcalıkları ayarlayın:
Giriş yapmak - " kök",
Şifre - "",
Ev sahibi - " yerel ana bilgisayar".
Haber tablosunun dökümü.
`news` tablosu için tablo yapısı -- MEVCUT DEĞİLSE TABLO OLUŞTURUN `news` (`id` int(2) NOT NULL, `title` varchar(255) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id` int(2) NOT NULL `)) MOTOR=MyISAM VARSAYILAN CHARSET=cp1251;
Döküm masa boşluğu - boş yerler.
'vac' tablosu için tablo yapısı -- MEVCUT DEĞİLSE TABLO OLUŞTUR ('id' int(2) NULL DEĞİL AUTO_INCREMENT, 'title' varchar(255) NULL DEĞİL, 'metin' metni NULL DEĞİL, BİRİNCİL ANAHTAR (` id`)) MOTOR=MyISAM VARSAYILAN CHARSET=cp1251 AUTO_INCREMENT=3 ;
İkinci adım. HTML ve PHP.
Veritabanına bağlanıyoruz. Bir değişken üzerinde bir koşul ayarlayın $arama, arama sorgusunun girilmediği veya 4 karakterden az olduğu ve ayrıca eğik çizgi olup olmadığını kontrol edin ve değişkeni kırpın. Veritabanında iki tablo arayan iki sorgu oluşturuyoruz haberler ve vakum alan arama koşuluna göre Metin. (Kaç tablo aramanız gerektiğini zaten seçebilirsiniz. Örneğin, tablolarınız olacaktır. dersler, malzemeler, nesne vb. Alan yerine arama koşullarını da değiştirebilirsiniz. Metin, alanı seçebilirsiniz Başlık veya başka bir alan.) Ardından değişkende aramayı görüntülerken metinde kaç karakter olduğunu belirtiyoruz. $semboller. tablolarda ise haberler ve vakum Aramada hiçbir şey bulunamadı, bir mesaj gösteriyoruz. Bulunursa, iki tablodan veri çıktısı alın haberler ve vakum verilen arama sorgusu için.
$db = mysql_connect ("localhost", "root", ""); mysql_select_db ("search_lite", $db); if (!$db) echo mysql_error(); if(isset($search)) { if(empty($search) OR strlen($search) < 4) { echo "
"; Eko "
"; ) başka ( yankı "
"; $search = htmlspecialchars(stripslashes(trim($search))); $sql_news = mysql_query("SEÇ id, başlık, metin NEREDE metin GİBİ "%$search%"); $news = mysql_num_rows($sql_news ); $sql_vac = mysql_query("ID, başlık, vac WHERE'DEN metin SEÇİN "%$search%"); $vac = mysql_num_rows($sql_vac); $find = $search; $symbolls = "80"; if ($news==0 ve $vac==0) echo "
"; else ( /*News/news - tablo*/ for($i=1; $news = mysql_fetch_array($sql_news); $i++) ( $search_text = $news["text"]; $search_text = strip_tags($ arama metni, "
"); $search_txt_length = strlen($search_text); $search_first_enter = strpos(strtolower($search_text), strtolower($find)); $pad_left = $search_first_enter - $semboller; $pad_right = + $search_first_enter + 5;semboller if ($pad_right><0) $pad_left = "0"; $search_text = substr($search_text, $pad_left, $pad_right); $search_text = str_replace (strtolower($find), "".strtolower($bul)."
$i. $haber
|
...$arama_metni...
haberlerde bulunan |
"; ) /*İşler/vac - tablo*/ for($i=1; $vac = mysql_fetch_array($sql_vac); $i++) ( $search_text = $vac["text"]; $search_text = strip_tags($search_text "
"); $search_txt_length = strlen($search_text); $search_first_enter = strpos(strtolower($search_text), strtolower($find)); $pad_left = $search_first_enter - $semboller; $pad_right = + $search_first_enter + 5;semboller if ($pad_right>$search_txt_length) $pad_right = $search_txt_length; if ($pad_left<0) $pad_left = "0"; $search_text = substr($search_text, $pad_left, $pad_right); $search_text = str_replace (strtolower($find), "".strtolower($bul)."", strtolower($search_text)); yankı"
$i. $vac
|
...$arama_metni...
boş işlerde bulundu |
"; } } } } ?>
Üçüncü adım. CSS.
Aramamızı şekillendirecek bazı stiller yazalım.
Arama_adı ( renk: siyah; yazı tipi boyutu: 18 piksel; ) .arama_soruları ( renk: siyah; yazı tipi ağırlığı: kalın; yazı tipi boyutu: 15 piksel; ) .search_query ( renk: mavi; yazı tipi stili: İtalik; ) .search_error ( renk: kırmızı; yazı tipi boyutu: 15 piksel; ) .search_input ( kenarlık: 1 piksel düz siyah; genişlik: 500 piksel; yükseklik: 30 piksel; ) .search_word ( renk: mavi; ) .search_title ( yazı tipi boyutu: 20 piksel; renk: mavi; yazı tipi ağırlığı: kalın; ) .search_text ( yazı tipi boyutu: 15 piksel; renk: siyah; ) .search_cat ( yazı tipi boyutu: 12 piksel; renk: gri; kayan nokta: sağ; kenar boşluğu: 20 piksel; )
Sizinle basit bir şekilde düşündük php mysql arama Bir veritabanından bilgi arayan A. Duruma göre, iki tablo kullanılır, herhangi bir uygun şekilde özelleştirebilirsiniz. Bir sonraki ders, yalnızca gelişmiş özelliklerle basit bir aramanın analojisine ayrılacaktır.
11.1KHerhangi bir sitedeki en popüler ve gerekli işlevlerden biri, özel bir form kullanılarak uygulanan bir aramadır. Bu işlevsellik, ziyaretçilerin ilgilendikleri içeriği sitede hızlı bir şekilde bulmalarını sağlar.
Bugün size veritabanı tablolarını sorgulayacak ve sitedeki mevcut yöneticilerle ilgili bilgileri görüntüleyecek özel bir form kullanarak sitede nasıl arama yapacağınızı anlatmak istiyoruz. Mevcut personel hakkında bilgi içeren bir veritabanı tablosunun nasıl oluşturulacağını öğreneceksiniz.
PHP ile arama formları geliştirin ve SQL'e aşina olun ( Yapılandırılmış sorgu dili) veritabanlarında bulunan bilgilerin toplanması, kaydedilmesi ve değiştirilmesi için özel bir dildir. Başlamadan önce şunları yapmanızı öneririz: proje dosyalarını indir.
neye ihtiyacın olacak
- MySQL veritabanı aracı.
- PHP destekli yerel veya uzak sunucu.
- Metin düzeltici.
Veritabanı oluşturma
Barındırma sisteminizdeki veritabanıyla başa çıkabileceğinizden tam olarak emin değilseniz, talimatlar veya yardım için ana bilgisayarla iletişime geçin. Veritabanı oluşturulduktan sonra, onu bağlamanız, bir tablo oluşturmanız ve gerekli verileri ona yazmanız gerekecektir.
En popüler MySQL yönetim aracı PHP My Admin'dir.Bu araç bugünkü rehberimiz için yeterli olacaktır.
Tablo oluştur
Tablomuz aşağıdaki formatta oluşturulmalıdır:
sütun adı | veri tipi | Uzunluk | Null veya Null Değil | birincil anahtar? | Otomatik artış |
İD | INT | 1 | Geçersiz değil | Evet | Evet |
İlk adı | Varchar | 50 | Geçersiz değil | hayır | hayır |
Soyadı | Varchar | 50 | Geçersiz değil | hayır | hayır |
E-posta | Varchar | 50 | Geçersiz değil | hayır | hayır |
Telefon numarası | Varchar | 15 | Geçersiz değil | hayır | hayır |
Bir veritabanı tablosu, tıpkı Excel'de olduğu gibi sütunlardan ve satırlardan oluşur. İlk sütun, verileri ada göre tanımlamanıza olanak tanır. Ardından, sütunda bulunan veri türünü bize gösteren Veri türleri (veri türü) sütunu gelir. Uzunluk (Uzunluk) alanında, bir tablo sütunu için maksimum bellek (depolama) miktarını gösterir. Daha fazla esneklik sağlayan değişkenler kullanıyoruz. Başka bir deyişle, tam adın uzunluğu 50 karakterden azsa, ayrılan alanın yalnızca bir kısmı işgal edilecektir.
Ve personel verileri arasında boş değerler olamaz ( boş, boş). Kimlik sütunu ana anahtarımız olduğu için ilk satır sarı renkle vurgulanmıştır. Veritabanındaki birincil anahtar, her girişin benzersiz olacağını garanti eder. Bu sütun aynı zamanda otomatik olarak artırılır, bu, veritabanımızdaki her kayda otomatik olarak benzersiz bir numara atanacağı anlamına gelir.
Tabloya personel temsilcilerini giriyoruz
Tabloyu anladıktan sonra, onu verilerle doldurmaya başlayın. İşlemi zihinde sabitlemek için 6 giriş yeterlidir. İşte kendi örneğim:
Sütun Kimliği | İlk adı | Soyadı | E-posta | Telefon numarası |
2 | Ryan | uşak | [e-posta korumalı] | 417-854-8547 |
3 | Brent | Callahan | [e-posta korumalı] | 417-854-6587 |
Form geliştirme
Google üzerinden bir site arama formu oluşturmak için uygun herhangi bir metin düzenleyiciyi açın. Ücretsiz PSPad kullanmanızı tavsiye ederim. Sözdizimi vurgulaması olan herhangi bir metin düzenleyiciyi kullanabilirsiniz. Bu, PHP kodunu yazma ve hata ayıklama sürecini büyük ölçüde kolaylaştıracaktır. Bir arama formu için bir sayfa oluştururken, onu .php formatında kaydettiğinizden emin olun, aksi takdirde PHP kodu düzgün şekilde ayrıştırılmayacaktır. Belgeyi kaydettikten sonra, aşağıdaki işaretlemeyi içine kopyalayın:
Ayrıntılı kişi arama
Adına veya soyadına göre arama yapabilirsiniz
HTML diline aşina iseniz, en azından açılış formu etiketine kadar her şey sizin için net olmalıdır. Bu etiketin içinde, tüm kodun en önemli öğesi olan action özelliği bulunur. Formumuzun eylemi olarak dosyamızın adını belirledik ve ardından sorgu dizesini uyguladık “ Git”.
Kriter kontrolü
Kullanıcı bir ad veya soyadı girip gönder düğmesine tıkladığında, form verileri kendisine gönderir ve sorgu dizesini ekler. Git". Bu noktada go sorgu dizesinin varlığını kontrol ediyoruz. Sonuç olumluysa, arama sonuçlarını görüntüleriz.
İstenen sonuçları görüntülemeden önce, iki kez kontrol etmemiz gerekir: (1) form gönderildi mi, (2) sorgu dizesi go değerini içeriyor mu, (3) arama terimi küçük harfle mi yoksa büyük harfle mi girildi? Kontrollerin hiçbiri olumlu sonuç vermiyorsa ( doğru), herhangi bir işlem yapmamıza gerek yoktur.
İlk olarak, kapanış etiketinden sonra site araması için küçük bir PHP kodu bloğu ekleyelim.: