2 databases samen voegen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pascal Schuffelers

Pascal Schuffelers

28/01/2020 11:29:10
Quote Anchor link
Ik ben zover met mijn code klaar op 1 pagina na.
De index pagina zou ik graag willen dat hij 2 databases samenvoegt en mij die toont, echter ik krijg het niet gefix met mijn code hieronder.:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
$connect
= mysqli_connect("localhost", "xx", "xxxxxx", "xxxxxxx");
$output = '';
if(isset($_POST["query"]))
{

    $search = mysqli_real_escape_string($connect, $_POST["query"]);
    $query = "
    SELECT * FROM PESF0803AD1A
    WHERE MaterialCode1 LIKE '%"
.$search."%'
    OR BatchCode1 LIKE '%"
.$search."%'
    OR OrderCode1 LIKE '%"
.$search."%'
    OR proddatum1 LIKE '%"
.$search."%'
    OR BatchNrSAPrelease1 LIKE '%"
.$search."%'
    "
;
/* $query .= "
    SELECT * FROM PPSF0803AD1A
    WHERE MaterialCode1 LIKE '%".$search."%'
    OR BatchCode1 LIKE '%".$search."%'
    OR OrderCode1 LIKE '%".$search."%'
    OR proddatum1 LIKE '%".$search."%'
    OR BatchNrSAPrelease1 LIKE '%".$search."%'
    "; */

}
else
{
  
 $query = "SELECT * FROM PESF0803AD1A;";
 /*    query = "SELECT * FROM PPSF0803AD1A;";  */

}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{

    $output .= '<div class="table-responsive">
                    <table class="table table bordered">
                        <tr>
                            <th>Id</th>
                            <th>Material Code</th>
                            <th>Batch Code</th>
                            <th>Order Code</th>
                            <th>Production Start</th>
                            <th>Batch SAP release</th>
                        </tr>'
;
    while($row = mysqli_fetch_array($result))
    {

        $output .= '
            <tr>
                <td>'
.$row["Id"].'</td>
                <td>'
.$row["MaterialCode1"].'</td>
                <td>'
.$row["BatchCode1"].'</td>
                <td>'
.$row["OrderCode1"].'</td>
                <td>'
.$row["proddatum1"].'</td>
                <td>'
.$row["BatchNrSAPrelease1"].'</td>
            </tr>
        '
;
    }

    echo $output;
}

else
{
    echo 'Geen DATA gevonden';
}

?>


Had zelf al geprobeerd met bv.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = "SELECT * FROM PESF0803AD1A UNION SELECT * FROM PPSF0803AD1A";      

Maar doet niks, toont geen waardens.

Kan mij aub iemand helpen?
Gewijzigd op 28/01/2020 11:40:41 door Pascal Schuffelers
 
PHP hulp

PHP hulp

08/04/2020 16:30:56
 
- Ariën -
Beheerder

- Ariën -

28/01/2020 11:47:08
Quote Anchor link
Je kan toch ook de databases meegeven aan de tabellen, met een punt ertussen?

Maar waarom heb je verschillende databases? Is het niet zinvoller om dit in één database onder te brengen?
Gewijzigd op 28/01/2020 11:50:10 door - Ariën -
 
Ivo P

Ivo P

28/01/2020 12:06:59
Quote Anchor link
ik vraag me af of het om databases gaat, of om 2 tabellen.

En wat het verband tussen beide (databases of tabellen) dan is, en welk verschil.

Ik vraag me ook af of er per product oid een losse tabel met gegevens is gemaakt.
 
Pascal Schuffelers

Pascal Schuffelers

29/01/2020 08:23:20
Quote Anchor link
Het zijn 2 tabellen in 1 database om het duidelijker te maken.
Ik kan ze niet in 1 tabel duwen, moet ze echt in 2 hebben.

Er komen van beide tabellen wel enkele kolommen overeen die ik wil tonen zoals materiaal, maar zijn niet met elkaar gelinkt.

Maar dan blijft de vraag, hoe stop ik 2 tabellen zodanig in elkaar dat ik ze allebei kan tonen in 1 lijst op het scherm.
Gewijzigd op 29/01/2020 08:45:26 door Pascal Schuffelers
 
- Ariën -
Beheerder

- Ariën -

29/01/2020 09:30:59
Quote Anchor link
Zit er een relatie tussen?
 
Ivo P

Ivo P

29/01/2020 10:29:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT kolom1 AS kolomA, kolom2 AS kolomB, kolom3 AS kolomC
FROM tabel1
WHERE datum > 'vorige week'
UNION
SELECT kolomX AS kolomA, kolomY AS kolomB, kolomZ AS kolomC
FROM tabel2
WHERE datum_iets > 'vorige week'


en als je dat dan ergens nog op wilt sorteren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT kolomA, kolomB, kolomC
FROM (
  SELECT kolom1 AS kolomA, kolom2 AS kolomB, kolom3 AS kolomC
  FROM tabel1
  WHERE datum > 'vorige week'
    UNION
  SELECT kolomX AS kolomA, kolomY AS kolomB, kolomZ AS kolomC
  FROM tabel2
  WHERE datum_iets > 'vorige week'
  ) AS subquery
ORDER BY kolomC ASC


Ik benadruk in het voorbeeld de mogelijkheid dat de kolommen compleet verschillende namen kunnen hebben.
Overbodig is eigenlijk het gebruik van aliassen in de regel kolomX AS kolomA, omdat die velden door de union toch al naar ABC gaan, maar voorkomt mogelijk onduidelijkheid door dubbele namen
 
Pascal Schuffelers

Pascal Schuffelers

02/02/2020 15:35:43
Quote Anchor link
Ivo P op 29/01/2020 10:29:17:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT kolom1 AS kolomA, kolom2 AS kolomB, kolom3 AS kolomC
FROM tabel1
WHERE datum > 'vorige week'
UNION
SELECT kolomX AS kolomA, kolomY AS kolomB, kolomZ AS kolomC
FROM tabel2
WHERE datum_iets > 'vorige week'


Als ik dat bij mij wil doen met onderstaande code zie ik niks gebeuren, gebruik ik wel nog een zoek actie erin.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$sql = 'SELECT DatumTijd    AS    DatumTijdsamen, MaterialCode1    AS    MaterialCode1samen,BatchCode1    AS    BatchCode1samen,  OrderCode1    AS    OrderCode1samen FROM PESF0803AD1A WHERE DatumTijd LIKE :keyword OR proddatum1 LIKE :keyword OR MaterialCode1 LIKE :keyword OR OrderCode1 LIKE :keyword OR BatchCode1 LIKE :keyword ORDER BY Id DESC union SELECT DatumTijd    AS    DatumTijdsamen, MaterialCode1    AS    MaterialCode1samen,BatchCode1    AS    BatchCode1samen,  OrderCode1    AS    OrderCode1samen FROM PPSF0803AD1A WHERE DatumTijd LIKE :keyword OR proddatum1 LIKE :keyword OR MaterialCode1 LIKE :keyword OR OrderCode1 LIKE :keyword OR BatchCode1 LIKE :keyword ORDER BY Id DESC';
 


Maar laat ik de zoek gedeelte weg zodat ik onderstaande krijhg, doet hij het wel.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$sql = 'SELECT DatumTijdsamen, MaterialCode1samen, BatchCode1samen,OrderCode1samen
FROM (
  SELECT DatumTijd    AS    DatumTijdsamen, MaterialCode1    AS    MaterialCode1samen,BatchCode1    AS    BatchCode1samen,  OrderCode1    AS    OrderCode1samen ,proddatum1 AS proddatum1samen  FROM PESF0803AD1A WHERE DatumTijd
    UNION
  SELECT DatumTijd    AS    DatumTijdsamen, MaterialCode1    AS    MaterialCode1samen,BatchCode1    AS    BatchCode1samen,  OrderCode1    AS    OrderCode1samen , datum1 AS proddatum1samen FROM PPSF0803AD1A WHERE DatumTijd
   ) AS subquery
ORDER BY DatumTijdsamen ASC';


Wat doe ik fout?

[update]
opgelost.
Gewijzigd op 02/02/2020 15:56:39 door Pascal Schuffelers
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.