Php 我想把两张桌子连接起来
我有两个表,一个是变量,另一个是固定的 $tab结构Php 我想把两张桌子连接起来,php,mysql,sql,database,join,Php,Mysql,Sql,Database,Join,我有两个表,一个是变量,另一个是固定的 $tab结构 id int(11) autoincrement cod text den_material text furnizor varchar(255) cant_reper varchar(255) lg varchar(255) No cod_furnizor varchar(255) obs
id int(11) autoincrement
cod text
den_material text
furnizor varchar(255)
cant_reper varchar(255)
lg varchar(255) No
cod_furnizor varchar(255)
obs tinytext
data date
nid int(11) autoincrement
sap text
denumire text
grupa varchar(255)
unitate
id int(11) autoincrement
cod text --> to get datas from nomenclator table sap as column
den_material text -> to get datas from nomenclator table denumire as column
furnizor varchar(255)
cant_reper varchar(255)
lg varchar(255) No
cod_furnizor varchar(255)
obs tinytext
data date
以及命名器表结构
id int(11) autoincrement
cod text
den_material text
furnizor varchar(255)
cant_reper varchar(255)
lg varchar(255) No
cod_furnizor varchar(255)
obs tinytext
data date
nid int(11) autoincrement
sap text
denumire text
grupa varchar(255)
unitate
id int(11) autoincrement
cod text --> to get datas from nomenclator table sap as column
den_material text -> to get datas from nomenclator table denumire as column
furnizor varchar(255)
cant_reper varchar(255)
lg varchar(255) No
cod_furnizor varchar(255)
obs tinytext
data date
我想加入它们,在$tab中生成一个具有以下结构的表
id int(11) autoincrement
cod text
den_material text
furnizor varchar(255)
cant_reper varchar(255)
lg varchar(255) No
cod_furnizor varchar(255)
obs tinytext
data date
nid int(11) autoincrement
sap text
denumire text
grupa varchar(255)
unitate
id int(11) autoincrement
cod text --> to get datas from nomenclator table sap as column
den_material text -> to get datas from nomenclator table denumire as column
furnizor varchar(255)
cant_reper varchar(255)
lg varchar(255) No
cod_furnizor varchar(255)
obs tinytext
data date
完整的源代码
session_start();
// preserve selection for ajax call
if (!empty($_POST["tables"]))
{
$_SESSION["tab"] = $_POST["tables"];
$tab = $_SESSION["tab"];
}
// update on ajax call
if (!empty($_GET["grid_id"]))
$tab = $_SESSION["tab"];
if (!empty($tab))
{
$g = new jqgrid();
// set few params
$grid["caption"] = "Comanda : '$tab'";
$grid["autowidth"] = true;
$grid["multiselect"] = false; // allow you to multi-select through checkboxes
$grid["form"]["position"] = "center";
$grid["view_options"] = array("width"=>"500");
$g->select_command = "SELECT t.* FROM `$tab` AS t, `nomenclator` AS n
WHERE n.`sap` = t.`cod` OR n.`denumire` = t.`den_material`;";
$g->set_options($grid);
$g->set_actions(array(
"add"=>true, // allow/disallow add
"edit"=>true, // allow/disallow edit
"delete"=>true, // allow/disallow delete
"view"=>true, // allow/disallow delete
"rowactions"=>true, // show/hide row wise edit/del/save option
"search" => "advance", // show single/multi field search condition (e.g. simple or advance)
"showhidecolumns" => false
)
);
// set database table for CRUD operations
$g->table = $tab;
$col = array();
$col["title"] = "sap";
$col["name"] = "sap";
$col["width"] = "10";
$col["editable"] = true;
$col["hidden"] = true;
$cols[] = $col;
$col = array();
$col["index"] = "furnizor";
$col["title"] = "Comerciale asigurate de: ";
$col["editable"] = true;
$col["edittype"] = "select"; // render as checkbo
$col["editoptions"] = array("value"=>'Ramira:Ramira;Beneficiar:Beneficiar', "multiple" => true);
$cols[] = $col;
$col = array();
$col["index"] = "den_material";
$col["title"] = "Denumire Material";
$col["name"] = "denumire";
$col["editable"] = true;
$col["width"] = "80";
$col["searchoptions"] = array("value" => $str, "separator" => ":", "delimiter" => ";");
$col["search"] = true;
$col["formatter"] = "autocomplete"; // autocomplete
$col["formatoptions"] = array( "sql"=>"SELECT t.*
FROM `$tab` AS t, `nomenclator` AS n
WHERE n.`sap` = t.`cod` OR n.`denumire` = t.`den_material`;",
"search_on"=>"name",
"update_field" => "sap");
$cols[] = $col;
下面的查询将得到行,它们在$tab中的数据和在nomenclator中的数据相同
SELECT t.*
FROM `$tab` AS t, `nomenclator` AS n
WHERE n.`sap` = t.`cod` AND n.`denumire` = t.`den_material`;
SELECT t.*
FROM `$tab` AS t, `nomenclator` AS n
WHERE n.`sap` = t.`cod` OR n.`denumire` = t.`den_material`;
下面的查询将得到行,这些行在$tab中的任何数据都和在nomenclator中的相同
SELECT t.*
FROM `$tab` AS t, `nomenclator` AS n
WHERE n.`sap` = t.`cod` AND n.`denumire` = t.`den_material`;
SELECT t.*
FROM `$tab` AS t, `nomenclator` AS n
WHERE n.`sap` = t.`cod` OR n.`denumire` = t.`den_material`;
尝试以上查询。如果你没有得到想要的结果集,在这里回复你的意思是说你想将一个php变量加入数据库中的一个表中?你说“这将帮助[你]获得加薪”,所以我建议你学习人们付钱给你做的工作。你所做的基本上是通过为你不知道的事情获得报酬来偷钱。学习技术,不要乞求代码片段。如果你学不到,那就找一份适合你技能的工作。投票结束,因为这是一个“为我写代码”的问题。我不是一个程序员,我在后勤部门工作,我们的It部门也不知道如何编程,我试过好几次,但都做不到,这就是为什么我寻求帮助。无法执行查询。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“限制1偏移量0”附近使用的正确语法-从
test123
中选择t.*AS t,nomenclator
AS n,其中n.sap
=t.cod
或n.denumire
=t.denu material
;限制1偏移量0i发布在这里是您应该删除的完整源代码“;”在t.den_材料之后
谢谢,但我对自动完成有问题,请在radusacalaseni[at]gmail[dot]com上给我发送电子邮件,向您发送完整的源代码。