Formatowanie surowego ASCII w PHP

0

Witam. Mam mniej więcej taki kod:

while ($r = mysql_fetch_row($wynik)) {
                                                                                                  //|";
echo "| Jestem $r[0] poznam $r[1]                     Mam czas o $r[2 do $r[3] w $r[4] |<br>";    
echo "| Nazywam sie: $r[5]                                  Moj numer to: $r[6] |<br>";    
echo "|------------------------------------------------------------------------------|<br>";
    
}

$r pobieram z bazy danych. Chodzi o to, że różne mają różna długość.
Jak mam zrobić, żeby ramka mi się nie rozjechała? Czy są jakieś typowe
sztuczki w zajmowaniu się tego typu sprawami?

Czy to wszystko trzeba robić zupełnie "na piechotę", korzystając z podstawowych
funkcji do formatowana stringów.

I pytanie o funkcje. Np. mam varchar(10) i chcę, żeby zawsze zajmowało 10
znaków. Np. mam varchar(10) na imię. Jak mam zrobić taką zmienną, która jak
będzie pusta będzie zawierała 10 spacji.
A jak będzie tam JAN to będzie dokładała 7 spacji, żeby zawsze było 10, żeby
mi się tabelka w ASCII nie rozjechała.

Dziękuję za odpowiedź na to zagadnienie.
Pozdrawiam serdecznie.
Jakub

0
jurek1980 napisał(a):

https://www.php.net/manual/en/function.str-pad.php

Ej. A jak radzisz zapisywać w bazie gotowego pada, czy formatować output, żeby odpowiednio pasował?

<?php
$input = "Alien";
echo str_pad($input, 10);                      // produces "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // produces "__Alien___"
echo str_pad($input,  6, "___");               // produces "Alien_"
echo str_pad($input,  3, "*");                 // produces "Alien"
?>
1

Do bazy idą właściwe/prawdziwe dane. Zmieniasz je sobie dostosowując już w warstwie prezentacji. Jakbyś zapisywał śmieci do bazy, to raz że baza rosła by niepotrzebnie, dwa to jakieś sortowania, wyszukiwania czy nawet prezentacja w innym miejscu byłaby utrudniona lub nawet niemożliwa ze względu na zafałszowanie.
Both to padding po obu stronach stringa. Masz w przykładach dodane _ na początku i na końcu słowa Alien

1 użytkowników online, w tym zalogowanych: 0, gości: 1