Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odczyt z tablicy wielowymiarowej
ktuvok
post 10.06.2005, 12:25:31
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

Ostrzeżenie: (0%)
-----


Zapakowałem stawki VAT do tablicy:
  1. <?php
  2.  
  3. $PobierzStawki = mysql_query(&#092;"SELECT * FROM StawkiVAT\");
  4. while($TablicaStawek = mysql_fetch_assoc($PobierzStawki))
  5. {
  6. $TabStawki[][0] = $TablicaStawek['IDStawki'];
  7. $TabStawki[][1] = $TablicaStawek['NazwaStawki'];
  8. $TabStawki[][2] = $TablicaStawek['Stawka'];
  9. }
  10.  
  11. ?>

i teraz chciałbym wyświetlić odpowiednie stawki w polu SELECT:
  1. <?php
  2.  
  3. echo&#092;"<SELECT>\";
  4. foreach($TabStawki as $v)
  5. {
  6. echo &#092;"<OPTION value=\"$v[0]\">$v[1]</OPTION>\";
  7. }
  8. echo&#092;"</SELECT>\";
  9.  
  10. ?>

Ale pakuje mi do selekta wszystkie elementy tablicy, a nie tylko [1]... Dlaczego??

Nie mogę odwołać się w selekcie bezpośrednio do mysql_fetch_assoc(), bo takich selektów mam kilkanaście na jednym formularzu.

Pozdrawiam,
K
Go to the top of the page
+Quote Post
SongoQ
post 10.06.2005, 12:32:56
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $i = 0;
  4. while($TablicaStawek = mysql_fetch_assoc($PobierzStawki))
  5. {
  6. $TabStawki[$i][0] = $TablicaStawek['IDStawki'];
  7. $TabStawki[$i][1] = $TablicaStawek['NazwaStawki'];
  8. $TabStawki[$i][2] = $TablicaStawek['Stawka'];
  9. $i++;
  10. }
  11.  
  12. ?>


--------------------
Go to the top of the page
+Quote Post
ktuvok
post 10.06.2005, 12:38:39
Post #3





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

Ostrzeżenie: (0%)
-----


Dzięki, zadziałało... Ciekawe, dlaczego wymuszenie indeksu robi tu jakąś różnicę. Na mój gust powinno wystarczyć zwykłe
  1. <?php
  2.  
  3. $ZmiennaTablicowa[] = ...
  4.  
  5. ?>

ale jak widać gust nie zawsze dobrym doradcą jest smile.gif

Pozdrawiam,
K
Go to the top of the page
+Quote Post
Adiasz
post 10.06.2005, 13:26:46
Post #4





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

Ostrzeżenie: (0%)
-----


to nie jest kwestia gustu ;-)

roznica polega na tym ze w Twoj skrypt generuje tablice typu
$TabStawki[ 0 ][0] = $TablicaStawek['IDStawki'];
$TabStawki[ 1 ][1] = $TablicaStawek['NazwaStawki'];
$TabStawki[ 2 ][2] = $TablicaStawek['Stawka'];
3
4

( jezeli nie okreslasz indexu, to zstaje on powiekszony przy kazdym podstawieniu )

natomiast poprawny kod SongoQ generuje:
$TabStawki[ 0 ][0] = $TablicaStawek['IDStawki'];
$TabStawki[ 0 ][1] = $TablicaStawek['NazwaStawki'];
$TabStawki[ 0 ][2] = $TablicaStawek['Stawka'];
1
1

( pierwszy index zwiekszany jest, dopiero po wstawieniu wszystkich danych rekordu )
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 16:50