Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]
Forum PHP.pl > Forum > Przedszkole
sosenka
Witam
Chciałbym wyświetlić dwie wartości w liście i się zastanawiam jak zrobić równe odstępy pomiędzy wartościami: $klucz-$wartosc

Kod
     foreach($tablica as $klucz => $wartosc) {
        
         echo "<option value=".$klucz." ";
                        if ($zmienna == $klucz) {
                  echo 'selected="selected"';
                  }
                 echo ">$klucz$wartosc</option>";
                 }

CSS chyba nie sięgnie tam a wpisanie: $klucz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$wartosc jest chyba mało eleganckie...

Pozatym jeśli wpisze stałą wartość spacji to przy zmiennych ilościach znaków w $klucz rozjedzie mi się $wartosc a chciałbym aby było mniej więcej w równym rządku.

Macie jakiś sposób na to ?
sowiq
Tabelki do <option /> nie wsadzisz, dlatego pozostaje Ci czcionka o stałej szerokości (np. Courier New) i znaki  . Do tego sposobu konieczne jest znalezienie elementu o max. liczbie znaków i dodawanie odpowiedniej ilości   do napisów krótszych.
Do tego celu wystarczą Ci funkcje: strlen" title="Zobacz w manualu PHP" target="_manual, max" title="Zobacz w manualu PHP" target="_manual, str_repeat" title="Zobacz w manualu PHP" target="_manual.

Jeśli istnieje jakiś inny sposób na przedstawiony problem to bardzo chętnie dowiem się jaki smile.gif
sosenka
Zrobilem cos takiego i wychodzi nawet równo smile.gif

Kod
   foreach($tablica as $klucz => $wartosc) {
          
           echo "<option value=".$klucz." ";
                          if ($zmienna == $klucz) {
                    echo 'selected="selected"';
                    }
                   echo ">  $klucz";
                   if(strlen($klucz) == 1) {
                   echo str_repeat("&nbsp;", 20);
                   echo "$wartosc</option>";
                   } elseif (strlen($klucz) == 2) {
                   echo str_repeat("&nbsp;", 18);
                   echo "$wartosc</option>";                
                   } elseif (strlen($klucz) == 3) {
                   echo str_repeat("&nbsp;", 15);
                   echo "$wartosc</option>";
                   }
                  
                  
                   }

$klucz to i tak bedzie nr ID wiec dla 999 rekordów mam spokoj

Dzieki
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.