![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem ;] No więc mam takie pętle:
No i: $nazwy jest to tablica która zawiera nazwy plików. $db - obiekt klasy do obsługi bazy I chce mieć następujący efekt. Pętlą while robie tablice pól z bazy. Następnie pętlą foreach odczytuje pliki zapisane w tablicy $nazwy i jeśli w bazie nie ma pola o nazwie $plik to powinien mi go dopisać do bazy. Ale przez tą pętle (tak myśle) foreach w pętli while zapisują mi sie wszystkie pliku z tej tablicy. Jak moge to rozwiązac. Z góry thx |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat in_array lub array_key_exists Tak sprawdzić jest łatwiej ale co z tym: (chodzi o $plik) jak to wyciągnąc z tablicy $nazwy (tablica wygląda tak 0 => 'index.php', 2 => 'temp.php itd :?: Ten post edytował Apo 2.02.2006, 19:28:11 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
No przecież wyciągasz to foreach()'em
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ale przez tą pętle (tak myśle) foreach w pętli while zapisują mi sie wszystkie pliku z tej tablicy. A nie da sie tego połączyć to foreach z tym while ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
heh
Właśnie chodzi mi o to żeby dodać do bazy rekord którego nie ma w bazie danych, a który jest w tablicy $nazwy i w tym jest cały problem ;/ Czyli po ludzkiemu kod by był taki ![]() Pętla robi zapytanie do tablicy $array. Następnie są poruwnywane wartosci z array[1] i z tablicą $nazwy. Jeśli tablica $nazwy zawieta taki element którego nie ma tablica $array to jest on dodawany do bazy. Ten post edytował Apo 3.02.2006, 14:09:20 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Wiesz co to jest negacja ?
!in_array() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie zrozumiałeś mnie @Ociu
bo jak zrobie tak jak mówisz:
To przecież ta zmienna $nazwy jest tablica i doda mi to bazy danych napis Array. A nie brakujący plik którego nie ma w bazie a jest w katalogu. Bo ten skrypt obsługuje moduły. Ten post edytował Apo 3.02.2006, 21:11:11 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Miałe kiedyś podobny problem i już Ci mówie jak go rozwiązać, a raczej napisze Ci fragment mojego kodu.. sądze, że zakumasz o co w nim chodzi
![]() na początek.. mamy 2 tablice: $aktualne[] oraz $zalecane[] Tak je tworze:
Potem je porównuje i w przypadku jeśli nie ma jednej wartości to wyświetlam brak danych.. u Ciebie w tym miejscu będzie włożenie tego do bazy. O to całe porównanie:
Wrzuciłem prost z pliku, więc są tam jakieś style, ale sądze, że je zrozumiesz.. w każdym razie najważniejsza jest funkcja array_key_exists. Jedynie zastrzeżenie jest takie, że nazwy nie mogą się powtarzać. Bo wtedy się nadpiszą.. U mnie to jest tak, że w bazie w jednej tabeli mam domyslne parametry dla jakiejś kategorii (parametry, któe muszą wystąpić), a w innej tabeli mam wartości przypisane do konkretnego produktu.. w chwili przeszukiwania tablicy jesli nie znajdzie takich wartości pisze brak danych.. (chyba trochę niamieszałem z tym opisem, ale mam nadzieję, że Ci pomogłem) A jak to działa w praktyce możesz zobaczyć na www.promediapc.pl w szczegółach jakiegoś produkt. Ten post edytował chomiczek 3.02.2006, 22:17:35 -------------------- created by chomiczek
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Cytat
Zobacz co napisałem. Przecieżś widać, że dodaje $array['modul'] |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Ociu
$array['modul'] to nazwy modułów które są w bazie danych juz. Czyli nie moge tego dodać w taki sposów. Tylko skrypt listuje katalog gdzie znajdują się moduły i dodaje je do tablicy $nazwy. A POTEM SKRYPT SPRAWDZA KTÓREJ WARTOSCI Z TABLICY $nazwy NIE MA W BAZIE DANYCH ($array['modul']) i JEŚLI NIE MA TAKIEJ WARTOŚCI BAZA DANYCH TO JEST ONA DODAWANA Z TABLICY $nazwy. Bo tablica $array['moduly'] zawiera odczytane nazwy modułów z BAZY DANYCH. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 19:22 |