【问题标题】:How can I display (onload) an on/off button in html depending on a value in a mysql database?如何根据 mysql 数据库中的值在 html 中显示(加载)开/关按钮?
【发布时间】:2016-04-19 11:08:01
【问题描述】:

我想根据 mysql 数据库中表中的值(表只有一行)显示 onload 一个(排序)切换按钮,并且当我单击它时,我想更改从 0 到 1 或相反的同一张表。我已经看到了很多有关相关问题的答案,但似乎没有一个对我有用。一些帮助将是非常需要的。非常感谢!

这是我的 php 代码:

 <?php
 include 'db_ecoheating.php';
 mysql_connect($dbhost,$dbuser,$dbpass)  
or die ("Unable to connect to database");  

mysql_select_db($dbname)  
or die ("Unable to select database");  

$sql = "SELECT coil1 from coils ";
$result = mysql_query($sql);

while($row = mysql_fetch_array($result)){
    $coil1 = $row['coil1'];

}
$arr = array(
  'value1'=> $coil1,
);
echo json_encode($arr);
  ?>

还有我在 js 中的函数(包括 jquery):

function buttonFunctions(){
    var x1=document.getElementById("coil1");
    var value = $.ajax({
        type: "GET",
        url: "coils.php",
        data: query,
        dataType: "json"
         success: function(data){
            console.log(data.value1);

        }
       });
    if(value=='0') coil1.src = "Button2.png";
            else if(value=='1') coil1.src = "Button1.png";
    //coil1.src="Button1.png";

   }

还有我的图片(作为按钮工作):

<input type="image" onclick="saveData()" id="coil1"/>

【问题讨论】:

    标签: javascript php html mysql ajax


    【解决方案1】:

    虽然使用 JS 的想法没问题,但您可以使用纯 PHP 和 HTML/CSS 来实现。 我也建议你开始使用 mysqli/PDO。

    /*CSS */
    .button0 {background-image: url("Button1.png");}
    .button1 {background-image: url("Button2.png");}
    

    然后,要显示您的按钮,请使用以下 PHP 代码

     <?php
     include 'db_ecoheating.php';
     mysql_connect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to database");  
    
     mysql_select_db($dbname)  or die ("Unable to select database");  
    
     $sql = "SELECT * FROM coils";
     $result = mysql_query($sql);
    
     while($row = mysql_fetch_assoc($result)){
     $value = $row['coil1']; ?>
    
     <input class="button<?php echo $value; ?>" type="image" onclick="saveData()" id="coil1"/>
    
    <?php } ?>
    

    【讨论】:

    • 显然,它在识别“button”时有问题。它把它当作一个字符串。
    • 更正了查询并更改了 CSS 类以匹配表中的 0 和 1 值。我假设你的线圈表在线圈 1 列中有一行。如果您有更多行,则需要找到一种过滤查询的方法。顺便说一句......你不需要你发布的 JQuery/AJAX 代码,我认为。嗯,很大程度上取决于你的代码的其余部分是什么样的。
    • 我仍然有这个问题,我尝试使用 php (with echo) 显示 html 代码,但不起作用。无论如何,谢谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2019-03-04
    • 2019-03-10
    • 2017-01-06
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多