![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 8.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z tworzeniem zapytania odczytującego z bazy danych. Mianowicie mam tablicę, w której są pewne wartości (0-6, 1-2, 2-14, 3-7, czyli po kolei 6,2,14,7). Stworzone zapytanie musi wczytać po kolei te wartości jako osobne warunki w klauzuli "where"czyli moglibyśmy stworzyć zapytanie typu:
Kod $zapytanie = "select nazwa from xxx where id= $element['0'] and id=$element['1'] itd"
tylko, w tym problem, że nie wiadomo ile jest wartości w tablicy, więc nie można zastosować tej ręcznej metody. Myślałem tu nad pętlą, ale mi nie wychodzi. A ha, wyniki całego zapytania chce mieć w tablicy indeksowanej numerycznie. Pozdrawiam. Myrek |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Wyraziles sie troche niejasno ale mysle ze to powinno mniej wiecej spelniac twoje oczekiwania:
Kod $pytanie='select id from xxx';
$wynik=mysql_query($pytanie); while ($line = mysql_fetch_assoc($wynik_)) { while(list($col_name, $col_value) = each($line)) { if ($col_name=='id') {$id=$col_value;} if ($col_name=='nazwa') {$nazwa=$col_value} } $element[$id]=$nazwa } jesli chcesz miec za klucze nie id tylko normalne cyfry to zamiast $id wsztaw $i -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat jesli chcesz miec za klucze nie id tylko normalne cyfry to zamiast $id wsztaw $i
sorry - myslalem chyba o czyms innym,,,, mozesz poprostu zostawic [] lub Kod $i++;
$element[$i]=$nazwa; -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: -- Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam
Cytat $zapytanie = "select nazwa from xxx where id= $element['0'] and id=$element['1'] itd"
Kod $warunek="";
for($i=0;$i<count($tabela);$i++) { if($i==0) { $warunek=" WHERE id=".$tabela[$i]; } else{ $warunek.=" AND id=".$tabela[$i]; } } $zapytanie="SELECT * FROM tabela $warunek"; $wykonanie=mysql_query($zapytanie); // itp Powinno być chyba OK ... -------------------- Pozdrawiam olo _b19
GG: 846964 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
A przy okazji - warto się zaprzyjaźnić z klauzulą IN w MySQL, czyli
Select * FROM table WHERE id IN (1,2,3) -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 8.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedz. Pomyliłem się, zamiast AND w WHERE, powinno być OR, na razie przetestowałem metodę olo_b19 i działa.
Dzięki za wszystkie odpowiedzi, wracam do boju z moim skryptem. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 10:11 |