简体   繁体   English

如何通过单击按钮从数据库中获取相应邮件的数据?

[英]How to get data to according mail from database by clicking the button?

I have a table called admin tickets.我有一张名为 admin tickets 的表。 I have this situation were one of these mails, which are on the left of the screen is clicked.我有这种情况是这些邮件之一,点击屏幕左侧。 Then I want to fetch subject/text, to this mail.然后我想获取主题/文本到这封邮件。 For example I'm clicking qweqweqwe@wp.pl, and it gives me 123123123123123. The table looks like this:例如,我单击 qweqweqwe@wp.pl,它给了我 123123123123123。该表如下所示:

在此处输入图像描述

For now the page looks like this, because I'm iterating over the whole table to the end.现在页面看起来像这样,因为我正在遍历整个表直到最后。 This looks good.这看起来不错。 The only change I want to make is as I said, I want to click the mail on the left, and get subject/text of this mail.我想做的唯一改变就是如我所说,我想单击左侧的邮件,并获取该邮件的主题/正文。

How can I achieve it?我怎样才能实现它?

在此处输入图像描述

Html+php: HTML+PHP:

<?php
require_once '../../services/LoggedInUserService.php';
require_once '../../services/LoggedInAdminService.php';
require_once '../../db/connect.php';
$connect = new mysqli($host, $db_user, $db_password, $db_name);
?>
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>DingDog</title>
    <link rel="stylesheet" href="../../css-images/style-admintickets.css">

</head>

<body>
<header>
    <div class="row">
        <ul id="logo"><img src="../../css-images/dingdog-logo.png"></ul>

        <ul class="main-nav">
            <li style="padding-left:10px"><a href="admintickets.php">TICKETS</a></li>
            <li style="padding-left:10px" id="sign"><a href="../../services/LogoutService.php">LOG OUT</a></li>
        </ul>
    </div>

    <section>
        <article>
            <p id="profilesign">Tickets:</p>
            <?php
            $result = $connect->query("SELECT emailLogin,subject,text FROM tickets");
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    $emailLogin = $row['emailLogin'];
                    $subject = $row['subject']; ?>
                    <label> <input readonly id="fi" style="margin-top: 50px;" type="text" placeholder="Example"
                                   name="custom" value="<?php echo $emailLogin; ?>"></label><br>
                    <div class="container" style='position:absolute;left:0px; top:0px;'>
                        <h1 id="avatar">Title:</h1>
                        <div class="title" style='position:absolute;left:0px; top:0px;'>
                            <h1 id="tytul" style='position:absolute;left:0px; top:0px;'><?php echo $subject; ?></h1>
                        </div>
                        <h1 id="subject">Subject:</h1>
                        <textarea readonly id="subjectContainer"
                                  style='margin-top: 100px;margin-left: 150px;position:absolute;left:0; top:0;font-size:30px; color:red ;height: 264px;
  width: 683px;' rows="5" cols="10"><?php echo $row['text']; ?></textarea>
                    </div>
                <?php }
            } ?>

        </article>
    </section>
</header>
<footer>
    <img src="../../social/instagram.png"/>
    <img src="../../social/twitter-white-logo.png"/>
    <img src="../../social/facebook.png"/>
</footer>
</body>
</html>

Css: CSS:

*
{
    margin: 0;
    padding: 0;
}

header
{
    width: 1920;
    height: 1080px;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin:0;
    height: 1080px;
    width: auto;
    background-image:  linear-gradient(180deg, #EFEFEF00 0%, #0F4A37 100%);
}

footer{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: black;
    color: white;
    text-align: center;
}

footer img{
    margin-top: 5px;
    height: 30px;
    display: inline-block;
    padding: 0px 10px 0px 0px;
}

.main-nav
{
    float: right;
    color: #000000;
    margin-top: 40px;
    margin-right: 0px;
}

.main-nav li
{
    display: inline-block;
}

.main-nav li a
{
    color: #000000;
    text-decoration: none;
    font: Bold 25px/15px Arial;
    padding: 5px;
}

#logo
{
    margin-top: 10px;
    float: left;
}

#sign a
{
    background-color: #DCDFDE;
    padding: 30px 15px 17px 15px;
    border-top: 3px solid black;
    border-bottom: 3px solid black;
    border-left: 3px solid black;
    border-right: 3px solid black;
}


#profilesign
{
    margin-top: 200px;
    margin-left: 80px;
    font: Bold 57px/46px Georgia;
    font-weight: bold;
    color: black;
}

article input
{
    -webkit-border-radius: 20px;
    -khtml-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 120;
    border-style: none;
    padding: 5px;
    width: 240px;
    height: 39px;
    background-color: black;
}

#fi
{

    font: Bold 25px/12px Arial;
    letter-spacing: 0;
    color: white;
    background-color: black;
    margin-left: 161px;
}

.container {
    margin-top: 300px;
    height: 447px;
    width: 1028px;
    background: transparent linear-gradient(180deg, #B4FFC5 0%, #9BCEA2 31%, #523A3A 100%) 0% 0% no-repeat padding-box;
    border-radius: 20px;
    margin-left: 480px;
}

.title {
    margin-top: 35px;
    width: 686px;
    height: 37px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid #707070;
    margin-left: 145px;
}

#avatar
{
    font: Bold 25px/12px Arial;
    letter-spacing: 0;
    color: #A37373;
    margin-top:50px;
    margin-left: 50px;
}

#tytul
{
    font: Bold 20px/24px Arial;
    letter-spacing: 0;
    color: #000000;
    margin-top: 8px;
    margin-left: 25px;
}

#subject
{
    font: Bold 25px/12px Arial;
    letter-spacing: 0;
    color: #A37373;
    margin-top:50px;
    margin-left: 50px;
}

.subjectContainer
{
    margin-top: 100px;
    height: 264px;
    width: 683px;
    background: transparent linear-gradient(180deg, #B4FFC5 0%, #9BCEA2 31%, #523A3A 100%) 0% 0% no-repeat padding-box;
    border: 1px solid #707070;
    margin-left: 170px;
    border-radius: 20px;
    margin-top: 300px;
}

#subjectTitle
{
    text-align: left;
    font: Regular 20px/24px Arial;
    letter-spacing: 0;
    color: #000000;
    padding-left: 5px;
}

#textare{
    height: 600px;
    width: 683px;
}

@media only screen and (max-device-width: 500px){
    body {
        background-image:  linear-gradient(180deg, #EFEFEF00 0%, #0F4A37 70%);
        background-size:100% 3000px;
        width: auto;
    }
    .main-nav
    {
        float: right;
        color: #000000;
        margin-top: 40px;
        margin-right: 20px;
    }

    .main-nav li a
    {
        color: #000000;
        text-decoration: none;
        font: Bold 31px/15px Arial;
        padding: 5px;
    }

    #logo img
    {
        margin-left: 350px;
        text-align: center;
        width: 500px;
    }

    #profilesign
    {
        margin-top: 350px;
        font-size: 90px;
        margin-left: 360px;
        width: 900px;
    }

    #tytul
    {
        font: Bold 40px/24px Arial;
        letter-spacing: 0;
        color: #000000;
        margin-top: 20px;
        margin-left: 25px;
    }

    #subjectText
    {
        font-size: 40px;
    }
    #fi
    {
        width: 500px;
        margin-top: 500px;
        font: Bold 45px/12px Arial;
        letter-spacing: 0;
        color: white;
        background-color: black;
        margin-left: 401px;
    }

    .container {
        margin-top: 1000px;
        height: 847px;
        width: 1228px;
        background: transparent linear-gradient(180deg, #B4FFC5 0%, #9BCEA2 31%, #523A3A 100%) 0% 0% no-repeat padding-box;
        border-radius: 20px;
        margin-left: 20px;
    }


    .subjectContainer
    {
        margin-top: 150px;
        height: 564px;
        width: 883px;
        background: transparent linear-gradient(180deg, #B4FFC5 0%, #9BCEA2 31%, #523A3A 100%) 0% 0% no-repeat padding-box;
        border: 1px solid #707070;
        margin-left: 185px;
        border-radius: 20px;
    }

    #avatar
    {
        font: Bold 55px/12px Arial;
        letter-spacing: 0;
        color: #A37373;
        margin-top:80px;
        margin-left: 40px;
    }

    #subject
    {
        font: Bold 45px/12px Arial;
        letter-spacing: 0;
        color: #A37373;
        margin-top:80px;
        margin-left: 5px;
    }

    .title {
        margin-top: 55px;
        width: 686px;
        height: 67px;
        background: #FFFFFF 0% 0% no-repeat padding-box;
        border: 1px solid #707070;
        margin-left: 185px;
    }
}

Hope This will help you希望对你有帮助

<section>
        <article>
            <p id="profilesign">Tickets:</p>
            <?php
            $result = $connect->query("SELECT emailLogin,subject,text FROM tickets");
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    $emailLogin = $row['emailLogin'];
                echo '<form>
                    <label> <input id="fi" style="margin-top: 50px;" type="submit" placeholder="Example"
                                   name="custom" value="'.$emailLogin.'"></label><br>
</form>';
}
}?>


<?php
if(isset($_GET['custom']))
{
$text = $_GET['custom'];
            $result2 = $connect->query("SELECT emailLogin,subject,text FROM tickets WHERE emailLogin = '".$text."' ");
            if ($result2->num_rows > 0) {
                while ($row = $result2->fetch_assoc()) {

echo '                    <div class="container" style="position:absolute;left:0px; top:0px;">
                        <h1 id="avatar">Title:</h1>
                        <div class="title" style="position:absolute;left:0px; top:0px;">
                            <h1 id="tytul" style="position:absolute;left:0px; top:0px;">'.$subject.'</h1>
                        </div>
                        <h1 id="subject">Subject:</h1>
                        <textarea readonly id="subjectContainer"
                                  style="margin-top: 100px;margin-left: 150px;position:absolute;left:0; top:0;font-size:30px; color:red ;height: 264px;
  width: 683px;" rows="5" cols="10">'.$row['text'].'</textarea>
                    </div>';
                                        }
             }

}
?>



        </article>
    </section>

I would probably use Ajax for this, and then get the information that way.我可能会为此使用 Ajax,然后以这种方式获取信息。 So when you click one of the mails on the left, then you make a Ajax call to another .php , like this.因此,当您单击左侧的其中一封邮件时,您将对另一个.php进行 Ajax 调用,如下所示。

Lets say the mail is this image.假设邮件是这张图片。

echo'<img class="MAILyouWantToAttach" data-id = "'.$MAILyouWantToAttach.'" src = "../text.png">';

The Ajax success respons has to change the textareas content by its value. Ajax 成功响应必须根据其值更改文本区域内容。

$(document).on("click", ".Unflagging", function(){          
              var text= $(this).data("id");
                  $.ajax({
                    method: "post",
                    url: "AnotherFile.php",
                    data: { text: text},
                    success: function(data) {
                      $("#myTextarea").val(data);
                  },
                  error: function(data) {
                    alert("Error occurs!")
                 }
             });
        });

Then the other php file you want something like this, the echo is to print the text in the success area of the Ajax in the other .php .然后另一个 php 文件你想要这样的东西,回声是在另一个.php中打印 Ajax 成功区域中的文本。

$receiver = $_POST["text"];
$result = $connect->query("SELECT emailLogin,subject,text FROM tickets WHERE emailLogin= $receiver ");
while ($row = $result->fetch_assoc()) {
  echo $row['text'];
} 

This is just a guide, but i hope it helps you on your way to success.这只是一个指南,但我希望它能帮助您走向成功。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在不使用 GET 数据中的数据刷新页面而不单击按钮的情况下显示 mysql 数据库 - How to display a mysql database without refreshing the page with data from GET data without clicking button 如何根据数据库中的字段表获取数据过滤日期 - How to get data filter date according to field table from database 如何通过单击按钮在数据库中记录数据? - How to record data in a database by clicking a BUTTON? 如何在单击“提交”按钮之前从数据库获取值并显示计算出的值 - how to get a value from database and display the calculated value before clicking submit button 如何从数据库中检索下拉按钮中的选定数据? - How to get selected data from dropdown button retrieve from database? 根据视图中的ID从数据库获取数据:Codeigniter - Get data From database according to id in view : Codeigniter 单击产品磁贴从数据库中获取产品数据 - get product data from database on clicking product tile 从数据库获取数据并在PHP中的邮件功能中使用 - Get data from database and use in mail function in php 单击保存按钮数据未插入Android中的数据库 - clicking save button data not inserted into database in android 如何根据日期对数据库中的数据进行排队 - How to queue data from the database according to its date
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM