Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pobranie danych z dwóch tabel
gucio1
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

Ostrzeżenie: (0%)
-----


Witam,
mam dwie tabele w które w połowie zawierają takie same kolumny powiedzmy jest po 5 takich samych kolumn.
Chcę wyciągnąć z jednej tabeli wszystkich gdzie email='jankowalski@wp.pl' i z drugiej tak samo.

Wrzucić to wszystko do tablicy asocjacyjnej posortować według daty dodania wpisów i wyświetlić po kolei.

Czy w tym przypadku muszę użyć relacji i jakiegoś połączenia JOIN?
Robi się coś takiego jednym zapytaniem czy dwoma?

Mam coś takiego:
SELECT * FROM transaction,operation WHERE email='$email' AND dataOperacji < '2017-07'"

Ten post edytował gucio1 6.07.2017, 13:33:56
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


https://dev.mysql.com/doc/refman/5.7/en/union.html


--------------------
Go to the top of the page
+Quote Post
gucio1
post
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

Ostrzeżenie: (0%)
-----


Dzięki trueblue, ale coś robię źle. Mam tak:

  1. require_once 'connectKlasa.php';
  2. $con = new Connect();
  3. $connect = new mysqli($con->host, $con->db_user, $con->db_password, $con->db_name);
  4. $baza = $connect->query("(SELECT * FROM transaction WHERE email='$email') UNION (SELECT * FROM operation WHERE email='$email') ORDER BY 'dataOperacji' ASC");
  5.  
  6. echo '<div class="table-responsive"><table class="table table-hover" style="color: white;"><tr style=" background-color: #323b44;"><th class="ISort" style="cursor: pointer;">Nr operacji</th><th class="SSort" style="cursor: pointer;">Data operacji</th><th class="SSort" style="cursor: pointer;">Nazwa produktu</th><th class="ISort" style="cursor: pointer;">Liczba punktów</th><th class="ISort" style="cursor: pointer;">Prowizja</th></tr>';
  7. while ($row = $baza->fetch_assoc()) {
  8. echo "<tr style='text-align: right' class='att_tr-hover'><td>{$row['nrOperacji']}</td><td>{$row['dataOperacji']}</td><td>{$row['nazwaProduktu']}</td><td>{$row['liczbaPunktow']}</td><td>{$row['prowizja']}</td></tr>";
  9. }
  10. echo '</table></div>';


Wyskakuje błąd
Fatal error: Call to a member function fetch_assoc() on boolean in ..

Ten post edytował gucio1 6.07.2017, 14:07:46
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wykonaj zapytanie bezpośrednio na bazie danych (np. w PHPMyAdmin), to zobaczysz gdzie tkwi błąd.


--------------------
Go to the top of the page
+Quote Post
gucio1
post
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

Ostrzeżenie: (0%)
-----


#1222 - The used SELECT statements have a different number of columns

nie rozumiem.
Wyszczególniłem jakie kolumny mnie interesują.
Zamiast * wypisałem te 5 potrzebnych kolumn po przecinku i to nie to.
Co to może być?

A nie, dobra działa smile.gif.
Dałem z pośpiechu nazwy kolum tylko w pierwszym selekcie i sprawdziłem.
Dzieki za pomoc! smile.gif

Ten post edytował gucio1 6.07.2017, 14:15:13
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:59