Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak to wyświetlić?
R_D_U
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Hej, zrobiłem już kilka ważnych żeczy w skrypcie, lecz to mnie dobiło może wydać wam to się proste ale dla mnie to nie jest otóż, po wpisaniy w forumlarzu nick gracza wyświetla mi jego dane lecz jeśli w tabeli typ jest jeden niech wypisze VIP a jeśli 2 to niech wypisze Gold Vip a jeśli nie ma nic to niech wypisze Zwykły gracz.
Oto zapytanie

  1. $wynik2 = mysql_query("SELECT * FROM vipy WHERE nick='$gracz' ORDER BY Typ");


$gracz to nick pobierany z GET'a w formularzu.
I dalej pojawia się problem:

  1. if(mysql_num_rows($wynik2)>0)
  2. {
  3. while ($txt = mysql_fetch_assoc($wynik2))
  4. {
  5. echo '<table>';
  6. echo '<tr>';
  7. echo '<td width="150" class="box">';
  8. echo '<font class="typstat1"><center>Gold Vip</center></font>';
  9. echo '</td>';
  10. echo '</tr>';
  11. echo '</table>';
  12.  
  13. }
  14. }


Jeśli wpisze tak to wyświetla Gold vip.
Proszę o podsunięcie pomysły w jaki sposub sprawdzać czy jest wpisane 1 2 albo nic.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


switch
Go to the top of the page
+Quote Post
R_D_U
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


W którym miejscu tego skryptu to użyć(IMG:style_emoticons/default/questionmark.gif)

Edit chyba coś takiego??

  1. switch ($wynik2['Typ']) // tylko co tu??
  2. {
  3. case 1:
  4. echo "VIP";
  5. break;
  6.  
  7. case 2:
  8. echo "Gold vip";
  9. break;
  10.  
  11. default:
  12. echo "gracz";
  13. break;
  14.  
  15. }

Zapewne coś w switch źle. Tylko co??

Ten post edytował R_D_U 3.02.2013, 17:24:58
Go to the top of the page
+Quote Post
_Borys_
post
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Sprawdź przez echo $wynik2['Typ']; albo print_r($wynik2); co wyświetla, jak nic nie wyświetla a powinno to coś z zapytaniem do bazy nie tak.

Ten post edytował _Borys_ 3.02.2013, 18:19:22
Go to the top of the page
+Quote Post
R_D_U
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Nic nie wyświetla zobacz screena z bazy:

http://imageshack.us/photo/my-images/803/81784867.jpg/
nazwa tabeli vipy nie wiem w czym problem ale podejżewam że switch zmienną $wynik2['Typ'] rozumie jako: $wynik2['Typ'] = tu nic nie ma;
I tu rodzi się pytanie jak wyświetlić Typ z tej bazy.
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


A co zwraca var_dump dla $wynik2? Jak nic, to połączenie z bazą masz złe.
Go to the top of the page
+Quote Post
R_D_U
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Połączenie z bazą jest dobre bo wyżej jest skrypt który wyświetla masę różnych rekordów.
Paczajcie cały skrypt:

  1. require_once('config.php');
  2.  
  3. mysql_connect ($ip,$login,$haslo);
  4.  
  5. $gracz = $_GET['nick'];
  6. $wynik = mysql_query("SELECT * FROM gracze WHERE nick='$gracz' ORDER BY nick");
  7.  
  8. if(mysql_num_rows($wynik)>0){
  9. while ($txt = mysql_fetch_assoc($wynik))
  10. {
  11. echo '<table>';
  12. echo '<tr>';
  13. echo '<td align="center" class="box" width="350"><font class="nick">'.$txt['Nick'].'</font></td>';
  14. echo '</tr>';
  15. echo '</table><br>';
  16.  
  17. echo '<table cellspacing="10">';
  18. echo '<tr>';
  19. echo '<td align="center" class="box" width="150"><font class="typstat1">Respekt</font><br><font class="typstat2">'.$txt['Respekt'].'</font></td>';
  20. echo '<td align="center" class="box" width="150"><font class="typstat1">Czas w grze</font><br><font class="typstat2">'.round($txt['CzasGry']/3600, 1).'</font><font class="typstat1"> godz.</font></td>';
  21. echo '</tr>';
  22. echo '</table>';
  23.  
  24.  
  25. echo '<table cellspacing="10">';
  26. echo '<tr>';
  27. echo '<td align="center" class="box" width="150"><font class="typstat1">Kasa</font><br><font class="typstat2">'.$txt['Kasa'].' $</font></td>';
  28. echo '<td align="center" class="box" width="150"><font class="typstat1">W banku</font><br><font class="typstat2">'.$txt['Bank'].' $</font></td>';
  29. echo '</tr>';
  30. echo '</table>';
  31.  
  32. echo '<table cellspacing="10">';
  33. echo '<tr>';
  34. echo '<td align="center" class="box" width="150"><font class="typstat1">Kicków</font><br><font class="typstat2">'.$txt['Kickow'].'</font></td>';
  35. echo '<td align="center" class="box" width="150"><font class="typstat1">Banów</font><br><font class="typstat2">'.$txt['Banow'].'</font></td>';
  36. echo '</tr>';
  37. echo '</table>';
  38.  
  39. echo '<table>';
  40. echo '<tr>';
  41. echo '<td align="center" class="box"><font class="typstat1">Wygrane WG: </font><font class="typstat2">'.$txt['WinsWG'].'</font><br>';
  42. echo '<font class="typstat1">Wygrane RACE: </font><font class="typstat2">'.$txt['WinsRACE'].'</font><br>';
  43. echo '<font class="typstat1">Wygrane CH: </font><font class="typstat2">'.$txt['WinsCH'].'</font><br>';
  44. echo '<font class="typstat1">Wygrane DR: </font><font class="typstat2">'.$txt['WinsDR'].'</font><br>';
  45. echo '<font class="typstat1">Wygrane LB: </font><font class="typstat2">'.$txt['WinsLB'].'</font><br>';
  46. echo '<font class="typstat1">Wygrane ST: </font><font class="typstat2">'.$txt['WinsST'].'</font><br>';
  47. echo '<font class="typstat1">Wygrane HAY: </font><font class="typstat2">'.$txt['WinsHAY'].'</font><br>';
  48. echo '<font class="typstat1">Wygrane SS: </font><font class="typstat2">'.$txt['WinsSS'].'</font><br>';
  49. echo '<font class="typstat1">Wygrane UT: </font><font class="typstat2">'.$txt['WinsUT'].'</font></td><br>';
  50. echo '</tr>';
  51. echo '</table>';
  52. }
  53.  
  54.  
  55.  
  56. $wynik2 = mysql_query("SELECT * FROM vipy WHERE nick='$gracz' ORDER BY Typ");
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. switch ($wynik2[Typ]) // tylko co tu??
  64. {
  65. case 1:
  66. echo "VIP";
  67. break;
  68.  
  69. case 2:
  70. echo "Gold vip";
  71. break;
  72.  
  73. default:
  74. echo "gracz";
  75. break;
  76.  
  77. }
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85. } else {
  86. if(!isset($_GET['nick'])==0){
  87. echo '<font class="niemagracza">Nie ma takiego gracza!!</font>';
  88. }
  89. }
  90.  
  91.  
  92. ?>
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(R_D_U @ 3.02.2013, 18:09:29 ) *
Paczajcie

Co to znaczy?

Twoje drugie połączenie z bazą jest błędne, porównaj chociaż to z pierwszym.

I nie
  1. switch ($wynik2[Typ])

tylko
  1. switch($wynik2['Typ'])


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





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Jak połączenie jest błędne skoro skrypty działają.
A to:

switch ($wynik2['Typ'])

patrzyłem na sposoby u żaden nie działa.
Go to the top of the page
+Quote Post
!*!
post
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


http://pl.wikibooks.org/wiki/PHP/Jak_to_się_robiło_kiedyś%3F Nie widzę tego u Ciebie.
Go to the top of the page
+Quote Post
R_D_U
post
Post #11





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Teraz mam tak:
  1. $wynik2 = mysql_query("SELECT * FROM vipy WHERE nick='$gracz' ORDER BY nick");
  2.  
  3. while($txt2 = mysql_fetch_assoc($wynik2)){
  4.  
  5. switch ($txt2['Typ']) // tylko co tu??
  6. {
  7. case 1:
  8. echo "VIP";
  9. break;
  10.  
  11. case 2:
  12. echo "Gold vip";
  13. break;
  14.  
  15. default:
  16. echo "gracz";
  17. break;
  18.  
  19. }
  20. }

Prawie działa znaczy pokazuje VIP Gold Vip ale jak w tej bazie nie ma gracza to niech pokazuje gracz ale teraz nic nie pokazuje nie działa:
  1. default:
  2. echo "gracz";
  3. break;
Go to the top of the page
+Quote Post
_Borys_
post
Post #12





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


W bazie masz dużymi literami Nick, Typ a w zapytaniu małymi.
Go to the top of the page
+Quote Post
R_D_U
post
Post #13





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


To nie ma znaczenia.
Go to the top of the page
+Quote Post
!*!
post
Post #14





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


sprawdzaj zmienne w każdym punkcie kodu za pomocą var_dump() poza tym poczytaj dokładnie jak to powinno być zrobione z linku który już podałem.
Go to the top of the page
+Quote Post
R_D_U
post
Post #15





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Nie rozumiem.
Go to the top of the page
+Quote Post
!*!
post
Post #16





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Debuguj i sprawdzaj co zawierają zmienne do jakich się odwołujesz.
Go to the top of the page
+Quote Post
R_D_U
post
Post #17





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


Nadal cie ne kapuje, mi chodzi tylko o to że jeśli nie ma gracza w tej tabeli to niech wypisze jakieś słowo.
Go to the top of the page
+Quote Post
!*!
post
Post #18





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


to sprawdź czy gracz istnieje isset i na tej podstawie wyświetl typ później. Przeczytaj jeszcze raz co zotało napisane w tym temacie.

Ten post edytował !*! 3.02.2013, 18:57:55
Go to the top of the page
+Quote Post
R_D_U
post
Post #19





Grupa: Zarejestrowani
Postów: 28
Pomógł: 1
Dołączył: 21.01.2012

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


A gdzie umieścic isset??
Go to the top of the page
+Quote Post
_Borys_
post
Post #20





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Cytat
Prawie działa znaczy pokazuje VIP Gold Vip ale jak w tej bazie nie ma gracza to niech pokazuje gracz ale teraz nic nie pokazuje nie działa


W ten sposób działa:

  1. if (mysql_num_rows($wynik2) > 0)
  2. {
  3. while ($txt2 = mysql_fetch_assoc($wynik2))
  4. {
  5. switch ($txt2['Typ'])
  6. {
  7. case 1:
  8. echo 'VIP';
  9. break;
  10. case 2:
  11. echo 'Gold vip';
  12. break;
  13. default:
  14. break;
  15. }
  16. }
  17. } else
  18. {
  19. echo 'Gracz';
  20. }


Ten post edytował _Borys_ 3.02.2013, 19:50:39
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 3.10.2025 - 18:44