Ilość wyświetlanych znaków

0

Hej.
Potrzebuje wyświetlić 2 lub 3 znaki z bazy. Jeśli 2 to nastepny znak ma być - , a jeśli 3 to nic więcej.
to wygląd mojej listy rozwijanej:
Nie chce aby mi wyswietlało tej pierwszej pauzy bo mi to szpeci strone.
Niestety w bazie musi to tak wyglądać jak aby produkty wybrane przez użytkownika prawidłowo wyświetlały kod produktu,
kawałek bazy:

tak wyglada zapytanie do bazy:


<?php
$typ_oslonki = $mysqli->query('SELECT * FROM oslonki WHERE typ_oslonki!="" AND deleted = 0 ORDER BY typ_oslonki');
echo '<select name="typ_oslonki">';
while($row1 = mysqli_fetch_row($typ_oslonki)) {
  echo '<option value="'.$row1[1].'">'.$row1[1].$row1[2].'</option>';
}
echo '</select>';
?>

Mam nadzieje ze rozumiecie. Muszą być 3 znaki. Czasami (jak zauwazyliście w bazie sa 3 litery (np.FEX) a czasami tylko 2 litery i pauza (np.FC-). Ogółem muszą być 3 znaki aby działała reszta instrukcji. Chodzi mi o to aby po wpisaniu w bazie FC- na stronie ww nie wyświetlało się całe tylko FC bo to brzydko wygląda. Lub coś w stylu że ja wpisze w bazie FC a instrukcja sprawdzająca sprawdza czy są 2 czy 3 litery, czyli jeśli są 2 to automatycznie mi dopisuje pauze a jeśli 3 to nic nie dopisuje. A jak nie pomożecie to chociaż mnie nakierujcie na jakąś strone www o podobnym problemie.

1

http://php.net/manual/en/function.str-replace.php przed wyświetleniem podmień znak - na pusty.

0

koledzy a jest możliwość abym miał w bazie np FC i była instrukcja sprawdzająca w której sprawdza ilosc znaków jezeli są 2 litery to dokłada - jeśli 3 to nic nie dokłada?

0

Tak, ilość znaków sprawdzisz za pomocą - http://php.net/manual/en/function.strlen.php

1
Po napisał(a):

koledzy a jest możliwość abym miał w bazie np FC i była instrukcja sprawdzająca w której sprawdza ilosc znaków jezeli są 2 litery to dokłada - jeśli 3 to nic nie dokłada?

if(strlen($string) < 3) {
    $string .= "-";
}

Oczywiście zakładając że mamy skróty tylko 2 i 3 literowe i potrzebny tylko jeden myślnik.

0

O dzieki to super działa, ale jest jeszcze pytanie, bo gdy mam ilość metrów np 500, a muszą mieć 5 znaków więc musi to wyglądać mniej więcej 00500 to czego by tu uzyc?

0
mefsh napisał(a):
Po napisał(a):

koledzy a jest możliwość abym miał w bazie np FC i była instrukcja sprawdzająca w której sprawdza ilosc znaków jezeli są 2 litery to dokłada - jeśli 3 to nic nie dokłada?

if(strlen($string) < 3) {
    $string .= "-";
}

Oczywiście zakładając że mamy skróty tylko 2 i 3 literowe i potrzebny tylko jeden myślnik.

Kurcze a jak zrobić bo zdarza się że tego rekordu nie dodaje i dostaje mi myślnik. Jak zrobić aby go nie było jak rekord jest niedodawany??

0
Po napisał(a):
mefsh napisał(a):
Po napisał(a):

koledzy a jest możliwość abym miał w bazie np FC i była instrukcja sprawdzająca w której sprawdza ilosc znaków jezeli są 2 litery to dokłada - jeśli 3 to nic nie dokłada?

if(strlen($string) < 3) {
    $string .= "-";
}

Oczywiście zakładając że mamy skróty tylko 2 i 3 literowe i potrzebny tylko jeden myślnik.

Kurcze a jak zrobić bo zdarza się że tego rekordu nie dodaje i dostaje mi myślnik. Jak zrobić aby go nie było jak rekord jest niedodawany??

np.

if(!is_null($string) && strlen($string) < 3) {
    $string .= "-";
}
lub
if(!empty($string) && strlen($string) < 3) {
    $string .= "-";
}

ale można to zrobić na wiele innych sposobów.
Pierw wypadałoby wiedzieć czy spodziewamy się null'a, czy np pustego stringa etc itd. Do wyboru, do koloru (do potrzeb).

0

Ta tak super bardzo dziękuję

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