Search code examples
phpcharacterlimitsubstr

Limit characters of data to display on webpage with substr


I want to display data from my database but I have the following problem. I would like to display only the first 120 characters of the row 'text'. I know I can do this with the substr function.

I tried to implement substrin my code, but no text is shown when I reload the webpage ...

The whole code:

(connect to database)

$sql = "SELECT * FROM `table-example`";

// perform the query and store the result

$result = $conn->query($sql);
$text= $row['text'];

// if the $result contains at least one row

if ($result->num_rows > 0) {

// output data of each row from $result

while($row = mysqli_fetch_array($result))
{?>

<div id="preview">

<div class="title">
<?php echo $row['title'];?>
</div>

<div class="subtitle">
<?php echo substr($text, 0, 120);?>
</div>

</div>

<?php  
}// end while
}// end if
else {
echo '0 results';
}
?>

(close connection)

Can someone please explain to me how to solve this?


Solution

  • The solution is to place $text = $row['text'] within the while loop.

    Since before that, you don't declare $row to anything, therefore $text doesn't get set. Because $text isn't set, the substr method will shorten nothing AKA the echo returns nothing.