Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt Chatu
Forum PHP.pl > Forum > PHP
DziobaX
Witam. Jestem początkującym, ale lubię rzucać się na "wysokie wody więc postanowiłem do pewnego silnika gry zrobić chat, skorzystałem z pomocy jednego z forum, ale w ogóle mi to nie wychodzi, jedyne co mi się pokazało to przycisk z polem do pisania i przycisk "submit". Mam nadzieję, że ktoś doświadczony poświęci chwilkę czasu i pomoże zedytować ten skrypt.
Tak więc ten skrypt składa się z 4 plików: chat.php, send.php, get.php, config.php.
Na początku mówię, że plik config mam dobrze skonfigurowany.
Tabela w której mam nazwy graczy potrzebne do wyświetlania przy pisaniu są w tabeli "ma_user" , kolumna "name"
Autor jednak kazał stworzyć nową bazę, nie wiem po co i tu jest 1 pytanie.
  1. `id` int(11) NOT NULL AUTO_INCREMENT
  2. `id_sender` int(11) NOT NULL
  3. `tekst` varchar(255) collate utf8_polish_ci NOT NULL

Plik chat.php "ma" wyglądać następująco i tutaj nie mam pytania:
  1. <script type="text/javascript" src="js/jquery.js"></script>
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4.  
  5. $("#send").submit(function(){
  6.  
  7. $.ajax({
  8. type: "POST",
  9. url: "send.php",
  10. data:"tekst="+$("#tekst").val(),
  11. success: function(){
  12. $("#chat").load("get.php");
  13. $("#tekst").val('');
  14. }})
  15.  
  16.  
  17. return false;
  18. });
  19. window.setInterval(function(){
  20. $("#chat").load("get.php");
  21.  
  22. },3000);
  23.  
  24. });
  25. </script>
  26. <get>
  27. <?php include "get.php"; ?>
  28. </get>
  29. <chat><form method="post" id="send" action="send.php" >
  30. <input type="text" name="tekst" id="tekst" size="70" />
  31. <input type="submit" name="send" value="wyślij" />
  32. </form></chat>

Plik get.php ma wyglądać tak i tu 2 pytanie co zmienić aby dopasować się do mojej bazy:
  1. <?php
  2. include 'config.php';
  3. $tekst=mysql_query('SELECT ch.tekst, p.user, p.rank FROM chat ch LEFT JOIN players p ON p.id = ch.id_sender ORDER BY ch.id DESC LIMIT 5 ');
  4. ?>

I plik send.php, tu pada takie samo pytanie jak w get.php
  1. <?php
  2. include 'config.php';
  3.  
  4. mysql_query("INSERT INTO chat SET `id_sender`=".$_SESSION['id_player'].", `tekst`='".mysql_escape_string($_POST['tekst'])."'");
  5.  
  6. header("Location: chat.php");
  7.  
  8. ?>

Mam nadzieje, że ktoś pomoże, z góry dziękuje.
IceManSpy
A skąd w ogóle wziąłeś to zapytanie? :
  1. 'SELECT ch.tekst, p.user, p.rank FROM chat ch LEFT JOIN players p ON p.id = ch.id_sender ORDER BY ch.id DESC LIMIT 5 '

Przecież ono do niczego nie pasuje.

I nie pisz pogrubionym tekstem!
DziobaX
Już nie będę, to zapytanie jest przykładem w którym trzeba zmienić pola na swoją konfigurację bazy?- przynajmniej tak mi się wydaje.
IceManSpy
A to nie jest jakiś przykład skądś pobrany?
No musisz zmienić zapytanie, aby pobierało te dane z tej tabli, którą wyżej podałeś.
DziobaX
No chyba napisałem w pierwszym poście to... Właśnie trzeba go zmienić tylko sęk w tym, żeby przydał się ktoś jak to rozszyfrować np: te litery przed nazwami bazy, co zmienić w `id_sender`=".$_SESSION['id_player']." itd.
IceManSpy
1. Najpierw poczytaj jak się obsługuję bazę danych. To nie są nazwy bazy tylko nazwy kolumn.
2. Te literki, to są aliasy dla tabel w bazie.
3. Nie podałeś nazwy tabeli, którą stworzyłeś.
4. Ogólnie zapytanie będzie wyglądać:
  1. SELECT * FROM Twoja_tabela;

Teraz tylko zależy jakie warunki będziesz tam ustawiać.
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.