Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sortowanie wyników z dwóch tabel
Forum PHP.pl > Forum > Przedszkole
nexis
Witam,

w bazie danych mam tabelę zawierającą dwie kolumny OWNER oraz FRIEND. W tabeli tej przechowuje listę kontaktów. Kolumna OWNER zawiera identyfikator użytkownika (czyli np. mój jeśli jestem zalogowany), a kolumna FRIEND zawiera identyfikator osoby, która jest na mojej liście kontaktów.

Podczas pobierania tej listy chciałbym ją posortować według imion użytkowników. Znajdują się one jednak w innej tabeli.

Czy jest jakaś możliwość stworzenia takiego zapytania w MySQL, żebym otrzymał pożądany przeze mnie wynik czy jedyna możliwość to wczytanie całości do tablicy i posortowanie tego z poziomu php?
Prph
Witam,

Strzele zapytanie SQL

  1. SELECT u.imie FROM uzytkownicy u, kontakty k WHERE kontakty.owner = u.id ORDER BY u.imie ASC;


Podaj strukture tabel, to napisze je na 100% dobrze tongue.gif

Adrian.
8_pasazer_NOSTROMO
Witam

Mam identyczny problem. Pomóżcie bo wywala array multisort array sizes inconsistent, mimo że jedna i druga tablica ma identyczną ilość danych.

  1. include "../../baza.php";
  2. $zapytanie = "select DISTINCT(zlecil) FROM polecenia group by zlecil UNION select DISTINCT(zlecil) FROM polecenia2 group by zlecil";
  3. $wykonaj = mysql_query($zapytanie) or die ("<BR>Zapytanie bazy polecenia");
  4. while($wiersz = mysql_fetch_array($wykonaj))
  5. {$kadry[]=$wiersz['zlecil'];}
  6. $il=count($kadry);
  7.  
  8. Najpierw pobieram kadry osobowe ludzi z dwóch baz danych. Powiedzmy że jest ich 20. $il=20.
  9.  
  10.  
  11. include "../../../kadry/baza.php";
  12. for($x=0;$x<$il;$x++)
  13. {$zapytanie = "select p1 FROM kadry where (p3='$kadry[$x]')";
  14. $wykonaj = mysql_query($zapytanie) or die ("<BR>Błąd 9");
  15. while($wiersz = mysql_fetch_array($wykonaj))
  16. {$nazwisko=$wiersz['p1'];}
  17. if ($nazwisko!=''){$nazwiska[]=$nazwisko;}else{$nazwiska[]="";}
  18. unset($nazwisko);}
  19. $il2=count($nazwiska);
  20.  
  21. Teraz łącze się z inną bazą danych i pobieram nazwiska tych osób. Mam ich też 20. $il2=20.
  22.  
  23. array_multisort($nazwiska, SORT_ASC, $kadry);
  24.  
  25. I teraz wywala na serwerze array multisort array sizes inconsistent. Jak to możliwe ?


Czy znacie jakąś inną funkcję, która posortuje w tablice po nazwiskach.


W skrócie :
$tablica1[0]=1111;
$tablica1[1]=1112;
$tablica1[2]=1113;
$tablica1[3]=1114;
$tablica1[4]=1115;

$tablica2[0]=Mozil Czesław;
$tablica2[1]=Smuda Franek;
$tablica2[2]=Dolas Franek;
$tablica2[3]=Putin Władek;
$tablica2[4]=Tymoszenko Julia;


a musi być :

$tablica2[0]=Dolas Franek; $tablica1[0]=1113;
$tablica2[1]=Mozil Czesław; $tablica1[1]=1111;
$tablica2[2]=Putin Władek; $tablica1[2]=1114;
$tablica2[3]=Smuda Franek; $tablica1[3]=1112;
$tablica2[4]=Tymoszenko Julia; $tablica1[4]=1115;

Alfabetycznie po nazwiskach chce posortować. POMOCY !
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.