MySQL / SQL bir metin alanının ilk 40 karakterleri almak?

3 Cevap php

Nasıl mysql db tablodan bir metin alanını almak, ancak değil tüm metin, sadece birkaç 40 ya da öylesine karakterler.

Bu sql yapılabilir yoksa ben php kullanarak yapmak gerekiyor?

temelde ne yapmaya çalışıyorum ilk x karakterleri göstermek ve daha sonra kullanıcının tam içeriğini görüntülemek için bu tıklayın bildirin.

3 Cevap

SELECT LEFT(MY_COLUMN, 40) FROM MY_TABLE

MySQL başvuru kılavuzunda Fonksiyon:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length

Diğerleri zaten gösterildiği gibi SQL bu yapabilirdi.

Ancak, also üzerinde kullanıcı tıkladığında, aynı zamanda tam metin gerekiyorsa tam metnini göstermek istiyorum ve veritabanı size kısa ve tam metnini göndermek izin için bir atık gibi görünüyor eğer. Yani tam metnini kapmak ve kısa metin ve kullanıcı tıkladığında tam metnini göstermek için bazı kod yazabilirsiniz.

$result = mysql_query('SELECT text FROM table');
$row = mysql_fetch_row($result);
echo '<div onclick="alert(\''.$row[0].'\');">'.substr($row[0], 0, 40).'</div>';

Bunu üzerine tıklayın (yerine alert()) zaman Tabii siz daha güzel bir şey yapabilirdi. Ayrıca orijinal 40 karakterden daha kısa olup olmadığını görmek ve bu gibi durumların üstesinden şimdi kontrol bazı PHP yapabilirdi.