Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]]Wybieranie kilku wartości z bazy danych
Forum PHP.pl > Forum > Przedszkole
Star
Witam
Mam problem z wybraniem kilku wartości z bazy danych.Np mam stronę gdzie jest kilka firm i do każdej należą jakieś osoby.
Na jednej podstronie mam formularz gdzie się podaje nazwę firmy, np X, to przesyła do bazy danych ta nazwę i zapisuje w odpowiedniej kolumnie.
I na innej podstronie jest tabela która powinna pokazywać wszystkie osoby z tej firmy. Np jeśli wpisze X, Y to ma wyświetlić wszystkie osoby z tych dwóch firm, jeśli wpisze X, Y, Z to z tych trzech itd.
Na razie kod do wybierania wygląda tak:

  1. $query = "SELECT `nazwy` ".
  2. "FROM `{$_SESSION[db_prefix]}_users` ".
  3. "WHERE `imie` = '{$_SESSION[user_nick]}'";
  4. $result = mysql_fetch_array(mysql_query($query));
  5. $dane = "{$result['nazwy']}";
  6. $dane_osobowe = explode(",", $dane);


a do wybierania tak:
  1. $query = "SELECT `imie` ".
  2. "FROM `{$_SESSION[db_prefix]}_firmy` ".
  3. "WHERE `firma` = '$dane_osobowe[0]' ".
  4. "OR `firma` = '$dane_osobowe[1]'".
  5. "OR `firma` = '$dane_osobowe[2]'".


niby wszystko ok,ale jesli ktos nie jest przypisany do zadnej firmy to jego tez wyswietli.
W jaki sposob mogłbym zapętlić tą zmienną $dane_osobowe questionmark.gif
robertpiaty
Najlepiej to by było zrobić JOIN i pobrać wszystko jednym zapytaniem.

Nie zauważyłem że tu robisz explode. Ehh szkoda że tutaj nie ma kluczy obcych i normalnych relacji - sprawa by była zdecydowanie łatwiejsza. Przyznaje że nie bardzo kumam tą strukturę bazy.
Star
no to nie miał by ktos jakiegos pomyslu ?
robertpiaty
Alternatywą dla where or... or.... w mysql jest IN(), ale nie wiem czy to Ci w czymś pomoże
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.