【问题标题】:send variable to another page via hyperlink and select it in <select> tag (HTML, Jquery)通过超链接将变量发送到另一个页面并在 <select> 标记(HTML、Jquery)中选择它
【发布时间】:2018-12-22 09:22:34
【问题描述】:

我有 2 页 CPU 和主板。我有一个名为 cpu 的 MySQL 数据库表,该表显示在 cpu 页面上,我希望用户单击 cpu 表行和超链接将他们带到主板页面,其中在标签中选择了所选 cpu 以过滤主板。

CPU 页面

表:

Image

代码:

$sql = "SELECT name, price, id, mark, value, url, socket FROM cpu";
$result = $connection->query($sql);

if ($result->num_rows > 0) {
    echo "<table id='myTable'><thead><tr><th>CPU</th><th>Price</th><th>Mark</th><th>Value</th><th>Socket</th><th>Image</th></tr></thead>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tbody><tr><td><a href='https://au.pcpartpicker.com/product/".$row["id"]."' target='_blank'>" . $row["name"]. "</a></td><td>" . $row["price"]."</td><td>" . $row["mark"]."</td><td>" . $row["value"]."</td><td>" . $row["socket"]."</td><td><img src=". $row["url"]." height='42' width='42'></td></tr></tbody>";
    }
    echo "</table>";
} else {
    echo "0 results";
}

主板页面

表:

Image

代码:

$sql = "SELECT name, price, id, socket, ramslots, maxram, chipset FROM motherboard";
$result = $connection->query($sql);

if ($result->num_rows > 0) {
    echo "<table id='myTable'><thead><tr><th>Motherboard</th><th>Price</th><th>Socket</th><th>Chipset</th><th>Ram Slots</th><th>Max Ram</th></tr></thead>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tbody><tr data-socket='". $row['socket'] . "'><td><a href='https://au.pcpartpicker.com/product/" . $row["id"] . "' target='_blank'>" . $row["name"] . "</a></td><td>" . $row["price"] . "</td><td>" . $row["socket"] . "</td><td>" . $row["chipset"] . "</td><td>" . $row["ramslots"] . "</td><td>" . $row["maxram"] . "</td></tr></tbody>";
    }
    echo "</table>";
} else {
    echo "0 results";
}

选择:

Image

代码(PHP):

if ($result->num_rows > 0) {
    echo "<select name='CPUmenu'>";
    echo "<option value=''>CPU</option>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<option value='". $row["socket"] . "'>".$row["name"]."</option>";
    }
    echo "</select>";
} else {
    echo "0 results";
}

代码(Jquery):

$( document ).ready(function() {
        $(function() {
        $('select[name="CPUmenu"]').change(function(e) {
          let socket = $(this).val();
          $('tbody tr[data-socket]').show();
          if (socket.length) {
            $('tbody tr[data-socket!="' + socket + '"]').hide();
          }
        });
    });
});

预期结果:

我需要更改每个 cpu 行的超链接以链接到 mobo.php 并将 cpu 名称连同它一起发送到 url。在主板上,我需要自动从组中选择发送的 url

如果您需要更多详细信息,请询问。

谢谢

【问题讨论】:

    标签: javascript php jquery html


    【解决方案1】:

    我用以下代码解决了我的问题:

    echo "<tbody><tr><td><a href='mobo.php?cpu_name=".$row["name"]."' target='_blank'>" . $row["name"]. "</a></td><td>" . $row["price"]."</td><td>" . $row["mark"]."</td><td>" . $row["value"]."</td><td>" . $row["socket"]."</td><td><img src=". $row["url"]." height='42' width='42'></td></tr></tbody>";
    

    if(isset($_GET['cpu_name'])){
      $namehref = $_GET['cpu_name']; //some_value
    }
    

    while($row = $result->fetch_assoc()) {
            if ($row["name"] == $namehref) {
            echo "<option value='". $row["socket"] . "' selected>".$row["name"]."</option>";    
            } else {
            echo "<option value='". $row["socket"] . "'>".$row["name"]."</option>";
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多