2010-08-31 4 views
1

У меня есть 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.

+0

Какие данные у вас есть для «мест» (например: что происходит в selectPlaces.php)? –

+0

В основном это просто получение текстовых плакатов из базы данных и вывод их в форму. Это буквально просто текстовая информация. –

ответ

3

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

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

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

3

Для этого вам не нужен 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 в качестве значения при отправке.

+1

Осторожно: IE6 не поддерживает '

+0

Спасибо за уведомление. – slikts

+0

О, и я просто вспомнил, что IE6 также размещает содержимое кнопки 'button' в качестве значения вместо свойства value. – RoToRa

Смежные вопросы