如何独立显示数据库表中的数据

时间:2018-01-22 08:26:13

标签: php mysql

问题描述

我有databese叫做demo。在这个数据库我有列。其中两个是otk和zamestnanci。

/*zamestnanci = employees*/

所以我在otk表中有一些数据:

/*otk columns: id_otk|ciarovy_kod|cislo_zakazky|zamestnanci|*/
/*id_otk = autoincrement*/
/*zamestnanci can be only number*/

INSERT INTO otk (ciarovy_kod, cislo_zakazky, zamestnanci) VALUES ('65464', '564', '1');

现在我在zamestnanci中有一些数据:

/*zamestnanci columns: id_zamestnanci|titul|meno|titulz|*/
/*id_zamestnanci = autoincrement*/

INSERT INTO zamestnanci (titul, meno, titulz) VALUES ('ads', 'John', 'das');

现在这是我的代码,用于替换和搜索来自otk的数据:

if(isset($_GET['hladat']))
{
    $hladatHodnotu = $_GET['hladatHodnotu'];
    // hladat v setkych stlpcoch
    // pouzitie concat funkcie pre vyhladanie iba urciteho stlpca
    $sql = "SELECT * FROM otk JOIN zamestnanci ON zamestnanci.id_zamestnanci=otk.zamestnanci
                              JOIN zariadenia ON zariadenia.id=otk.zariadenie
                              JOIN stav ON stav.id=otk.stav
                              JOIN technologie ON technologie.id=otk.technologie
                              JOIN obrazky ON obrazky.id_obrazky=otk.obrazok 
                              WHERE CONCAT(`ciarovy_kod`) LIKE '%".$hladatHodnotu."%'";
    $vysledokHladania = filtrovatTabulku($sql);

}

//Zobrazovanie dat z viacerych tabuliek do jednej
/*                            JOIN zamestnanci ON zamestnanci.id_zamestnanci=otk.zamestnanci 
                              JOIN zariadenia ON zariadenia.id=otk.zariadenie
                              JOIN stav ON stav.id=otk.stav
                              JOIN technologie ON technologie.id=otk.technologie
                              JOIN obrazky ON obrazky.id_obrazky=otk.obrazok*/
 else {
    $sql = "SELECT * FROM otk JOIN zamestnanci ON zamestnanci.id_zamestnanci=otk.zamestnanci
                              JOIN zariadenia ON zariadenia.id=otk.zariadenie
                              JOIN stav ON stav.id=otk.stav
                              JOIN technologie ON technologie.id=otk.technologie
                              JOIN obrazky ON obrazky.id_obrazky=otk.obrazok";

    //$sql = "SELECT * FROM zariadenia, otk WHERE zariadenia.id=otk.zariadenie";
    $vysledokHladania = filtrovatTabulku($sql);
}

// funkcia na pripojenie a spustenie $sql
function filtrovatTabulku($sql)
{
    //Zahrnut pripojenie k db
    include'../db/dbinfo.php';
    $vysledokHladania = mysqli_query($con, $sql);
    return $vysledokHladania;
}

现在,当我清空表“zamestnanci”时,它不会显示来自“otk”的数据,其ID为“zamestnanci”,因为他不存在。所以我想问你,如果“zamestnanci”不存在,是否有办法显示。

1 个答案:

答案 0 :(得分:1)

您使用了错误的JOIN。 您应该在使用之前了解每个联接的工作原理,请在此处详细了解http://www.sql-join.com/sql-join-types/