Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zamiana z cyfr na nazwy
klopsik414
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.03.2013

Ostrzeżenie: (10%)
X----


Witajcie,


zrobiłem stronę z wyświetleniem danych z MySql, posiadam tam kolumnę odpowiedzialną za exp, która wyświetla liczbę zdobytego expa. Chciałbym wykonać zamianę zamiast cyfr pokazywałby się nazwy rangi.

np. od 150 do 349 expa ranga nosiła by nazwę Sierżant | 350 do 689 expa Starszy sierżant i tak dalej
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


https://dev.mysql.com/doc/refman/5.7/en/case.html
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


mysql case to akurat najgorszy sposób na to.

Zato zapisanie w case w PHP juz tak. Ew. do tego możesz wymyślić sobie jakiś algorytm który sam będzie przeliczał to i odpowiednio dopasowywał rangi.

Np. masz przedział exp. 0 - 10000, ustalasz sobie ilość rang np 10. Dzielisz ten przedział tak że przedział n < n+1
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


http://forum.php.pl/index.php?s=&showt...t&p=1198357
Go to the top of the page
+Quote Post
Niree
post
Post #5





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


  1. $sprawdz = zapytanie("Select * FROM `users` where `user`='$_SESSION['user']'");
  2. $dane = mysql_fetch_array($sprawdz_stacje);
  3. if($dane['exp'] >= 150 || $dane['exp'] <= 349)
  4. {
  5. echo 'masz rangę: Sierżant';
  6. }
  7. else if($dane['exp'] >= 350 || $dane['exp'] <= 689)
  8. {
  9. echo 'masz rangę: Starszy Sierżant';
  10. }


i tak dalej...

Ten post edytował Niree 2.11.2016, 21:46:28
Go to the top of the page
+Quote Post
klopsik414
post
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.03.2013

Ostrzeżenie: (10%)
X----


Dziękuje wszystkim (IMG:style_emoticons/default/smile.gif)

Czy ktoś byłby tak miły i wpisał mi ten kod do mojego. Próbowałem sam lecz błędy wychodzą.


  1. $sprawdz = zapytanie("Select * FROM `users` where `user`='$_SESSION['user']'");
  2. $dane = mysql_fetch_array($sprawdz_stacje);
  3. if($dane['exp'] >= 150 || $dane['exp'] <= 349)
  4. {
  5. echo 'masz rangę: Sierżant';
  6. }
  7. else if($dane['exp'] >= 350 || $dane['exp'] <= 689)
  8. {
  9. echo 'masz rangę: Starszy Sierżant';
  10. }


  1. <?php
  2.  
  3. $baza=mysqli_connect("80.********","srv41736","*********","srv41736");
  4. if (mysqli_connect_errno())
  5. {echo "Błąd bazy danych";}
  6. $wynik = mysqli_query($baza,"SELECT * FROM lvlnew ORDER BY `exp` DESC LIMIT 15");
  7. echo '<table class=\"table table-responsive\"><thead><tr><th>Nick</th><th>Steam_Id</th><th>EXP</th></tr></thead>';
  8. while($row = mysqli_fetch_array($wynik))
  9.  
  10. {
  11. echo "<tr><td>{$row['name']}</td><td>{$row['steam']}</td><td><center>{$row['exp']}</center></td></tr>";
  12.  
  13. }
  14. echo '</table>';
  15.  
  16. mysqli_close($baza);
  17.  
  18.  
  19. ?>
Go to the top of the page
+Quote Post
Niree
post
Post #7





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Proszę ;-)
  1. <?php
  2.  
  3. $baza=mysqli_connect("80.********","srv41736","*********","srv41736");
  4. if (mysqli_connect_errno())
  5. {echo "Błąd bazy danych";}
  6. $wynik = mysqli_query($baza,"SELECT * FROM lvlnew ORDER BY `exp` DESC LIMIT 15");
  7. echo '<table class=\"table table-responsive\"><thead><tr><th>Nick</th><th>Steam_Id</th><th>EXP</th></tr></thead>';
  8. while($row = mysqli_fetch_array($wynik))
  9. {
  10. if($row['exp'] >= 0 && $row['exp'] <= 149) $text='Zero expa';
  11. if($row['exp'] >= 150 && $row['exp'] <= 349) $text='Sierżant';
  12. if($row['exp'] >= 350 && $row['exp'] <= 689) $text='Starszy Sierżant';
  13. echo "<tr><td>{$row['name']}</td><td>{$row['steam']}</td><td><center>{$text}</center></td></tr>";
  14. }
  15. echo '</table>';
  16.  
  17. mysqli_close($baza);
  18.  
  19.  
  20. ?>


Drobna pomyłka, pomyliłem || z && (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Niree 3.11.2016, 02:04:38
Go to the top of the page
+Quote Post
klopsik414
post
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 27.03.2013

Ostrzeżenie: (10%)
X----


Dziękuje bardzo ładnie śmiga (IMG:style_emoticons/default/smile.gif)

Ostatnia prośba jeżeli oczywiście można szukałem nawet kiedyś miałem taką funkcje sprawdzania w formularzu czy poprawnie wysłano dane.

Użytkownik powinien wysłać w formacie "STEAM_0:0:cyfry"

  1. <tr>
  2. <td align=\"right\" width=\"250px\">STEAM_ID: </td>
  3. <td align=\"left\"><div class=\"input-group\"><input type=\"text\" class=\"form-control\" name=\"steam\" style=\"width: 215px\" placeholder=\"np.STEAM_0:0:111111111\"></td></div>
  4. </tr>




  1. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  2.  
  3.  
  4. elseif (!empty($_POST['steam'])) {
  5. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość



Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


  1. if (preg_match('/^STEAM_0:0:\d+$/', $_POST['steam'])) {}
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:09