Проверка, какая кнопка была нажата - PullRequest
1 голос
/ 31 августа 2010

У меня есть форма, сгенерированная PHP, которая состоит из списка элементов, каждый из которых имеет кнопку с надписью «Удалить это», выводимую примерно так:

Item A - [Remove This]
Item B - [Remove This]
...

Я хочу иметь возможностьнажмите «Удалить это», и он определит, какой это элемент, а затем удалит его из базы данных.Вот мой код:

selectPlaces.php

<?php
include 'data.php';

mysql_connect($host, $user, $pass) or die ("Wrong Information");

mysql_select_db($db) or die("Wrong Database");

$result = mysql_query("SELECT * FROM reseller_addresses") or die ("Broken Query");
while($row = mysql_fetch_array($result)){
    $placeName = stripslashes($row['b_name']);
    $placeCode = stripslashes($row['b_code']);
    $placeTown = stripslashes($row['b_town']);
    $outputPlaces .= "<strong>$letter:</strong> $placeName, $placeTown, $placeCode <input type=\"button\" onclick=\"removePlace()\" value=\"Remove This\" /><br />";
}

mysql_close();
?>

В сочетании с моим admin.php

        <div id="content" style="display:none">
        Remove a Place<br><br>
        <?php include 'selectPlaces.php'; echo $outputPlaces; ?> 
        </div>

Я знаю, что мне нужно добавить некоторый JavaScript, чтобы определить, какойкнопка нажата, но я не могу заставить ее работать.Я попытался изменить onclick = "removePlace ()", возможно передав переменную в функцию removePlace (placeID) или что-то в этом роде, но я новичок в JavaScript и понятия не имею, как получить это в функции removePlace.

Ответы [ 2 ]

3 голосов
/ 31 августа 2010

Кажется, легче обойтись без JavaScript. Для каждой записи вместо создания только кнопки создайте форму, которая отправляет в скрипт PHP, который выполняет удаление.

<form action="deletePlace.php?id=<?php echo $idOfThePlace?>">
<input type="submit" value="Remove This" />
</form>

$idOfThePlace будет идентификатором, который вы используете для идентификации строки данных.

3 голосов
/ 31 августа 2010

Вам не нужен JavaScript для этого. Попробуйте запустить этот пример:

<?php var_dump($_POST); ?>
<form action="post.php" method="post">
    <p>
        <input type="submit" value="a" name="action" />
        <input type="submit" value="b" name="action" />
    </p>
</form>

Вы увидите, что $_POST['action'] будет зависеть от того, какая кнопка была нажата. Для вашего примера вам просто нужно установить значение, чтобы идентифицировать элемент, который нужно удалить. Для этого может быть полезно использовать элемент <button>: <button name="delete" type="submit" value="12345">delete item 12345</button>. Он будет отображаться как $_POST['delete'] с 12345 в качестве значения при отправке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...