【问题标题】:How to receive info from 2 tables from the same database in the same page?如何从同一页面中同一数据库的 2 个表中接收信息?
【发布时间】:2014-01-13 15:53:16
【问题描述】:

我有 1 个大表单,它将接收来自同一数据库中 2 个不同表(table1 和 table2)的信息。

所有信息都将放在同一个表格中,您可以将其全部保存到新表格中。

我的问题是当两个表(table1 和 table2)中的某些行具有相同的名称时,我如何从正确的表中调用信息。所以我有:

1。 将调用信息的 URL 如下所示:

….info.php?id=320&folder=ras

2。 查询:

if(!$_POST["submit"])
{
//INFO FORM TABLE 1
$query = mysql_query("select country, state, name, dob from table1 where id = '".$_GET["id"]."' ");
$row = mysql_fetch_row($query);
$country = $row[0];
$state = $row[1];
$name = $row[2];
$dob = $row[3];

//INFO FORM TABLE 2
$query = mysql_query("select country, state, name, dob from table2 where folder = '".$_GET["folder"]."' ");
$row = mysql_fetch_row($query);
$country = $row[0];
$state = $row[1];
$name = $row[2];
$dob = $row[3];

3。 网站上的代码:

From table 1: //1 <?=$country?> //2 <?=$state?> //3 <?=$name?> //4 <?=$dob?> 
From table 2: //1 <?=$country?> //2 <?=$state?> //3 <?=$name?> //4 <?=$dob?>

我不确定如何执行此操作,但我认为我需要将其中一个查询更改为:

$query2 = mysql_query("select country, state, name, dob from table2 where folder = '".$_GET["folder"]."' ");
$row = mysql_fetch_row($query2);
$country = $row[0];
$state = $row[1];
$name = $row[2];
$dob = $row[3];

但是如果我这样做,我应该使用什么代码来调用 table2 中的信息。 &lt;?=$2”country”?&gt; 不工作。

请指教。

【问题讨论】:

  • 更改所有变量:$query$query2$row$row2 等等...
  • 无论数据来自何处,您都只想要数据吗?然后只需JOIN 表并使用一个查询
  • 不记录,换成PDO或者Mysqlli代替mysql
  • 为什么不使用 UNION?
  • @kingkero @Pedro 我不熟悉使用JOINUNNION 如何使用它?

标签: php jquery database


【解决方案1】:

您需要类似(快速解决方案):

    //INFO FORM TABLE 1
    $query = mysql_query("select country, state, name, dob from table1 where id = '".$_GET["id"]."' ");
    $row = mysql_fetch_row($query);
    $country = $row[0];
    $state = $row[1];
    $name = $row[2];
    $dob = $row[3];

    //INFO FORM TABLE 2
    $query2 = mysql_query("select country, state, name, dob from table2 where folder = '".$_GET["folder"]."' ");
    $row2 = mysql_fetch_row($query2);
    $country2 = $row2[0];
    $state2 = $row2[1];
    $name2 = $row2[2];
    $dob2 = $row2[3];

仅供参考,如果您为同一个变量设置了两次值,PHP 将始终为您提供后续分配的结果。

【讨论】:

  • 如果我按照您的建议更改代码,我该如何从网站调用它。我的意思是通常我会使用:&lt;?=$country?&gt; 但是当需要从 table2 获取信息时使用什么?请指教:)
  • 对于任何 table2 结果,使用第二个变量,例如。 $country2
  • 感谢您花时间回答我。如果我将其更改为:` //INFO FORM TABLE 2 $query2 = mysql_query("select country, state, name, dob from table2 where folder = '".$_GET["folder"]."' "); $row2 = mysql_fetch_row($query2); $country2 = $row2[0]; $state2 = $row2[1]; $name2 = $row2[2]; $dob2 = $row2[3];` 和第二个变量 &lt;?=$country2?&gt; 它不起作用。你能看出我做错了什么吗?
【解决方案2】:

你为什么不给它起个不同的名字呢? 喜欢:

$country_table1 = $row[0];
$state_table1 = $row[1];
$name_table1 = $row[2];
$dob_table1 = $row[3];

$country_table2 = $row[0];
$state_table2 = $row[1];
$name_table2 = $row[2];
$dob_table2 = $row[3];

你能提供你的 HTML 代码吗?

【讨论】:

  • 代码在页面上的表格和表格中,因此在此处显示并不容易。无论如何,重要的是如何从 table2 调用信息。
猜你喜欢
  • 2013-03-08
  • 2017-12-19
  • 2018-11-19
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
相关资源
最近更新 更多