Как Йерун отмечено в комментариях, вы смешиваете ваш PHP и JS. Вы не можете запускать PHP на странице, вызывая функцию JS, так как PHP анализируется до отображения страницы. Что вам нужно сделать, это использовать событие OnClick для отправки данных обратно на страницу, так что он перезагружается и называет код для удаления строки:
<table width="99%" border="0">
<tr>
<td align="center">ID</td>
<td align="center">Username</td>
<td align="center">EDIT</td>
<td align="center">DELETE</td>
</tr>
<?
if(isset($_POST['useId']) && is_numeric($_POST['useId']))
{
mysql_query("DELETE FROM user WHERE useId = ". $_POST['useId'] ."");
}
while ($fetch=mysql_fetch_array($q))
{
?>
<form method="post" action="yourPHPScript.php"/>
<tr>
<td align="center"><? echo $fetch['useId']; ?></td>
<td align="center"><? echo $fetch['userUserName']; ?></td>
<td align="center"><? echo $fetch['useId']; ?></td>
<input type="hidden" name="useId" value="<? echo $fetch['useId']; ?>"/>
<td align="center"> <input name="delete" type="submit" value="DELETE "/></td>
</tr>
</form>
<? } ?>
</table>
Что я сделал здесь модифицируют свой код, чтобы добавить проверьте, используется ли переменная POST при загрузке страницы. Это будет существовать после того, как страница будет отправлена формой. (Я предполагаю, что вы используете метод = «POST» в вашей форме, если вы используете GET, затем обновляете соответственно). Обратите внимание, что запрос удаления должен быть действительно запущен до того, как вы забудете свой запрос $ q, чтобы вы не увидели удаленных людей в своем списке после обновления страницы.
Я также проверяю, что useId является числовым (при условии, что ваши идентификаторы пользователей являются числовыми) в качестве проверки безопасности, чтобы убедиться, что кто-то не отправит фиктивные данные в ваш запрос. Наконец, я добавил скрытое поле в вашу форму, содержащую идентификатор пользователя.
EDIT: Забыл также указать, что каждая строка в таблице должна быть отдельной формой для правильной работы, так как вы хотите, чтобы только идентификатор пользователя для этой строки отправлялся как значение useID. Или, альтернативно, вы можете использовать JS, чтобы определить, какую строку вы удаляете и привязываете к идентификатору пользователя как GET var.
Казалось бы, он удаляет все записи, когда вы просто открываете страницу. Вы смешиваете javascript и php. – jeroen
@jeroen нет, это не потому, что я положил onClick, что означает, что я должен нажать, чтобы сделать действие. спасибо :) –
Да, это так, потому что php обрабатывается до отправки страницы в браузер. – jeroen