Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odczyt z tablicy wielowymiarowej
ktuvok
post
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
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
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam,
K
Go to the top of the page
+Quote Post
Adiasz
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 02:28