Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> łączenie zapytań...
phpuser
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


Potrzebuje wyświetlić rekordy z dwóch tabel jako jedne wyniki posortowane chronologincznie wg. data_dodania

pytanko do bazy:

  1. mysql_query(SELECT artykuly.data_dodania FROM akrykuly UNION SELECT slownik.data_dodania FROM slownik ) OR DIE('ERROR');


Takie zapytanie wyrzuca ERROR.
Gdzieś wyczytałem że za pomocą mysql_query() nie można łączyć zapytań.
Ma ktoś pomysła jak rozwiązać mojego problema??

Dziękuję z góry za wszystkie podpowiedzi.
Pozdrawiam PHPuser

P.S. Pisałem kod z głowy, więc może być gdzieś błąd składniowy.

Powtórzę zapytanie do bazy bez bb_codu, bo coś u mnie się źle wyświetla, wiec może dla wszystkich będzie nie czytelny:

mysql_query(SELECT artykuly.data_dodania FROM akrykuly UNION SELECT slownik.data_dodania FROM slownik ) or DIE('ERROR');
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


a jaki błąd Ci wywala?

pkt 2
Go to the top of the page
+Quote Post
phpuser
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


Zapytanie do bazy bez BB: (bo u mnie cos szwankuje wyswietlanie w ramkach wiec moze inni tez beda mieli problem z przeczytaniem)

mysql_query(SELECT artykuly.data_dodania FROM akrykuly UNION SELECT slownik.data_dodania FROM slownik ) or DIE('ERROR');


Cytat(TomASS @ 24.07.2006, 11:41 ) *
a jaki błąd Ci wywala?

pkt 2


no ten z funkcji DIE() (czyli treść dowolnie wpisana). Ale to oznacza ze skladnia zapytania jest nie poprawna.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@phpuser TomASS podal ci linka do topicu, w ktorym masz napisane, co powiinienes dac w die(). Czsami warto czytac co ci podsylają inni...
  1. <?php
  2. mysql_query('tu twoje zapytanie') or die(mysql_error());
  3. ?>
Go to the top of the page
+Quote Post
phpuser
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


Cytat(nospor @ 24.07.2006, 11:54 ) *
@phpuser TomASS podal ci linka do topicu, w ktorym jak wol masz napisane, co powiinienes dac w die(). Czsami warto czytac co ci podsylają inni...
  1. <?php
  2. mysql_query('tu twoje zapytanie') or die(mysql_error());
  3. ?>



Sorki, ale nie zauważyłem że te pkt 2 w kolorze burakowym to link, tym bardziej że nie ma podkreślenia ani napisu kliknij albo cos w tym stylu:).

Wyrzuca błąd skladni tak jak mowiłem:

Something is wrong in your syntax obok 'UNION SELECT data_dodania FROM artykuly' w linii 1

Jakieś pomysły?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




SELECT artykuly.data_dodania FROM akrykuly
Widzisz rożnice?
Go to the top of the page
+Quote Post
phpuser
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


Cytat(nospor @ 24.07.2006, 12:15 ) *
SELECT artykuly.data_dodania FROM akrykuly
Widzisz rożnice?


OK. Jest literówka. Pisałem z głowy., ale na komputerze na którym mam kod sprawdziłem jeszcze raz i nie ma tej literówki w zapytaniu, a błąd się wywala.

CZY KTOŚ UŻYWAŁ Z WAS OPERATORA 'UNION' W ŁĄCZENIU ZAPYTAŃ??
Gdzieś czytałem że nie mozna uzywać złaczeń zapytań w funkcji mysql_query() i że dlatego wywala błąd?
Czy to prawda?

Wie ktoś coś na ten temat?

Dzięki za pomoc z góry.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Gdzieś czytałem że nie mozna uzywać złaczeń zapytań w funkcji mysql_query() i że dlatego wywala błąd?
Czy to prawda?
NIe. dopiero co sprawdzalem i dziala. Moze podaj dokladnie z serwera ten kod, bo w tym co masz teraz, oprocz literowki, nic nie widze
Go to the top of the page
+Quote Post
phpuser
post
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


$query = mysql_query("SELECT slownik.data_dodania FROM slownik UNION SELECT artykuly.data_dodania FROM artykuly") or DIE(mysql_error());



Wywala błąd: Something is wrong in your syntax obok 'UNION SELECT artykuly.data_dodania FROM artykuly' w linii 1

Używam:

APACHE 1.3.31
php 4.3.9, 5.0.2
MYSQL 3.23.58

Krasnal Serv 2.7

Ale takie zapytania działają osobno:

$query = mysql_query("SELECT slownik.data_dodania FROM slownik") or DIE(mysql_error());
$query = mysql_query("SELECT artykuly.data_dodania FROM artykuly") or DIE(mysql_error());

czyli 'UNION' coś nie trybi...
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Trzeba bylo tak od razu:
Cytat
MYSQL 3.23.58

A teraz zagladamy do manuala i co widzimy? :
Cytat
. UNION is available from MySQL 4.0.0 on.
Go to the top of the page
+Quote Post
phpuser
post
Post #11





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


Aha heh, nie pomyślałem:P

A czy jest możliwość modyfikacji tego zapytania tak aby nie używać operatora UNION i działało pod moim obecnym SZBD MYSQL 3.23.58 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No tak. sam to przeciez zrobiles:
  1. <?php
  2. $query = mysql_query("SELECT slownik.data_dodania FROM slownik") or DIE(mysql_error());
  3. $query = mysql_query("SELECT artykuly.data_dodania FROM artykuly") or DIE(mysql_error());
  4. ?>

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
zapytania jednego na tej wersji to chyba nie zrobisz... ale glowy se uciac nie dam bo nie uzywam prehistorii (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
phpuser
post
Post #13





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


  1. <?
  2.  
  3. echo 'Data dodania: <br/>';
  4. $query = mysql_query("SELECT slownik.data_dodania FROM slownik") or DIE(mysql_error());
  5. $query = mysql_query("SELECT artykuly.data_dodania FROM artykuly") or DIE(mysql_error());
  6.  
  7. while ($split = mysql_fetch_array($query)){
  8.  echo $split[0].'<br/>';
  9. }
  10.  
  11. ?>


Wyswietlą się tylko daty z tabeli artykuly. Nieprawdaż?,
bo jedno pytanie nadpisze sie na drugie do zmiennej $query.

Ten post edytował phpuser 24.07.2006, 13:49:03
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




sądzilem, ze domyslisz sie, iz najpierw trzeba pobrac dane z jedego mysql_query() a potem wykonac drugie i potem z niego pobrac kolejne dane. Ewentualnie wynik mysql_query() zapisz do roznych zmiennych i potem po nich jedź
Go to the top of the page
+Quote Post
phpuser
post
Post #15





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


ok rozumiem. Za gorąco dzisiaj i nie trybię nawet prostych rzeczy:P

Pozdrawiam.
Phpuser

Ten post edytował phpuser 24.07.2006, 13:54:09
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 03:21