Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> podbieranie danych z tabeli
Goolum
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


Mam taki problem:
Jest sworzona baza danych w phpmyadminie,
ktora ma taka strukture:
  1. CREATE TABLE `kluby` (
  2. `nrid` mediumint(9) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(80) NOT NULL DEFAULT '',
  4. `miasto` varchar(20) NOT NULL DEFAULT '',
  5. `adres` varchar(150) NOT NULL DEFAULT '',
  6. `telefon` varchar(50) NOT NULL DEFAULT '',
  7. PRIMARY KEY (`nrid`)
  8. ) TYPE=MyISAM AUTO_INCREMENT=11;
  9.  
  10.  
  11. CREATE TABLE `spotkania` (
  12. `nrid` mediumint(9) NOT NULL AUTO_INCREMENT,
  13. `Sezon` varchar(10) NOT NULL DEFAULT '0',
  14. `id_kolejki` int(11) NOT NULL DEFAULT '0',
  15. `godzina` time NOT NULL DEFAULT '00:00:00',
  16. `id_klubu` int(11) NOT NULL DEFAULT '0',
  17. `status_id` int(11) NOT NULL DEFAULT '0',
  18. `wynik` varchar(6) NOT NULL DEFAULT '0:0',
  19. `1_set` varchar(6) NOT NULL DEFAULT '',
  20. `2_set` varchar(6) NOT NULL DEFAULT '',
  21. `3_set` varchar(6) NOT NULL DEFAULT '',
  22. `4_set` varchar(6) NOT NULL DEFAULT '',
  23. `5_set` varchar(6) NOT NULL DEFAULT '',
  24. `mp_stracone` int(11) NOT NULL DEFAULT '0',
  25. `mp_zdobyte` int(11) NOT NULL DEFAULT '0',
  26. PRIMARY KEY (`nrid`)
  27. ) TYPE=MyISAM AUTO_INCREMENT=96;
  28.  
  29. CREATE TABLE `statusy` (
  30. `nrid` mediumint(9) NOT NULL AUTO_INCREMENT,
  31. `status_k` varchar(20) NOT NULL DEFAULT '',
  32. PRIMARY KEY (`nrid`)
  33. ) TYPE=MyISAM COMMENT='status klubu w spotkaniu' AUTO_INCREMENT=3;
  34.  
  35.  
  36. CREATE TABLE `daty_kolejek` (
  37. `nrid` mediumint(9) NOT NULL AUTO_INCREMENT,
  38. `nr_kolejki` mediumint(9) DEFAULT NULL,
  39. `data` varchar(9) DEFAULT NULL,
  40. PRIMARY KEY (`nrid`)
  41. ) TYPE=MyISAM AUTO_INCREMENT=29;

Prosze uzywac wlasciwego bbcode
poprawiam
----
nospor

I teraz chce za pomoca php-a pobrac do tabeli pewne okreslone dane, a mianowicie:
tabela ma wygladac mniej wiecej tak:

lp| gospodarz| wynik| gosc|

A tu powstaje problem bo jak pobieram te dane za pomoca mysql_fetch_array()
to takie zapytanie pobiera mi dane ale laduje je wierszami takze mam takie same
dane w kolumnie gospodarz i gosc, i nie mam pojecia jak to rozdzielic, jesli ktos ma jakies pomysly to bardzo bym prosil o podzielenie sie nimi, albo jakis prosty przykladzik na takie rzecze, albo jakies inne rozwiazanie jak zestawic takie dane na stronie internetowej. Od razu mowie ze nie jestem orlem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) z phpa, a musze takie cos zrobic.POMÓŻCIE!! Jak cos nie jasne to pytajcie

Ten post edytował Goolum 12.04.2006, 12:58:26
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 mógłbyś pokazać kawałek klodu gdzie masz mysql_query i fetch_array?
Pobierając dane do tablicy, możesz sprawdzić poprzez tutaj pkt 1 co w niej jest.
Go to the top of the page
+Quote Post
Goolum
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


To juz pokazuje. On nie jest do konca poukladany ale wyglada tak
  1. <div align="center">
  2. <table width="70%" border="1">
  3. <tr bgcolor="#666666">
  4. <th colspan="7" scope="col">KOLEJKA NR 1 </th>
  5. </tr>
  6. <tr>
  7. <th width="3" scope="col">Lp</th>
  8. <th width="225" scope="col">Gospodarze</th>
  9. <th colspan="3" scope="col">Wynik</th>
  10. <th width="135"colspan = "2" scope="col">Goscie</th>
  11. </tr>
  12.  
  13.  
  14. <?php 
  15.  
  16. include ("./join.php");
  17.  
  18. $licznik=1;
  19. $zapytanie = 'SELECT s.id_klubu, s.wynik,s.status_id, k.*
  20. FROM spotkania s, kluby k
  21. WHERE s.nrid<=11
  22. and s.id_klubu=k.nrid';
  23.  
  24. $query=mysql_query("select wynik from spotkania");
  25.  
  26. $wykonaj = mysql_query($zapytanie);
  27.  
  28. while($wiersz=mysql_fetch_array($wykonaj) and $result=mysql_fetch_row($query))
  29.  
  30.  
  31. {
  32. $wynik=$result['0'];
  33. echo "
  34.  <tr>
  35.  <td height='20%' align='center'><i>".$licznik++."</i></td>
  36. <td height='20%' align='center'><i>".$wiersz['nazwa']."</i></td>//tutaj powinien byc gospodarz spotakania
  37. <td width='10%'align='center'>$wynik[0]</td>
  38. <td width='4%'align='center'>".vs."</td>
  39. <td width='10%'align='center'>$wynik[1]</td>
  40. <td height='20%' align='center'>".$wiersz['nazwa']."</td>//a tutaj gosc
  41. </tr>";
  42. }
  43. ?>
  44.  
  45. <table width="356" border="1">
  46. </table>
  47. </div>


sorki za laczenie z htmlem ale nie chce tego rozdzielac,
i teraz jest taki problem ze nie wiem jak w zapytaniu rozdzielic kluby na gospodarzy i
gosci spotkan (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Goolum 12.04.2006, 15:27:59
Go to the top of the page
+Quote Post
TomASS
post
Post #4





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

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


Chyba coś namieszałeś z query:
masz tak:
  1. <?php
  2.  
  3. $zapytanie = 'SELECT s.id_klubu, s.wynik,s.status_id, k.*
  4. FROM spotkania s, kluby k
  5. WHERE s.nrid<=11
  6. and s.id_klubu=k.nrid';
  7. ?>

a później:
  1. <?php
  2.  
  3. $query=mysql_query("select wynik from spotkania");
  4.  
  5. ?>

Więc po co te poprzednie zapytanie? A może to celowe?

Zrób tak:
  1. <div align="center">
  2. <table width="70%" border="1">
  3. <tr bgcolor="#666666">
  4. <th colspan="7" scope="col">KOLEJKA NR 1 </th>
  5. </tr>
  6. <tr>
  7. <th width="3" scope="col">Lp</th>
  8. <th width="225" scope="col">Gospodarze</th>
  9. <th colspan="3" scope="col">Wynik</th>
  10. <th width="135"colspan = "2" scope="col">Goscie</th>
  11. </tr>
  12.  
  13.  
  14. <?php 
  15.  
  16. include ("./join.php");
  17.  
  18. $licznik=1;
  19. $query = 'SELECT s.id_klubu, s.wynik,s.status_id, k.*
  20. FROM spotkania s, kluby k
  21. WHERE s.nrid<=11
  22. and s.id_klubu=k.nrid';
  23. $result = mysql_query($query);
  24. while ($row = mysql_fetch_array($result)){
  25. echo '<tr>';
  26.  echo '<td>'.$licznik++.'</td>';
  27.  echo '<td>'.$row['nazwa'].'</td>';
  28.  echo '<td>'.$row['0'].'</td>';
  29.  echo '<td>'.$row['1'].'</td>';
  30.  echo '<td>'.$row['nazwa'].'</td>';
  31. echo '</tr>';
  32. }
  33. ?>
  34.  
  35. <table width="356" border="1">
  36. </table>
  37. </div>

Jesli to nie pomoże to daj:
  1. <div align="center">
  2. <table width="70%" border="1">
  3. <tr bgcolor="#666666">
  4. <th colspan="7" scope="col">KOLEJKA NR 1 </th>
  5. </tr>
  6. <tr>
  7. <th width="3" scope="col">Lp</th>
  8. <th width="225" scope="col">Gospodarze</th>
  9. <th colspan="3" scope="col">Wynik</th>
  10. <th width="135"colspan = "2" scope="col">Goscie</th>
  11. </tr>
  12.  
  13.  
  14. <?php 
  15.  
  16. include ("./join.php");
  17.  
  18. $licznik=1;
  19. $query = 'SELECT s.id_klubu, s.wynik,s.status_id, k.*
  20. FROM spotkania s, kluby k
  21. WHERE s.nrid<=11
  22. and s.id_klubu=k.nrid';
  23. $result = mysql_query($query);
  24. while ($row = mysql_fetch_array($result)){
  25. echo $licznik++;
  26. print_r($row);
  27. }
  28. ?>
  29.  
  30. <table width="356" border="1">
  31. </table>
  32. </div>

I napisz co Ci wyświetla.
Go to the top of the page
+Quote Post
Goolum
post
Post #5





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


te dwa zapytania to celowe sa bo mysql_fetch_row() rozdziela mi wynik w tabeli
na dwie kolumny. a te pierwsze powinno mi rozdzieliac jakos gospodarzy i gosci spotkania ale nie wiem jak to ujac w zapytaniu sql-a (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (czy w ogole to jakos sie da zrobic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ).
Te twoj pierwszy przyklad nie segreguje tego (niestety (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ) a ten drugi przyklad nie wstawia do tabeli tych wynikow , i wywietla w postaci tablicy wszystkie dane ale tylko z tabeli klub czlyli nazwa , adres itd, a tak nie ma byc:(. Ja nie mam pojecia jak to zrobic, a moze macie jakis
pomysl zeby to jakos inaczej poukladac, tak zeby bylo czytelnie dla uzytkownika;)

Mial ktos cos podobnego do zrobienia? Jak to mozna rozwiazac?

Ten post edytował Goolum 12.04.2006, 21:35:59
Go to the top of the page
+Quote Post
phobos
post
Post #6





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


powiedz mi tabela "spotkania" w bazie danych ma id_klubu ale to jest jakos polaczone ze ma oba id klubu czyli ma id_klubu "gosc" i id_klubu "gospodarz" czy id_klubu "gosc" albo id_klubu "gospodarz" jest zapisane w innej czesci tej tabeli
tak btw to jak napiszesz mi to o co prosze to jeszzce napisze ci jak zrobic zebys wykonal 1 zapytanie i mial wszystkie dane klubu + wynik podzielony na 2 czesci (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Goolum
post
Post #7





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


W id_klubu w tabeli spotkania jest przechowywana nazwa klubu, czyli ona jest połaczona z tabela kluby, natomiast status_id przechowuje wartosci czy klub jest gospodarzem czy gosciem, czyli stataus_id jest polaczony z tabela statusy. Ta baze robilem w accesie takze tam dzialala bez problem, takze mysle ze to dobrze zbudowane bylo (mam nadzieje (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ). Jesli nie da sie tego tak jak ja chce zrobic to moze w jakis inny sprawdzony sposob: (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z gory dzieki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
phobos
post
Post #8





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


ok spox powiedz mi w tabeli status
status_id=1 --> gospodarz
status_id=2 --. gosc
tak to masz zrobione??
Go to the top of the page
+Quote Post
Goolum
post
Post #9





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


tak wlasnie mam to zrobione (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
phobos
post
Post #10





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


sprawdz czy to bedzie dzialac
  1. <?php 
  2.  
  3. include ("./join.php");
  4.  
  5. $licznik=1;
  6. $zapytanie = 'SELECT k1.nazwa as klub1, s1.wynik as wynik , k2.nazwa as klub2
  7. FROM spotkania s1, spotkania s2 
  8. JOIN kluby k1, kluby k2 
  9. ON k1.nrid = s1.id_klubu and k2.nrid = s2.id_klubu
  10. WHERE s1.nrid<=11 and s1.id_kolejki=s2.id_kolejki and s1.status_id=1 and s2.status_id=2 ';
  11.  
  12. $wykonaj = mysql_query($zapytanie);
  13.  
  14. while($wiersz=mysql_fetch_array($wykonaj))
  15.  
  16. echo "
  17. <tr>
  18. <td height='20%' align='center'><i>" . ++$licznik . "</i></td>
  19. <td height='20%' align='center'><i>".$wiersz['klub1']."</i></td>
  20. <td width='10%'align='center'>".$wiersz['wynik']['0']."</td>
  21. <td width='4%'align='center'>vs</td>
  22. <td width='10%'align='center'>".$wiersz['wynik']['1']."</td>
  23. <td height='20%' align='center'>".$wiersz['klub2']."</td>
  24. </tr>";
  25.  
  26. ?>


Ten post edytował phobos 13.04.2006, 13:23:09
Go to the top of the page
+Quote Post
Goolum
post
Post #11





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


to nie dziala jak nalezy, chyba jest jakis blad w zapytaniu sqlowy bo przy wywolaniu
skryptu wywala blad :
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\kolejka_nr1.php on line 36.
A jak wrzucilem to zaptytanie w phpmyadminie to wywalilo cos takiego:

#1064 - Something is wrong in your syntax obok 'ON k1.nrid = s1.id_klubu and k2.nrid = s2.id_klubu
' w linii 4
Nie wiem jak sprwdzic to polecenie join on, bo niegdy sie jeszcze nim nie poslugiwalme (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) . Ale mam nadzieje ze to komunikaty sa pomocne.
Go to the top of the page
+Quote Post
phobos
post
Post #12





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


ok sprubuj bez tego "JOIN"
  1. <?php
  2.  
  3. $zapytanie = 'SELECT k1.nazwa as klub1, s1.wynik as wynik , k2.nazwa as klub2
  4. FROM spotkania s1, spotkania s2 , kluby as k1 , kluby as k2
  5. WHERE k1.nrid=s1.id_klubu and k2.nrid=s2.id_klubu and
  6. s1.nrid<=11 and s1.id_kolejki=s2.id_kolejki and s1.status_id=1 and s2.status_id=2 ';
  7. ?>
Go to the top of the page
+Quote Post
LBO
post
Post #13





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


jezeli tą bazę robiłeś w accesie to nie powinieneś mieć problemu podejrzeć SQL (z widok projekt przelaczas na widok SQL) i tam sprawdzic jak to jest zrobione... moze nie bedzie to bezposrednio przenosne na MySQL, ale da Ci ogolne pojecie o skonstruowaniu poprawnych zapytan..
Go to the top of the page
+Quote Post
Goolum
post
Post #14





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


Teraz dziala ale niestety tylko dla pierwszych dwoch meczy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) , i zwraca zamiast 5 par (bo tyle jest na w jednej kolejce )
az 17 (nie mam pojecia dlaczego az tyle, zagadka). do dwoch pierwszych rekordow jest
OK a pozniej miesza druzyny jak mu sie podoba (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , dziwne rzeczy sie dzieja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . A moze jakos inaczej sie to da zrobic.?
Go to the top of the page
+Quote Post
phobos
post
Post #15





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


a jka dodasz "distinct" zaraz po select tzn
  1. <?php
  2.  
  3. $zapytanie =' SELECT DISTINCT ...........................';
  4.  
  5. ?>

aha i zmien sobie $licznik=0;
Go to the top of the page
+Quote Post
Goolum
post
Post #16





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


To niec nie zmienia (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) , jest tak jak bylo. A dlaczego to zapytanie zwraca 17 rzedow, tzn 34 rekordy a nie 10 tak jak jest w zapytaniu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ?. Nie wiem jak to rozwiazac , moze to jakos posegregowac , probowalem to z ORDER BY ale to nic nie pomaga:(
Go to the top of the page
+Quote Post
phobos
post
Post #17





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


ej a w kazdym rzedize jest wyswietlany wynik spotkania??
Go to the top of the page
+Quote Post
Goolum
post
Post #18





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


tak w kazdym:)
Go to the top of the page
+Quote Post
phobos
post
Post #19





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


sluchaj wyexportuj ta baze danych do jakiegos pliku a potem wrzuc na jakis serwer i daj mi linka do tego pliku
stworze identyczna baze dzieki temu plikowi i zobacze w czym blad
Go to the top of the page
+Quote Post
Goolum
post
Post #20





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.02.2006
Skąd: gdynia

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


ok a mozesz podac mi jakis link na taki serwer, zeby mozna bylo to bezbolesnie zrobic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 22.08.2025 - 11:50