Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Wyświetlenie danych z dwóch tabel
ttb
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


Witam wszystkich,
proszę o korektę błędu:

mam dwie tabele: miasto i wieś
chcę, żeby w tabeli pokazały się wyniki z tych tabel poukładane wg kodu pocztowego miast i wsi...

Kod
<BR>$wynik = mysql_query("SELECT * FROM miasto, wies WHERE status='male' ORDER BY kod)<BR>or die('Błąd zapytania');<BR>


nie działa... widzicie jakiś błąd?

z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie działa, czyli? Jakiś błąd, czy zero rekordów?

Strzelam:
  1. SELECT * FROM miasto, wies WHERE miasto.STATUS='male' OR wies.STATUS='male' ORDER BY kod


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
ttb
post
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


rekordów b.dużo...
a błędu żadnego nie wywala...

pokażę cały kod... wiem, że nie jest on do końca profesjonalnie napisany ale kombinuję co mogę...

Kod
$wynik = mysql_query("SELECT * FROM miasto WHERE status='male' RDER BY kod LIMIT $start, $perPage")
or die('Błąd zapytania');
$wynik1 = mysql_query("SELECT * FROM wies WHERE status='male' ORDER BY kod LIMIT $start, $perPage")
or die('Błąd zapytania');

if(mysql_num_rows($wynik) > -1) {
        echo "<center><table  border=1>";

echo "<tr>";
        echo "<td width=40pt><b>KOD</b></td>";
        echo "<td width=220pt><b>MIASTO</b></td>";
        echo "</tr>";

    while($r = mysql_fetch_assoc($wynik)) {

echo "<tr>";
        echo "<td>".$r['kod']."</td>";
        echo "<td>".$r['miasto']."</td>";
        echo "</tr>";
    }

while($r = mysql_fetch_assoc($wynik1)) {
        
echo "<tr>";

        echo "<td>".$r['kod']."</td>";
        echo "<td>".$r['miasto']."</td>";
        echo "</tr>";
    }

    echo "</table></center>";
}


i to mi działa... ale jak skrócić ten kod? bo układa mi najpierw po kolei kodowo miasta a potem dopiero po kolei wioski...

Ten post edytował ttb 9.04.2009, 20:35:49
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a mógłbyś dla pełni szczęścia pokazać strukturę tabel, coby kolumny były widoczne?


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





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


Cytat(piotrooo89 @ 9.04.2009, 21:38:55 ) *
a mógłbyś dla pełni szczęścia pokazać strukturę tabel, coby kolumny były widoczne?



piotrooo89 - pokazałem zapytanie i układ tabeli... ale jak skrócić zapytanie...

bo tak sobie to planowałem ale nie działa:

Kod
$wynik = mysql_query("SELECT * FROM miasto, wies WHERE status='male' RDER BY kod LIMIT $start, $perPage")


if(mysql_num_rows($wynik) > -1) {
        echo "<center><table  border=1>";

echo "<tr>";
        echo "<td width=40pt><b>KOD</b></td>";
        echo "<td width=220pt><b>MIASTO</b></td>";
        echo "<td width=220pt><b>STATUS</b></td>";
        echo "</tr>";

    while($r = mysql_fetch_assoc($wynik)) {

echo "<tr>";
        echo "<td>".$r['kod']."</td>";
        echo "<td>".$r['miasto']."</td>";
        echo "<td>".$r['status']."</td>";
        echo "</tr>";
    }
    echo "</table></center>";
}


Ten post edytował ttb 9.04.2009, 21:06:39
Go to the top of the page
+Quote Post
piotrooo89
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




chodzi mi o struktury tabel... czyli jakie masz tam pola. bo tak to jest wróżenie lekkie albo opieranie się na Twoich przemyśleniach które mogą być niekoniecznie dobre.


--------------------
Go to the top of the page
+Quote Post
ttb
post
Post #7





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


Cytat(piotrooo89 @ 9.04.2009, 21:48:12 ) *
chodzi mi o struktury tabel... czyli jakie masz tam pola. bo tak to jest wróżenie lekkie albo opieranie się na Twoich przemyśleniach które mogą być niekoniecznie dobre.



rozumiem...
struktura prosta, tylko 3 pozycje:

tabela MIASTO
id
kod - varchar (6)
miasto - varchar (30)
status - varchar (20)

tabela WIES
id
kod - varchar (6)
miasto - varchar (30)
status - varchar (20)

(o tą informację chodziło?)

Ten post edytował ttb 9.04.2009, 21:07:17
Go to the top of the page
+Quote Post
kantek
post
Post #8





Grupa: Zarejestrowani
Postów: 73
Pomógł: 15
Dołączył: 2.04.2009
Skąd: koszalin

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


To skąd w 'status' w zapytaniu jak nie ma takiej kolumny questionmark.gif

Pozdrawiam


--------------------
kantek.com.pl
Go to the top of the page
+Quote Post
ttb
post
Post #9





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


Cytat(kantek @ 9.04.2009, 22:00:54 ) *
To skąd w 'status' w zapytaniu jak nie ma takiej kolumny questionmark.gif

Pozdrawiam



przepraszam, nie dopisałem... jest też status...
Go to the top of the page
+Quote Post
Darti
post
Post #10





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. SELECT * FROM (SELECT * FROM miasto WHERE miasto.STATUS='male' UNION SELECT * FROM wies WHERE wies.STATUS='male') AS cos ORDER BY cos.kod;


A swoją drogą zrobiłbym wszystko w jednej tabeli z dodatkową kolumną ENUM('miasto','wies')

Ten post edytował Darti 9.04.2009, 21:09:48


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
ttb
post
Post #11





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


Cytat(Darti @ 9.04.2009, 22:07:56 ) *
  1. SELECT * FROM (SELECT * FROM miasto WHERE miasto.STATUS='male' UNION SELECT * FROM wies WHERE wies.STATUS='male') AS cos ORDER BY cos.kod;


A swoją drogą zrobiłbym wszystko w jednej tabeli z dodatkową kolumną ENUM('miasto','wies')



rozumiem do momentu... AS cos ORDER BY cos.kod.... co ma być jako to "cos"?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #12


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to jest alias. taka tymczasowa nazwa wyświetlanej kolumny.


--------------------
Go to the top of the page
+Quote Post
ttb
post
Post #13





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


nadal nie działa
Go to the top of the page
+Quote Post
piotrooo89
post
Post #14


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




pokaż kod który nie działa i daj or die(mysql_error())


--------------------
Go to the top of the page
+Quote Post
ttb
post
Post #15





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 25.03.2009

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


Cytat(piotrooo89 @ 9.04.2009, 22:26:02 ) *
pokaż kod który nie działa i daj or die(mysql_error())



daje mi to: Parse error: syntax error, unexpected '>' in /home.... on line 46
a w tej linii mam: echo '"<center><table border=1>"';

ma ktoś jeszcze jakiś pomysł?
Go to the top of the page
+Quote Post
kantek
post
Post #16





Grupa: Zarejestrowani
Postów: 73
Pomógł: 15
Dołączył: 2.04.2009
Skąd: koszalin

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


Proszę rozwiązanie:

edit: u mnie w tabelach bazy 'nazwa', a u Ciebie w tabelach 'miasto' to sobie poprawisz smile.gif
  1. <?php
  2. mysql_connect('localhost','root','xxx');
  3.    mysql_select_db('miasto');
  4.    
  5.    //zapytanie autorstwa ttb [respect :) ]
  6.    $zapytanie = "SELECT * FROM (SELECT * from miasto WHERE miasto.status='male' ";
  7.    $zapytanie .= "UNION SELECT * from wies WHERE wies.status='male') AS cos ORDER BY cos.kod";
  8.  
  9.    if($result = mysql_query($zapytanie)){
  10.  
  11.        echo '<table><tr><td>Miejscowosc</td><td>Kod</td></tr>';
  12.        while($dane = mysql_fetch_assoc($result)){
  13.        echo '<tr><td>'.$dane['nazwa'].'</td><td>'.$dane['kod'].'</td></tr>';
  14.        }
  15.        echo '</table>';
  16.    }
  17. ?>


Pozdrawiam

Ten post edytował kantek 9.04.2009, 22:07:54


--------------------
kantek.com.pl
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: 20.08.2025 - 20:24