Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Porządkowanie wyświetlonych elementów tablic
Mostrom
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Witam! Mam oto taki kodzik, który odlicza po kolei podane liczby.
  1. <form method="post">
  2. odliczaj od:
  3. <input type="text" name="a">
  4. do:
  5. <input type="text" name="b">
  6. <input type="submit" value="Odliczaj!">
  7. </form>
  8. <?php
  9. @$a=$_POST["a"];
  10. @$b=$_POST["b"];
  11. $roznica=$b-$a;
  12. @$tbli[$roznica];
  13. if(!empty($a) AND !empty($b)){
  14. for($index=$a;$index<=$b;$index++){
  15. $elemtbli=$index-$a;
  16. $tbli[$elemtbli]=$index;
  17.  
  18. print_r($index);
  19.  
  20. if($index<$b){
  21. echo ", "; }
  22.  
  23. else{
  24. echo " "; }
  25. }
  26. }
  27. else{ echo "aaaa wpisz zakres!!!"; }
  28. ?>


Chciałbym jakoś uporządkować tablicę, którą mi wyświetla print_r(), mianowicie chciałbym, aby po kilku kolejnych elementach tablicy, dodawał mi odstęp, bo gdy zacznie odliczać od 1 do 400, to sie bałagan robi na stronie. Jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To musisz sobie napisać swoją funkcję do printowania tablic, dodatkowo dorzucić do tego javascript.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Mostrom
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


A samym php się nie da? jakoś na warunku if podać mu jakąś wielokrotność klucza tablicy? Na pewno się da biggrin.gif
Go to the top of the page
+Quote Post
attimo
post
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 6
Dołączył: 23.01.2010

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


Może zlicz ilosc elementow daj warunek ktory podzieli to na tyle ile chcesz.
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Mostrom @ 9.08.2010, 16:05:54 ) *
A samym php się nie da? jakoś na warunku if podać mu jakąś wielokrotność klucza tablicy? Na pewno się da biggrin.gif

Musiałbyś przeładowywać stronę...bez sensu lepiej wszystko wyrzucić i zwinąć i po stronie użytkownika rozwijać.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Mostrom
post
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Nie musiałbym przeładowywać strony, po co. Udało mi się uzyskać efekt o jak mi chodzi w sposób tzw. "manualny" biggrin.gif mianowicie:
  1. for($index=$a;$index<=$b;$index++){
  2. $elemtbli=$index-$a;
  3. $tbli[$elemtbli]=$index;
  4. if($index==20 OR $index==40 OR $index==60 OR $index==80) {echo "</br>";}
  5. print_r($index);
  6. if($index<$b){
  7. echo ", ";
  8. }
  9.  
  10. else{
  11. echo " "; }
  12.  
  13.  
  14. }

ale to jest zrobione nie zgodnie ze sztuką, poza tym jest ograniczona liczba odliczania. Na 100% da się zrobić to czystym php bez żadnego odświeżania. Jestem przekonany, że da się zrobić warunek że co któreś wykonanie pętli for ma być dadny odstęp. Wpadłem na coś takiego teraz, ale nie wiem czy będzie działać. Usunąć printowanie index z pętli for, za to wyświetlić całą tablicę po uzupełnieniu tej tablicy:
  1. for($x=0, $lczb=count($tbli); $x<$lczb; $x++){
  2. echo $tbli[$x];
  3. while ($lczb=$lczb/20){ // warunek źle zrobiłem, powinno być "jeśli lczb da się podzielić przez 20 i wynik ten jest powyżej 1", ale musze pomyśleć jak to sformuować
  4. echo "</br>";
  5. continue; }


I co myślicie o tym? Gdyby ktoś zgodziłby się ulepszyć w/w kod byłbym wdzięczny smile.gif
Go to the top of the page
+Quote Post
Fifi209
post
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


O kurde... Ty chcesz odstęp...Wybacz człowiek czasem niewyspany.

Zamiast tak:

  1. if($index==20 OR $index==40 OR $index==60 OR $index==80) {echo "</br>";}


Można tak:
  1. if ($index % 20 == 0) {
  2. echo '<br/>';
  3. }


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Mostrom
post
Post #8





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 17.04.2007

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


Yeah dzięki haha.gif nareszcie działa! Wiedziałem, że coś z % haha.gif
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 Aktualny czas: 19.08.2025 - 21:56