close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

restrict length of text displayed in results list

Thread began 2/26/2010 2:55 am by john.cummins125554 | Last modified 2/26/2010 11:51 pm by john.cummins125554 | 1827 views | 5 replies |

john.cummins125554

restrict length of text displayed in results list

I'm trying to show a list of quotations (with their date and author) and would like to show only the start of the quote, is it possible to restrict the length of a text string to 150 characters even though the complete string length may be mush more?

The view can then select the quote to see the 'detail' page that has the complete quote.

Also it would be nice to finish on a blank and not in the middle of a word

I'm using DataAssist 1.3.1, php, MySQL 5 and Dreamwear CS4

Sign in to reply to this post

CraigRBeta Tester

to show the first 150 charcters only in a string, you can edit the sql as follows (for example)...

left(fieldname,150) as fieldname150.

to prevent half-words, you can look for the last space in the 150 character string and trim it again.

this can be done with a bit of php...

in the code recordset is the name of your mysql recordset

<?php
$extract = $row_recordset['fieldname150'];
$lastspace = strrpos($extract, ' ');
$extract_word = substr($extract, 0, $lastspace).'...';
echo nl2br($extract_word);
?>

you now have a new string variable called $extract_word with slightly fewer than 150 characters, but ending on a whole word, with an ellipsis tagged onto the end.

Here it is on a site news.php

Sign in to reply to this post

john.cummins125554

thats exactly what I'm after.

I've got the bit about displaying the text, here's how it translates...
<?php
$extract = $row_WADATestimonials['fieldname150'];
$lastspace = strrpos($extract, ' ');
$extract_word = substr($extract, 0, $lastspace).'...';
echo nl2br($extract_word);
?>

I've tested it with the actual 'full length' text "tTEXT" and I can get it to display with the '...' at the end.

I don't understand where to put the sql to limit the text to 150 characters...

left(fieldname,150) as fieldname150.

here is the sql that was created by DataAssist...
<?php
$maxRows_WADATestimonials = 10;
$pageNum_WADATestimonials = 0;
if (isset($_GET['pageNum_WADATestimonials'])) {
$pageNum_WADATestimonials = $_GET['pageNum_WADATestimonials'];
}
$startRow_WADATestimonials = $pageNum_WADATestimonials * $maxRows_WADATestimonials;

mysql_select_db($database_connHORIZONr, $connHORIZONr);
$query_WADATestimonials = "SELECT * FROM Testimonials ORDER BY tID DESC";
$query_limit_WADATestimonials = sprintf("%s LIMIT %d, %d", $query_WADATestimonials, $startRow_WADATestimonials, $maxRows_WADATestimonials);
$WADATestimonials = mysql_query($query_limit_WADATestimonials, $connHORIZONr) or die(mysql_error());
$row_WADATestimonials = mysql_fetch_assoc($WADATestimonials);

if (isset($_GET['totalRows_WADATestimonials'])) {
$totalRows_WADATestimonials = $_GET['totalRows_WADATestimonials'];
} else {
$all_WADATestimonials = mysql_query($query_WADATestimonials);
$totalRows_WADATestimonials = mysql_num_rows($all_WADATestimonials);
}
$totalPages_WADATestimonials = ceil($totalRows_WADATestimonials/$maxRows_WADATestimonials)-1;$maxRows_WADATestimonials = 10;
$pageNum_WADATestimonials = 0;
if (isset($_GET['pageNum_WADATestimonials'])) {
$pageNum_WADATestimonials = $_GET['pageNum_WADATestimonials'];
}
$startRow_WADATestimonials = $pageNum_WADATestimonials * $maxRows_WADATestimonials;

mysql_select_db($database_connHORIZONr, $connHORIZONr);
$query_WADATestimonials = "SELECT * FROM Testimonials ORDER BY tID DESC";
$query_limit_WADATestimonials = sprintf("%s LIMIT %d, %d", $query_WADATestimonials, $startRow_WADATestimonials, $maxRows_WADATestimonials);
$WADATestimonials = mysql_query($query_limit_WADATestimonials, $connHORIZONr) or die(mysql_error());
$row_WADATestimonials = mysql_fetch_assoc($WADATestimonials);

if (isset($_GET['totalRows_WADATestimonials'])) {
$totalRows_WADATestimonials = $_GET['totalRows_WADATestimonials'];
} else {
$all_WADATestimonials = mysql_query($query_WADATestimonials);
$totalRows_WADATestimonials = mysql_num_rows($all_WADATestimonials);
}
$totalPages_WADATestimonials = ceil($totalRows_WADATestimonials/$maxRows_WADATestimonials)-1;
?>

what do I need to change to limit the tTEXT field to 150

thanks in advance

Sign in to reply to this post

Dani Chankhour

Here is an example:

<input type="text" name="textfield" id="textfield" maxlength="150" />

Sign in to reply to this post

CraigRBeta Tester

dataassist has made your select statement like this...

SELECT * FROM Testimonials ORDER BY tID DESC

replace the * with the field names you need with a comma between them

for example to add only tID and tTEXT

SELECT tID, tTEXT FROM Testimonials ORDER BY tID DESC

to modify tTEXT to only 150 characters you need

SELECT tID, left(tTEXT,150) as tTEXT150 FROM Testimonials ORDER BY tID DESC

ALTERNATIVELY...

skip the sql modification and do it all with a couple more lines of php, setting the $cutoff to the length you need

<?php
$cutoff = 150;
$extract = $row_WADATestimonials['tTEXT'];
$extract = substr($extract, 0, $cutoff);
$lastspace = strrpos($extract, ' ');
$extract_word = substr($extract, 0, $lastspace).'...';
echo nl2br($extract_word);
?>

Sign in to reply to this post

john.cummins125554

Thank you
2 options for the price of 1
either of these options are what I needed

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...