echo "<td><a href='#'>Edit</a> | <a href='javascript:delpost('".$cat2['id']."','".$cat2['name']."')'>Delete</a></td>";
This PHP code will output this:
<a href="javascript:delpost(" 85','a)'>Delete</a>
But I want this:
<a href="javascript:delpost('85','a')">Delete</a>
What's wrong with my code?
You have mixed up the quotes. Try this:
echo '<td><a href="#">Edit</a> | <a href="javascript:delpost(\'' . $cat2['id'] . '\',\'' . $cat2['name'] . '\')">Delete</a></td>';
See output here: https://3v4l.org/qpeM6.
Note: this code assumes id
is an integer or a string without any leading spaces, and name
should be a string without leading spaces. If there are spaces in the values, you can wrap the values like this trim($cat2['id'])
.
You could use do this. Use single quotes instead of double quotes, escaping out the others.
echo '<td><a href=\'#\'>Edit</a> | <a href="javascript:delpost(\''.$test1.'\',\''.$test1.'\')">Delete</a></td>';