Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Pozdrawiam
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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: 15.09.2025 - 06:48