![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
Witam
Kolejny problemiq(pewnie juz macie dosc) ale kto pyta nie błądzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wiec tak mam tabele w mysql w niej pole nr_kursu, w tymze polu znajduja sie powtarzajace sie przez kilka wierszy wartosci numeru kursu np. przez kolejnych 5 wierszy pole to ma warotsc 111, pozniej 112,113 itd. Teraz pytanie o wyswietlanie dancyh: [php:1:639571c1de]<?php $jakas = "SELECT * FROM cos WHERE id=$result[id_cosia] AND nr_kursu='111' "; $bierz2 = mysql_query($jakas, $conn); while ($result2 = @mysql_fetch_array($bierz2)) { ?>[/php:1:639571c1de] mam sobie taka petelke ale czy jest mozliwe by ta petla powtarzala sie w zaleznosci ile roznych numerow kursu bedzie?czyli jesli beda w polu nr_kursu kolejne numery to zeby petle powtarzal tak samo ale ze zmienionym warunkiem zapytania SELECT nr_kursu='112' (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? licze na help (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Może po prostu najpierw pobierz numery kursów, a potem wykonuj to zapytanie dla każdego numeru kursu.
[php:1:b2f7da3d15]<?php $jakas1 = "SELECT nr_kursu FROM cos WHERE id=".$result['id_cosia']." GROUP BY nr_kursu"; $bierz1 = myslql_query ( $jakas1, $conn ); while ( $result1 = @mysql_fetch_array( $bierz1 ) ) { $jakas2 = "SELECT * FROM cos WHERE id=".$result['id_cosia']." AND nr_kursu=".$result1['nr_kursu']; $bierz2 = mysql_query( $jakas2 , $conn ); while ( $result2 = @mysql_fetch_array( $bierz2 ) ) { // tu odpowiednie instrukcje } } ?>[/php:1:b2f7da3d15] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 2.01.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zaznaczył, że bardziej poprawne pod względem manuala MySQL będzie takie zapytanie:
[sql:1:9af857a409] SELECT DISTINCT nr_kursu FROM cos WHERE id=JAKIESTAM_ID; [/sql:1:9af857a409] zamiast takiego: [sql:1:9af857a409] SELECT nr_kursu FROM cos WHERE id=JAKIESTAM_ID GROUP BY nr_kursu"; [/sql:1:9af857a409] Chociaż wynik ten sam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
dzieki za podpowiedzi, ale nie wiem jak pogodzic to ze ja juz w tej chwili mam dwa zapytania mysql bo w jednym wyciagam dane z jednej tabeli a wewnatrz tejze petli wyciagam jeszcze dane z innej tabeli. wiec w tym wypadku musialbym jeszcze trzecie zapytanie wlaczyc ale czy to da rade powiazac z tym?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
@lukaswoj: aaa... sorka, masz świętą rację
@Elias: Zapytań to możesz sobie robić ile chesz (owczywiście im mniej tym lepiej), byleś ich wyniki w innych zmiennych przechowywał. A czy da się je połączyć jakoś, to zależy od konkretnego przypadku. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
no w tym konkretnym przypadku biorac pod uwage Twoja propozycje grupowania nr_kursu wyglada to tak:
[php:1:58086f91e3]<?php $sel = "SELECT nr_kursu FROM numery_kursow GROUP BY nr_kursu"; $bierz = mysql_query($sel, $conn); while ($result = @mysql_fetch_array($bierz)) { $dane = "SELECT * FROM numery_kursow WHERE nr_kursu=$result[nr_kursu]"; $bierz2 = mysql_query($dane, $conn); while ($result2 = @mysql_fetch_array($bierz2)) //wyniki zapytania ?>[/php:1:58086f91e3] Natomiast potrzebuje dołożyc jeszcze rownolegle z wyswieltaniem wynikow wyswietlenie z innej tabeli nazw miejscowosci poniewaz w tabeli numery_kursow mam tylko id_miejscowosci.Musze zatem dolozyc jeszcze zapytanie SELECT * FROM miejscowosc WHERE id=$result[id_miejscowosci] |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
No to łączymy tabele w zapytaniu:
[php:1:a8cb01bf4f]<?php $sel = "SELECT DISTINCT nr_kursu FROM numery_kursow"; $bierz = mysql_query($sel, $conn); while ($result = @mysql_fetch_array($bierz)) { $dane = "SELECT * FROM numery_kursow, miejscowosc WHERE numery_kursow.id_miejscowosci=miejscowosc.id AND nr_kursu=$result[nr_kursu]"; $bierz2 = mysql_query($dane, $conn); while ($result2 = @mysql_fetch_array($bierz2)) //wyniki zapytania } ?>[/php:1:a8cb01bf4f] Przy założeniu, że w tabeli miejscowosc znajduje się: id | nazwa_miejscowosci Dzięki temu połączeniu tabel do każdego wiersza zostaną dodane nazwy miejscowości, wczytane z tabeli miejscowosc. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Kołobrzeg Ostrzeżenie: (0%) ![]() ![]() |
woow dzieki wlasnie o cos takiego mi chodzilo.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:17 |