Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] co 10 rekordów enter
Forum PHP.pl > Forum > Przedszkole
tenloginjestzajety
Witam
próbuje zrobić <br /> co 10 rekord w celu utworzenia kolumn. Kombinuje z for, ale bez efektów, próbuje czegoś takiego; Niestety wyświetla <br /> x 10. Dzięki za pomoc.
  1. <?php
  2. $show = '';
  3. $letters = array('A','B','C','D','E','F','G','H','I','J','K','L','Ł','M','N','O','P','R','S','T','U','W','Z');
  4. foreach ($letters as $i) {
  5. $show.='
  6. <div class="boxnaviwho">
  7. <span>'.$i.'</span>
  8. </div>
  9. <div class="boxborder">
  10. <div class="box">
  11. <div class="margintext">';
  12. $sql = "SELECT DISTINCT `adress` FROM `prywatne` WHERE `adress` LIKE '$i%' LIMIT 100";
  13. $result = $conn->query($sql);
  14. while($row = $result->fetch_assoc()){
  15. $a = $a++;
  16. $adress = $row['adress'];
  17. $show.='<a href=".$adress.'">'.ucfirst(str_replace('-','', $adress)).'</a>';
  18. if ($a = 10)
  19. {$show.='<br />';}
  20. }
  21. $show.='</div></div></div>';}
  22. ?>
aigo
Cytat(tenloginjestzajety @ 11.10.2016, 20:39:09 ) *
Witam
próbuje zrobić <br /> co 10 rekord w celu utworzenia kolumn. Kombinuje z for, ale bez efektów, próbuje czegoś takiego; Niestety wyświetla <br /> x 10. Dzięki za pomoc.
  1.  
  2. if ($a = 10)
  3.  
  4. ?>


zmien na
  1. if($a==10)
tenloginjestzajety
Niestety nie działa, próbuje z for, pytanie skąd wziąć $ile? Jak mam określić ilość rekordów, mogę zastosować row_number, jak to wygląda prawidłowo?

  1. for ($a = 0; $a < $ile; $a++) {
  2. if ($a % 10) {
  3. echo 'adress';
  4. } else {
  5. echo '<br />';
  6. }

Tomplus
Jeżeli chcesz co 10 rekord wstawiać dodatkowy string to użyj tego kodu:

  1. if($a%10 == 0) {
  2. $show.='<br />';
  3. }


Spóźniłem się trochę z poprzednim postem, ale odpowiem na kolejny.

Zamień $a na => $j
Zamień $ile na $a

i kod z forum będzie działać.
tenloginjestzajety
Nie działa. Jak dam $a++; w pętli while to pokazuje numer miasta łącznie.

Jest:
70 Wrocław
71 Warszawa
72 Wałbrzych

Powinno być dla danej litery:
1 Wrocław
2 Warszawa
3 Wałbrzych

  1. <?php
  2. $show = '';
  3. $letters = array('A','B','C','D','E','F','G','H','I','J','K','L','Ł','M','N','O','P','R','S','T','U','W','Z');
  4. foreach ($letters as $i) {
  5. $show.='
  6. <div class="boxnaviwho">
  7. <span>'.$i.'</span>
  8. </div>
  9. <div class="boxborder">
  10. <div class="box">
  11. <div class="margintext">';
  12. $sql = "SELECT DISTINCT `adress` FROM `prywatne` WHERE `adress` LIKE '$i%' LIMIT 100";
  13. $result = $conn->query($sql);
  14. while($row = $result->fetch_assoc()){
  15. $a++;
  16. $adress = $row['adress'];
  17. if($a%10 == 0)
  18. {$show.=$a.'<a href="'.$adress.'">'.ucfirst(str_replace('-','', $adress)).'</a>';} else
  19. {$show.='test';}
  20. }
  21. $show.='</div></div></div>';}
  22. ?>


Jak zrobię tak, to pokazuje 10 rekord czerwony, ale jak zrobić 20, 30..

  1. if (++$i=10) {
  2. $show.='<a style="background-color:red;" href="'.$adress.'">'.ucfirst(str_replace('-','', $adress)).'</a>';}
  3. else {
  4. $show.='<a href="'.$adress.'">'.ucfirst(str_replace('-','', $adress)).'</a>';}
aigo
Popatz tu bo zamiast porównania przypisujesz nową wartość.
Tomplus
Dokładnie.

warunek to A == B
przypisanie to A = B
zaprzeczenie A != B


Twoim ++$i = 10 powodujesz że za każdym razem zwiększasz $i do 11.


I nie ma potrzeby przypisywać $a do $a tj. tutaj:
$a = $a++;
wystarczy:
$a++;
i wiadomo że kolejne $a będzie o jeden większe.
tenloginjestzajety
dziękuje!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.