Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法在MySQL中搜索一个表并从另一个表报告数据?_Php_Mysql - Fatal编程技术网

Php 有没有办法在MySQL中搜索一个表并从另一个表报告数据?

Php 有没有办法在MySQL中搜索一个表并从另一个表报告数据?,php,mysql,Php,Mysql,我不熟悉PHP和MySQL。我已经到处找过了,但仍然找不到任何东西,所以我想知道这里是否有人能帮助我。我想建立一个网站,允许用户使用一个表单,使用HTML,搜索用户的名字和他们想做什么锻炼。接下来,我想向用户输出用户在训练中应该使用的重量 我已经有了男子和女子长凳、蹲式和仰卧起坐,所以问题是我需要表单来搜索用户的技能水平,并基于该技能水平,我希望表格输出用户应该使用的正确重量。例如,如果一个用户是男性和一个新手,比如说,台式压力机,那么应该搜索的表格是benchmen,而一个想做台式压力机的新手

我不熟悉PHP和MySQL。我已经到处找过了,但仍然找不到任何东西,所以我想知道这里是否有人能帮助我。我想建立一个网站,允许用户使用一个表单,使用HTML,搜索用户的名字和他们想做什么锻炼。接下来,我想向用户输出用户在训练中应该使用的重量

我已经有了男子和女子长凳、蹲式和仰卧起坐,所以问题是我需要表单来搜索用户的技能水平,并基于该技能水平,我希望表格输出用户应该使用的正确重量。例如,如果一个用户是男性和一个新手,比如说,台式压力机,那么应该搜索的表格是benchmen,而一个想做台式压力机的新手的体重是,比如说,100磅(这是一个任意数字,但我想显示我的benchmen表格中的实际值)。应该显示的数字基于用户的技能水平和体重

总而言之,我在使用MySQL表中的用户表时遇到了问题,我已经制作了这个表,搜索另一个表,称为benchmen或benchwomen,等等,根据用户的体重、性别和技能从其中一个表中输出所需的权重。我目前找不到任何东西,将做什么,我希望它做在线,所以如果有任何人有任何见解,请让我知道。如果还有其他问题,请告诉我。很抱歉发了这么长的邮件。我只是想确保我能彻底解释我的意思

先谢谢你

    <?php
    if(isset($_POST['username']) && isset($_POST['exercise']))
{
    $con = mysqli_connect("localhost", "root", "", "database"); //Connect to the db
    $stmt = mysqli_prepare($con, "SELECT skill, sex, weight FROM user WHERE username = ?"); //Make the query
    mysqli_stmt_bind_param($stmt, "s", $_POST['username']); //Bind our inserted form username into the query
    mysqli_stmt_execute($stmt); // Execute the query
    mysqli_stmt_store_result($stmt);
    if(mysqli_stmt_num_rows($stmt) == 0) //No rows found with that username
        echo "Unable to find any skills with that username!";  
    mysqli_stmt_bind_result($stmt, $skill, $sex, $weight); //Bind our returned skill to $skill
    mysqli_stmt_fetch($stmt); //Fetch the results
    echo " The skill, sex, and weight of " . $_POST['username'] . " is: " . $skill, " " . $sex, " " . $weight; //Echo out our skill

    //Test statement
    echo "<br>";
    echo $_POST['username'] . " wants to do: " .$_POST['exercise'];
}



?>
<h1>Username</h1>
<form name='' action='' method='post'>
    Enter a Username<input type='text' name='username'><br>
    Choose an Exercise: <input type="radio" name="exercise" value="Squat">Squat
<input type="radio" name="exercise" value="Bench">Bench Press
<input type="radio" name="exercise" value="Deadlift">Deadlift<br>
<input type='submit' value='Submit'>
</form>

用户名
输入用户名
选择一个练习:蹲下 台式压力机 无载提升
好的,下面是一些示例行: 我希望它能输出类似“Lmalamos应该使用150磅的重量进行台式压力机”或者类似的东西

在这个例子中,我的用户的体重是150磅,他是中级技能水平,所以蓝色突出显示的区域应该被输出

其工作方式是语句将查找大于或等于第一个权重数、小于第二个权重数的权重。在本例中,150大于145,但小于155,因此表查找将位于具有这些权重的行下


您正在寻找mysql加入。语法:
Select*from table 1 join table 1上的table 2.valueToMatch=table 2.valueToMatch
为了澄清,您有三个表:user、benchmen和benchwomen,想要搜索benchmen和benchwomen直接取决于用户输入的“性别”,对吗?从技术上讲,我有6个表:benchmen、benchwomen、duckmen、duckwomen、,死气沉沉的人和两个死气沉沉的人。搜索的表基于用户放入用户表中的数据。是的,这将取决于用户的性别,但也取决于他们的技能水平和重量,谢谢@RichardTheobald!我会试试的!我是否需要执行一系列if语句来确定数据将搜索哪个表?像这样:if($sex==“Male”){if($exercise==“benchmen”)$table=“benchmen”;else if($exercise==“Deadlift”)$table=“deadmen”;else$table=“”;)else if($exercise==“deschmen”){if($exercise==“benchmen”)$table=“benchwomen”;else if($exercise==“Deadlift”)$table=”deadmen);else($table=”;)else如果($ex$table=“duckwomen”;else if($exercise==“Deadlift”)$table=“deadwomen”;else$table=“”;}编辑您的问题,以显示表格中的一些示例行和所需的输出。