Od dzisiejszego poranka zastanawiam się nad następującą sprawą:
Chcę zaciągnąć wartość siedzącą w konkretnym polu tabeli bazy danych - jest to pole numerujące rekordy (w moim przypadku nazwane dk_id,)
1) najpierw pobieram sobie ile mam wierszy w całej tabeli:
$query = "SELECT dk_id FROM dane_kategorie";
2) następnie mając już tą ilość - wykonuję pętlę - żeby wyświetlić wszystkie dane
skrypt wygląda tak:
$licz_kategorie = 1; for ($licz_kategorie; $licz_kategorie != $ile_k; ++$licz_kategorie) { $query = "SELECT dk_nazwa FROM dane_kategorie WHERE dane_kategorie.dk_id=$licz_kategorie"; }
Sęk w tym, że ilość wierszy, nie odpowiada numeracji pola dk_id
Dla przykładu - jeśli usunę 7 wiersz i dodam kolejny, to jego id będzie miało numer 8, mimo, że wszystkich rekordów jest 7.
w jakim celu jest mi to potrzebne? Ano są 2 tabele - powiązane za pomocą właśnie dk_id.
potrzebuję wyciągnąć wszystkie dane z tabeli A powiązane z tabelą B za pomocą dk_id, z tym, że muszę to zrobić w ten sposób, że
muszę wybrać interesujące mnie elementy w tabeli A (szukam po id konkretnej kategorii)
po czym, jeśli zostały już wszystkie znalezione, trzeba przejść do następnej kategorii (czyli do kolejnej wartości dk_id)
Zastanawiam się, czy nie robię błędu w myśleniu. Może tutaj powinienem zastosować jakąś pętlę i tablicę, żeby zapisać sobie wartości pola dk_id do jakiejś zmiennej i potem z niej korzystać?
Może można całkiem zmienić lub zoptymalizować zapytanie? tak, aby za jednym zamachem uzyskać wszystko co mi potrzebne? a może już tak się zakręciłem, że nie widzę jakiegoś banalnego rozwiązania? Za wszelkie rady i sugestie będę bardzo wdzięczny!
-------
edyta mówi:
czy można byłoby to zrobić za pomocą tablicy? na początek:
$query = "SELECT dk_id FROM dane_kategorie"; $wartosc[] = $rekord['dk_id']; }
później odwołując się do konkretnego indeksowanego pola w tablicy miałbym te wartości, które mnie interesują, dobrze kombinuję? do jutra nie mam dostępu ani do php ani sql żeby to sprawdzić, dlatego też Was pytam :-)