Php 数据打印

Php 数据打印,php,mysql,Php,Mysql,我在PhpMyAdmin的数据库“Colleges”中创建了3个表。表的名称为“酷”、“数据”和“选项卡”。第一个表“酷”包括印度各州的名称。它有两列:ID和Statename。根据这个表中的数据,我创建了一个HTML格式的下拉列表。此外,HTML表单包括姓名、电子邮件id、联系人和地址。用户必须填写详细信息并从下拉列表中选择其状态。现在,由姓名、电子邮件id、联系人和地址组成的用户输入进入第二个表“data”,从下拉列表中选择的状态进入第三个表“tab”,“tab”包括两列id和stat,其中

我在PhpMyAdmin的数据库“Colleges”中创建了3个表。表的名称为“酷”、“数据”和“选项卡”。第一个表“酷”包括印度各州的名称。它有两列:ID和Statename。根据这个表中的数据,我创建了一个HTML格式的下拉列表。此外,HTML表单包括姓名、电子邮件id、联系人和地址。用户必须填写详细信息并从下拉列表中选择其状态。现在,由姓名、电子邮件id、联系人和地址组成的用户输入进入第二个表“data”,从下拉列表中选择的状态进入第三个表“tab”,“tab”包括两列id和stat,其中状态名称存储在此处。我使用SQL的内部联接将上述两个表“data”和“tab”联接起来。当我在另一个网页中获取数据时,会打印姓名、电子邮件id、联系人和地址,但不会打印statename。将打印statename的ID(如表cool中所示),而不是州名称。 我想把州名打印出来

以下是使用“我的数据库”中的数据创建的下拉列表:

<td>State :</td>
<td>
<?php
$mysqli = new mysqli('localhost', 'root', '', 'colleges');

$resultset = $mysqli->query("SELECT ID, Statename from cool");

?>

<select name="state">
<?php
    while($rows = $resultset->fetch_assoc())
{
    $ID = $rows['ID'];
    $Statename = $rows['Statename'];
    echo "<option value='$ID'>$Statename</option>";
}
?>
</select>
</td>
</tr>
状态:
及

实际上,您并没有插入状态的名称,而是它的id,因为select返回的是所选选项的值,而不是它的内容。您可以将第一行更改为

echo "<option value='$Statename'>$Statename</option>";
延伸:

使用select时,将显示innerHTML of选项,但该值将以POST方式发送。所以如果你写

<select name="state">
<option value="1">name</option>
</select>

或者类似的东西。是否有一个字段可用于连接t2和t3表?似乎在插入数据库时丢失了数据。

只有MySQL查询无法做到这一点!你需要像asp,php等编程语言。。。也可以使用Ajax,编辑您的问题,添加一些您尝试过的代码,添加表结构,添加正确的标记,如MySQL、php,无论您的程序使用何种语言,然后请求回答。请参阅本示例教程,它可能会帮助您了解从何处开始以及如何开始。警告:您完全可以使用参数化的预处理语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。我尝试了这两种方法,但它仍然没有打印州名称。我已经在上面粘贴了第三个代码来打印数据。正如您所看到的,您正在将ID明确地存储在“stat”中,然后打印它。我认为问题在于,您仍在尝试打印ID。在第一种情况下,它仅适用于新的ID,在后一种情况下,您打印cool.Statename。在SQL中,将select stat更改为select t3.Statename,并将$row['stat']更改为$row['Statename']或$row['t3.Statename']。(也许用左连接代替内连接)好的!!谢谢顺便说一句,您想要内部连接的不是t3.id,而是t3.statename。
echo "<option value='$ID'>$Statename</option>";
$state = $_POST['state'];
$insert2 = "INSERT Into tab(stat) values ('$state')";
echo "<option value='$Statename'>$Statename</option>";
JOIN ON cool.ID = tab.stat
<select name="state">
<option value="1">name</option>
</select>
"SELECT * FROM t2 LEFT JOIN t3 ON t2.?? = t3.?? LEFT JOIN t1 ON t1.ID = t3.state"