1 回答
TA贡献1876条经验 获得超7个赞
我不是 SQL 专家,但我知道一点 PHP。也许这会有所帮助。得到两个表。从第一个表中获取第一行,作为默认值,并存储它。然后循环第二个表并将第一个表中的每一行与第二个表中的行进行比较。当cat_id两行中的a相同时,将存储第二行。
将FIRSTTABLE和SECONDTABLE字符串更改为您自己的表名
<?php
// Query to collect data table 1.
// Change the FIRSTTABLE and SECONDTABLE to your table names.
$table_1_sql = "select * from FIRSTTABLE";
$table_2_sql = "select * from SECONDTABLE";
// Query both tables
$query_table_1 = $dbo->query( $table_1_sql );
$query_table_2 = $dbo->query( $table_2_sql );
// Set the initial values to false.
$selected_row_1 = false;
$selected_row_2 = false;
// Loop over the first table to get the first row.
foreach( $query_table_1 as $row_table_1 ) {
if ( $selected_row_1 === false ) {
$selected_row_1 = $row_table_1
}
}
// Loop over the second table to get the row that matches that cat_id from the first table row.
foreach( $query_table_2 as $row_table_2 ) {
if ( $selected_row_1 !== false ) {
if ( $selected_row_1[ 'cat_id' ] === $row_table_2[ 'cat_id' ] ) {
$selected_row_2 = $row_table_2;
}
}
}
// The values from the first and second row.
// Both rows with the same 'cat_id' value.
var_dump( $selected_row_1 ); // array( 'cat_id' => SOMENUMBER, 'catdesc' => 'SOMEDESCRIPTION' );
var_dump( $selected_row_2 ); // array( 'cat_id' => SOMENUMBER, 'sub_id' => SOMENUMBER, 'catdesc' => 'SOMEDESCRIPTION', 'name' => 'SOMENAME' );
?>
现在您应该拥有填充字段所需的数据。该$selected_row_2变量现在包含一个数组,其名称是您的输入字段所需的名称。
免责声明
这一切都是基于您提供的小信息,我希望它会帮助您。如果没有,我会尽我所能带你去你需要去的地方。
- 1 回答
- 0 关注
- 179 浏览
添加回答
举报