SF23103 Posted March 26, 2014 Share Posted March 26, 2014 Hello all, I have created a script that queries my MySQL database and gets a certain row, then echoes out: if(!$result = $db->query($sql)){ die('There was an error running the query [' . $db->error . ']'); } while($row = mysqli_fetch_array($result)) { echo "<li><a href=\"#\">"; echo $row['col_5']; echo "</li>"; } I would like to check to see if each of the row outputs has a string that is more than 13 characters, and if so, strip it down to 13 and add "..." to the end of the string. I did some research and added a line of code, but it still outputs the long string. Any ideas on where I went wrong? if(!$result = $db->query($sql)){ die('There was an error running the query [' . $db->error . ']'); } while($row = mysqli_fetch_array($result)) { $row = (strlen($row) > 13) ? substr($row,0,10).'...' : $row; // ADDED THIS LINE echo "<li><a href=\"#\">"; echo $row['col_5']; echo "</li>"; } Link to comment https://forums.phpfreaks.com/topic/287311-substr-and-strlen/ Share on other sites More sharing options...
.josh Posted March 26, 2014 Share Posted March 26, 2014 $row is an array of all the columns for the current row iteration. So you are attempting to use strlen and substr on the entire array. I *assume* given your echo, that you really want this: $row['col_5'] = (strlen($row['col_5']) > 13) ? substr($row['col_5'],0,10).'...' : $row['col_5']; // ADDED THIS LINE Link to comment https://forums.phpfreaks.com/topic/287311-substr-and-strlen/#findComment-1474033 Share on other sites More sharing options...
SF23103 Posted March 26, 2014 Author Share Posted March 26, 2014 You're right, I was trying to use strlen and substr on the entire array. Thanks, that should work perfectly. Link to comment https://forums.phpfreaks.com/topic/287311-substr-and-strlen/#findComment-1474034 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.