从循环按钮获取值

时间:2019-02-28 10:10:34

标签: php

我有一个php页面,显示带有一些文本和按钮的div。 所有信息均来自数据库。 我想做什么:

我有一个空页面,想要填充相同的文本(来自同一数据库行),但是根据所按下的按钮,该文本应该显示出来。 例如:按下文章3的按钮,我希望页面中填充文章3的信息。

我曾经考虑过通过每个按钮设置一个值,但是我找不到使它起作用的方法。
这是我已经拥有的php页面中使用的代码。

我要添加什么代码,在另一页上应该使用什么代码?

<?php
    include("db/connect.php");
    if ($connect->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "SELECT articleId, header, intro, content, author, date, img, articleLink FROM newsarticle";
    $result = $connect->query($sql);
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
    ?>
        <div class="newsreport">
            <p class="newstitle">
                <a href="<?php echo $row["articleLink"] ?>" class="titlelink"><strong> <?php echo $row["header"] ?></a></strong>
            </p>
            <p class="newscontains"> 
                <?php echo $row["intro"] ?> 
            </p>
            <img class="newsimage" src="<?php echo $row["img"] ?>">
            <br>
            <form action="<?php echo $row["articleLink"] ?>">
            <button class="newsbutton"> Lees verder.. </button>
        </form>
        </div>
    <?php
        }
    }
    $connect->close();

    ?>

我尝试了一些操作,例如向按钮本身添加值

<button class="newsbutton" value="<?php echo $row["articleId"]; ?>">

但是我不知道如何获取值并使它值,因此它链接到另一页并发送正确的信息,从而显示正确的文章。

我曾经考虑过使用会话,但老实说不知道如何进行会话。

2 个答案:

答案 0 :(得分:0)

使用输入隐藏

import android.graphics.Rect; 
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.BottomSheetBehavior;
import android.support.design.widget.BottomSheetDialog;
import android.support.design.widget.BottomSheetDialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;

public class TestBottomSheetDialog extends BottomSheetDialogFragment {

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View fragmentView = LayoutInflater.from(getContext()).inflate(R.layout.fragment_bottom_sheet, container, false);
        if (getDialog().getWindow() != null) {
           getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
        }
        if (getActivity() != null) {
            View decorView = getActivity().getWindow().getDecorView();
            decorView.getViewTreeObserver().addOnGlobalLayoutListener(() -> {
                Rect displayFrame = new Rect();
                decorView.getWindowVisibleDisplayFrame(displayFrame);
                int height = decorView.getContext().getResources().getDisplayMetrics().heightPixels;
                int heightDifference = height - displayFrame.bottom;
                if (heightDifference != 0) {
                    if (fragmentView.getPaddingBottom() != heightDifference) {
                        fragmentView.setPadding(0, 0, 0, heightDifference);
                    }
                } else {
                    if (fragmentView.getPaddingBottom() != 0) {
                        fragmentView.setPadding(0, 0, 0, 0);
                    }
                }
            });
        }
        getDialog().setOnShowListener(dialog -> {
            BottomSheetDialog d = (BottomSheetDialog) dialog;
            View bottomSheetInternal = d.findViewById(android.support.design.R.id.design_bottom_sheet);
            if (bottomSheetInternal == null) return;
             BottomSheetBehavior.from(bottomSheetInternal).setState(BottomSheetBehavior.STATE_EXPANDED);
        });
        return fragmentView;
    }
}

其他页面

   <form action="<?php echo $row["articleLink"] ?>" method="POST">
    <input type="hidden" name="YourName"  value="<?php echo $articleId ?>">
    <button type="submit" class="newsbutton"> Lees verder.. </button>
   </form>

答案 1 :(得分:0)

您可以创建隐藏的输入字段,以帮助您了解所单击的内容。

"sonar": {
    "exclusions": "gulpfile.js, ...",
    "coverage_exclusions": "gulpfile.js, ..., server/models/*.js",
    "quality_gate": "...",
    "server_id": "SONAR-main"
  },