mam tej funkcji find_all(), która jest napisana w oddzielnym pliku:PHP: My przycisk nie działa prawidłowo wewnątrz pętli foreach
public static function find_all() {
return self::find_by_sql("SELECT * FROM ".self::$table_name);
}
Został odwołuje się w górnej części pliku, który zawiera moje pętla foreach:
<?php require_once("../../includes/initialize.php"); ?>
<?php if (!$session->is_logged_in()) { redirect_to("login.php"); } ?>
<?php
$parents = UserParent::find_all();
?>
jest to pętla foreach:
<?php foreach($parents as $parent): ?>
<div class='popup-screen' id = "popup">
<div class = "spacing">
Do you want to delete this data?
</div>
<a href="list_users.php?parentNum=<?php echo $parent->parentNum; ?>"> <input type="button" value="YES" class = "popup-button"> </a>
<input type="button" value="CANCEL" class = "popup-button" onClick = "hide();">
</div>
<tr class = "tr-1">
<td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent->parentNum; ?>';"><img src="../<?php echo $parent->image_path(); ?>" width="100" height = "100" class = "profile-pic"/></td>
<td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent->parentNum; ?>';">Parent</td>
<td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent->parentNum; ?>';"><?php echo $parent->username; ?></td>
<td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent->parentNum; ?>';"><?php echo ucwords($parent->firstName); ?></td>
<td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent->parentNum; ?>';"><?php echo ucwords($parent->lastName); ?></td>
<td onClick = "show();"><img src = "../stylesheets/images2/delete-icon.png" height="25" width="25" ></td>
</tr>
<?php endforeach; ?>
I to jest kod javascript:
function show()
{
document.getElementById("popup").style.display='block';
}
function hide(){
document.getElementById("popup").style.display='none';
}
Zasadniczo to, co robi mój kod, polega na tworzeniu rzędów informacji, które pobierają dane z pętli foreach. Na końcu każdego wiersza znajduje się ikona usuwania, co ilustruje tag img. Po kliknięciu ikony usuwania funkcja show() zostanie uruchomiona (funkcja show() po prostu pokazuje wyskakujące okienko div, które jest niewidoczne) - potwierdzenie, czy użytkownik chce usunąć swoje dane, czy też nie. Jeśli użytkownik kliknie przycisk ANULUJ, okno zamknie się, co ilustruje kod javascript. Jeśli użytkownik kliknie przycisk TAK, należy przejść do łącza: list_users.php? ParentNum = parentNum; ?> (Wartość $ parent-> parentNum jest różna dla każdego wiersza). Jednak znacznik zakotwiczenia ZAWSZE pobiera łącze do pierwszego wiersza, niezależnie od tego, czy jest to trzeci wiersz, czy cokolwiek (linki przy innych znacznikach td działają, nawiasem mówiąc). Teraz moje pytanie brzmi: jak poprawnie połączyć przycisk YES dla każdego wiersza w popup div?
Czy podajesz wartość parentNum w dowolnym miejscu? – NCoder
Pokaż kod, w którym przypisujesz wartości do '$ parents' –
ParentNum znajduje się wewnątrz klasy nadrzędnej, więc nie ma potrzeby deklarowania go. Odbiera dane z mojej bazy danych. Łącza na td działają, nawiasem mówiąc, więc parentNum nie jest tak naprawdę problemem. – YourMom