带有变量的超链接,用于创建模态框/弹出窗口

时间:2015-10-20 19:44:20

标签: javascript html css variables hyperlink

在标题中,我想在超链接中使用变量将其用于模态窗口。

我没有使用bootstrap,它是一个自定义代码,但它一直有效,直到我尝试放置某种<a href='#openModal?id=".$VARIABLE."'>

有可能吗?

此致

更新

<?php 
            $query = "SELECT * FROM USER";

            $result = mysqli_query ($connection,$query)
                or die ("You couldn’t execute query");

            echo "<div class='admin-table'>
                <table cellspacing='15'>
                        <td><h3>Last Name</h3></td>
                        <td><h3>Name</h3></td>
                        <td><h3>Phone</h3></td>
                        <td><h3>Address</h3></td>
                        <td><h3>Postcode</h3></td>
                        <td><h3>Date of Birth</h3></td>
                        <td><h3>Email</h3></td>
                        <td><h3>Password</h3></td>
                        <td><h3>Role</h3></td>
                    </tr>";

            while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC))
                {
                extract ($row);
                echo "<tr>\n 
                        <td>$USER_LASTNAME</td>\n
                        <td>$USER_FIRTSNAME</td>\n
                        <td>$USER_PHONE</td>\n
                        <td>$USER_ADDRESS</td>\n
                        <td>$USER_POSTCODE</td>\n
                        <td>$USER_DOB</td>\n
                        <td>$USER_EMAIL</td>\n
                        <td>$USER_PASSWORD</td>\n
                        <td>$USER_ROLE</td>\n
                        <td><a href='admin_user.php?id=".$USER_ID."'>Delete</a></td>\n
                        <td><a href='#openModal?id=".$USER_ID."'>Edit</a></td>\n
                    </tr>\n";
                echo "<tr><td colspan ='15'><hr></td></tr>\n";
                }
                echo "</table></div>\n";
?>


<div id="openModal?id=<?php echo $USER_ID; ?>" class="modalDialog">
    <div><a href="#close" title="Close" class="close">X</a>
        <h2>$USER_ID</h2>
    </div>
</div>

它正在运行模态,但它只是采用最后一个id,我必须考虑另一个传递变量的解决方案。

非常感谢你的帮助

更新2:

非常感谢!现在它的工作,

<?php 
$query = "SELECT * FROM USER;";
$result = mysqli_query ($connection,$query) or die ("You couldn’t execute query");

//First echo the table with all your data as you want
echo "
<div class='admin-table'>
    <table cellspacing='15'>
    <tr>
        <td><h3>Last Name</h3></td>
        <td><h3>Name</h3></td>
        <td><h3>Phone</h3></td>
        <td><h3>Address</h3></td>
        <td><h3>Postcode</h3></td>
        <td><h3>Date of Birth</h3></td>
        <td><h3>Email</h3></td>
        <td><h3>Password</h3></td>
        <td><h3>Role</h3></td>
    </tr>";
//Fetch all rows for each user
while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC)) {
    extract ($row);
    echo "
    <tr>
        <td>$USER_LASTNAME</td>
        <td>$USER_FIRTSNAME</td>
        <td>$USER_PHONE</td>
        <td>$USER_ADDRESS</td>
        <td>$USER_POSTCODE</td>
        <td>$USER_DOB</td>
        <td>$USER_EMAIL</td>
        <td>$USER_PASSWORD</td>
        <td>$USER_ROLE</td>
        <td><a href='admin_user.php?id=".$USER_ID."'>Delete</a></td>
        <td><a href='#openModal?id=".$USER_ID."'>Edit</a></td>
        <div id='openModal?id=".$USER_ID."' class='modalDialog'>
        <div><a href='#close' title='Close' class='close'>X</a>
            <h2>".$USER_ID."</h2>
            <p>You can have additional details here.</p>
        </div>
        </div>

    </tr>
    <tr>
        <td colspan ='15'><hr></td>
    </tr>";
}
echo"
    </table>
</div>";
?>

3 个答案:

答案 0 :(得分:1)

试试这个:

echo '<a href="#openModal?id='.$VARIABLE.'">';

更新

echo '<td><a href="#openModal?id='.$variable.'">Edit</a></td>\n';
echo '<td><a href="admin_user.php?id='.$USER_ID.'">Delete</a></td>\n'; 

答案 1 :(得分:0)

您无法使用onclick的任何理由?

<a href="#" onclick="myJsFunc();">
<script>
 function myJsFunc() {
    //code to open modal
  }
</script>

答案 2 :(得分:0)

更新

如果我理解你是正确的,那么你正在尝试创建一个显示所有用户的表格,然后当管理员点击元素时,会弹出一个模式弹出窗口,为特定用户提供额外的信息。

<?php 
$query = "SELECT * FROM USER;";
$result = mysqli_query ($connection,$query) or die ("You couldn’t execute query");

//First echo the table with all your data as you want
echo "
<div class='admin-table'>
    <table cellspacing='15'>
    <tr>
        <td><h3>Last Name</h3></td>
        <td><h3>Name</h3></td>
        <td><h3>Phone</h3></td>
        <td><h3>Address</h3></td>
        <td><h3>Postcode</h3></td>
        <td><h3>Date of Birth</h3></td>
        <td><h3>Email</h3></td>
        <td><h3>Password</h3></td>
        <td><h3>Role</h3></td>
    </tr>";
//Fetch all rows for each user
while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC)) {
    extract ($row);
    echo "
    <tr>
        <td>$USER_LASTNAME</td>
        <td>$USER_FIRTSNAME</td>
        <td>$USER_PHONE</td>
        <td>$USER_ADDRESS</td>
        <td>$USER_POSTCODE</td>
        <td>$USER_DOB</td>
        <td>$USER_EMAIL</td>
        <td>$USER_PASSWORD</td>
        <td>$USER_ROLE</td>
        <td><a href='admin_user.php?id=".$USER_ID."'>Delete</a></td>
        <td><a href='#openModal".$USER_ID."'>Edit</a></td>
    </tr>
    <tr>
        <td colspan ='15'><hr></td>
    </tr>";
}
echo"
    </table>
</div>";
//Fetch again the rows to make the modals with the edit info
while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC)) {
    extract ($row);
    echo '
    <div id="openModal'.$USER_ID.'" class="modalDialog">
        <div><a href="#close" title="Close" class="close">X</a>
            <h2>'.$USER_ID.'</h2>
            <p>You can have additional details here.</p>
        </div>
    </div>';
}
?>

评论前的老答案

似乎单引号和/或双引号未正确转义。 还要记住,在PHP中,字符串连接是使用“。”(点)和JavaScript使用“+”(加号)。

更新1

我认为如果您使用以下内容就可以了。

echo '<td><a href="admin_user.php?id='.$USER_ID.'">Delete</a></td>';
echo '<td><a href="#openModal'.$variable.'">Edit</a></td>'; 

更新2

不要忘记在div处添加$variable,因此<a>div id相同。 E.g。

echo '<div id="openModal'.$variable.'" class="modalDialog"></div>';