7

別のファイルに記述されているこの find_all() 関数があります。

public static function find_all() {
    return self::find_by_sql("SELECT * FROM ".self::$table_name);
}

私の foreach ループを含むファイルの先頭で参照されました。

<?php require_once("../../includes/initialize.php"); ?>
<?php if (!$session->is_logged_in()) { redirect_to("login.php"); } ?>
<?php
    $parents = UserParent::find_all();
?>

これは 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; ?>

そして、これはJavaScriptコードです:

function show() 
{
    document.getElementById("popup").style.display='block';
}

function hide(){
    document.getElementById("popup").style.display='none';
}

基本的に、私のコードは foreach ループからデータを取得する情報の行を作成することです。img タグで示されているように、各行の最後には削除アイコンがあります。削除アイコンをクリックすると、show() 関数が実行されます (show() 関数は非表示のポップアップ div を表示するだけです)。ユーザーが自分のデータを削除するかどうかを確認します。ユーザーが [キャンセル] をクリックすると、JavaScript コードで示されているように、ウィンドウが閉じます。ユーザーが [はい] をクリックした場合、次のリンクに移動することはサポートされています: list_users.php?parentNum=parentNum; ?> ($parent->parentNum の値は行ごとに異なります)。ただし、アンカー タグは、3 行目であるかどうかに関係なく、常に最初の行のリンクを取得します (ちなみに、他の td タグのリンクは機能します)。さて、私の質問は、

4

2 に答える 2

4

$parent->parentNum の値は行ごとに異なります

しかし、あなたのコードでは、そうではありません:

<?php echo $parent->parentNum; ?>

値はインクリメントも変更もされていないため、すべての行で同じです。


また、これにはor要素を使用することを強くお勧めします。それが彼らのために作られたものです。 はクリックされることを意図していませんでした。優れた設計プラクティスは、(ほとんど) 常に少し余分な努力をする価値があります。<button><a><td>

IMO、あなたのコードはもっと似ているはずです

...
<td><a href='viewParent.php?n=<?php echo $n; ?>'></a></td>
...
<button name='show' value='1'>Show</button>

... $nfor ループからの場所です。それではトップページに

if (isset($_POST['show'])) { ...logic... }

「ショー」イベントを受け取ります。

于 2013-05-22T02:39:54.687 に答える
2
<?php 

$parentNum = 0;

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="list_users.php?parentNum=<?php echo $parent[$parentNum]; ?>" 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[$parentNum]->username; ?></td>
          <td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent[$parentNum]; ?>';"><?php echo ucwords($parent[$parentNum]->firstName); ?></td>
          <td onClick = "document.location = 'viewParent.php?parentNum=<?php echo $parent[$parentNum]; ?>';"><?php echo ucwords($parent[$parentNum]->lastName); ?></td>
          <td onClick = "show();"><img src = "../stylesheets/images2/delete-icon.png" height="25" width="25" ></td>  
        </tr>
<?php 

$parentNum++;

endforeach; ?>
于 2013-05-22T02:37:00.750 に答える