MYSQL / PHP verileri eşleşen ifade ayıklamak nasıl?

3 Cevap php

Benim web arama işlevselliğini uygulamak çalışıyorum. Ben veri türünü şu var.

Title                Descr  
-----                ----- 
World News           World news, news from across the world, all world news events covered
World Sports         World sports news, for all of sports people, sports is a famous world

Şimdi ben, kullanıcı daha sonra neden "dünya haberleri" için arama eğer aşağıdaki gibi görünecektir istiyorum

World News (title)
... all world news events covered ... (descr)

Temelde rastgele temelinde bazı ifadeler göstermek istiyorum. Gibi "dünya haberleri" için arama kullanıcı daha sonra bazı zamanlar o yukarıda bazen aşağıda benzeri gibi yol alırsınız zaman,

World News (title)
World news, news from across the world, ... (descr)

Biz mysql sorguları kullanarak işlevsellik bu tür alabilirsiniz nasıl söyle, ya da onun doğrudan mümkün değil ise mysql sorguları aracılığıyla sonra nasıl PHP kullanarak mümkündür edin.

Google bazen, google ifadeler orta oluşturan ve bazen başlangıç ​​metni displayes displayes aynı şeyi yapar.

Teşekkürler.

3 Cevap

Sonra ne ulaşmak için bir MySQL yöntem varsa emin değil. Ben veritabanından alanını çekin ve daha sonra bir ifade rastlantısallaştırmak için PHP'nin patlayabilir () işlevini kullanın:

$desc_field_result = "World news, news from across the world, all world news events covered"; // The "Desc" field from your MySQL Query

$desc_field_array = explode(",",$desc_field_result);

$selected_desc = $desc_field_array[rand(0,sizeof($desc_field_array)-1)];

echo $selected_desc;

Google sadece bazı rastgele cümle dönmez. Bu, aradığınız kelimeyi içeren parçacık (veya iki) döndürür. MySQL sizin için yapamaz. Ya (elle döndürülen veritabanı satırda anahtar kelimeler için arama ve ilgili bir pasajı görüntülemek) veya (örneğin Xapian, Sfenks ya Apache Lucene gibi) sizin için bunu yapabilirsiniz bir arama motoru kullanmak PHP elle yapmak gerekir.

Eğer mysql tabloda depolanan başlıkları ve açıklama varsa, böyle bir şey deneyin:

SELECT descr FROM yourTable WHERE title='World News' ORDER BY RAND()

ORDER BY RAND() koşul rastgele olma başlığın durumu World news eşleşen satırları birini seçecek