首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写PHP按钮从数据库中选择行并运行python代码

如何编写PHP按钮从数据库中选择行并运行python代码
EN

Stack Overflow用户
提问于 2019-07-17 21:57:37
回答 1查看 65关注 0票数 0

我已经为一组音乐楼梯写了一段python脚本,使用的是覆盆子圆周率和一些动作传感器,它们充当开关,经过时会发出噪音。在我的MySQL数据库中,我有两个不同的设置-钢琴或鼓,根据选择的不同,将运行不同的代码块。

我想知道是否可以制作一个PHP按钮来从数据库中进行选择,然后根据按下的PHP按钮使python块运行。

我已经尝试了一条简单的SQL语句,并用PHP连接数据库,但是到目前为止还没有做任何事情。

这是为运行Python2.7 (我知道我应该升级,但这是连接mariadb的最新版本)、PHP和Apache2的Raspberry Pi 3准备的。

代码语言:javascript
运行
复制
 #!/usr/local/lib/python2.7/sitepackages
import mysql.connector as mariadb # connect to mysql
import RPi.GPIO as GPIO # GPIO
import pygame.mixer # To make sound
pygame.mixer.init()
```Connect to database

mariadb_connection = mariadb.connect(user='root',password='*',database='stairs')

cursor = mariadb_connection.cursor()

代码语言:javascript
运行
复制
GPIO.setmode(GPIO.BCM) 

```Motion sensor setup

GPIO.setup(4,GPIO.IN,GPIO.PUD_UP)

GPIO.setup(17,GPIO.IN,GPIO.PUD_UP)

而True:

代码语言:javascript
运行
复制
cursor.execute("SELECT value FROM settings WHERE key_ = 'currentInstrument'")
代码语言:javascript
运行
复制
settings = cursor.fetchall()

对于设置中的id:

代码语言:javascript
运行
复制
    input_state = GPIO.input(4)
代码语言:javascript
运行
复制
    if input_state == False:
代码语言:javascript
运行
复制
        if(id==1):
代码语言:javascript
运行
复制
            print('GPIO4 Piano')
代码语言:javascript
运行
复制
            C1 = pygame.mixer.Sound("piano/C1.wav")
代码语言:javascript
运行
复制
            C1.play()
代码语言:javascript
运行
复制
        if(id==2):
代码语言:javascript
运行
复制
            print('GPIO4 Drum')
代码语言:javascript
运行
复制
            drum1 = pygame.mixer.Sound("drum/Drum c1.wav")
代码语言:javascript
运行
复制
            drum1.play()
代码语言:javascript
运行
复制
    input_state = GPIO.input(17)
代码语言:javascript
运行
复制
    if input_state == False:   
代码语言:javascript
运行
复制
        if(id==1):
代码语言:javascript
运行
复制
            print('GPIO17 Piano')
代码语言:javascript
运行
复制
            D = pygame.mixer.Sound("piano/D.wav")
代码语言:javascript
运行
复制
            D.play()
代码语言:javascript
运行
复制
        if(id==2):
代码语言:javascript
运行
复制
            print('GPIO17 Drum')
代码语言:javascript
运行
复制
            drum2 = pygame.mixer.Sound("drum/Drum d.wav")
代码语言:javascript
运行
复制
            drum2.play()
代码语言:javascript
运行
复制

预期的输出应该是,当一个PHP按钮被按下时,它应该从数据库中选择1或2,然后数据库又应该选择演奏哪种乐器

EN

回答 1

Stack Overflow用户

发布于 2019-09-11 17:34:37

类似这样的东西应该可以工作(假设php按钮在一些网页中):

HTML/PHP页面:运行

该按钮与php文件"run.php“相关,如果按下该按钮,页面将重定向到"run.php”。

在"run.php“中启动python脚本:

代码语言:javascript
运行
复制
    <?php
    $command = escapeshellcmd('pathto/script.py');
    $output = shell_exec($command);
    echo $output;
    ?>

这将从网页运行python脚本

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57077647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档