Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Metoda $_GET, Pomoże ktoś?
Velius
post 21.07.2008, 16:29:10
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.07.2008

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


Witam.

Wiem, że to mój 1 post na forum, jestem trochę ciemny w php, potrafię już dodawać rekordy do bazy danych, zmieniac je, usuwać, segregować, lecz nie potrafię jeszcze używać metody  $_GET.

Chciałbym aby moja strona była generowana dynamicznie tak jak na ots.pl

Chodzi o to, że po kliknięciu na jakiś ots z listy pokazują się o nim dokładne informacje w ten sposób:



Oto adres mojej strony na której zastosowałem mój nowatorski skrypt listy, ale chciałbym aby dokładne dane były wyświetlane tak jak na ots.pl

W ten sposób w pasku adresu: http://ots.pl/detal.php?id=45292

Chodzi mi o to żebym nie musiał do każdego ots robić ręcznie nowej podstony, każda z innymi danymi.

Adres do mojej strony:http://megalista.ynd.pl

Mam dopiero 14lat, a z php bawię się od niedawna.

Ale funkcje i sesje są dla mnie nadal nie do zrozumienia chociarz czytałem już wiele poradników na ten temat.

Mój skrypt wyświetlający listę ots wygląda tak:



CODE
$wynik = mysql_query ("SELECT * FROM `lista`;");

print "";
print " <FONT face="mortis" size="2">Nazwa <FONT face="mortis" size="2"> IP <FONT face="mortis" size="2"> Port <FONT face="mortis" size="2"> Graczy <FONT face="mortis" size="2"> Uptime ";
print " <FONT face="mortis" size="2"> Klient <FONT face="mortis" size="2"> EXP <FONT face="mortis" size="2"> Typ ";
print "\n";

while ($rekord = mysql_fetch_assoc($wynik)) {
$nr = $rekord['nr'];
$name = $rekord['name'];
$host = $rekord['host'];
$port = $rekord['port'];
$ver = $rekord['ver'];
$exp = $rekord['exp'];
$type = $rekord['type'];

$ip_serwera = $host;
$port_serwera = $port;


$info = chr(6).chr(0).chr(255).chr(255).'info';
$sock = @fsockopen($ip_serwera, $port_serwera, $errno, $errstr, 1);



if ($sock)
{
  fwrite($sock, $info);
  $data='';

  while (!feof($sock))
  $data .= fgets($sock, 1024);
   

 


  preg_match('/uptime="(\d+)"/', $data, $matches);
  $h = floor($matches[1] / 3600);
  $m = floor(($matches[1] - $h*3600) / 60);
  preg_match('/players online="(\d+)" max="(\d+)" peak="(\d+)"/', $data, $matches);

print "";
print " <FONT face="Papyrus" size="2"> $name <FONT face="Papyrus" size="2"> $host <FONT face="Papyrus" size="2"> $port <FONT face="Papyrus" size="2"> $matches[1] / $matches[2] <FONT face="Papyrus" size="2"> $h godzin $m minut ";
print " <FONT face="Papyrus" size="2"> $ver <FONT face="Papyrus" size="2"> $exp <FONT face="Papyrus" size="2"> $type ";
print "";

fclose($sock);
}
else 
   
print " ";





}



print '';
?>




A baza danych ma taką budowę:

nazwa bazy danych=otslista

w bazie jest 1 tabela o nazwie=lista

tabela ma taką budowę:

nr

name

host

port

ver

exp

type
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
blue_boy
post 21.07.2008, 17:18:44
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 5
Dołączył: 15.07.2008
Skąd: Katowice

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


Cześć, poniżej masz prosty przykład jak wykorzystać metodę GET do wyświetlania generowanego dynamicznie menu oraz po kliknięciu w wybrany link odpowiedniej części strony:
  1. <?php
  2. //GENEROWANIE DYNAMICZNYCH LINKÓW - te linki, będą tworzyły menu do wyboru odpowiedniej treści strony
  3. $zapytanie="select temat from tresci"; //przykładowe zapytanie do bazy danych
  4. $wynik=mysql_query($zapytanie);
  5.  
  6. while($wiersz=mysql_fetch_array($wynik, MYSQL_NUM)) { //w tej pętli zostanie utworzone menu strony
  7. echo "<a href=\"strona.php?temat=$wiersz[0]\">$wiersz[0]</a> <br />"; //dynamicznie jest generowany adres strony i nazwa linku
  8. }
  9.  
  10. //GENEROWANIE DYNEMICZNIE TREŚCI STRONY - wykorzystałem tu zwykłe instrukcje warunkowe - równie dobrze możesz w tym miejscu wykorzystać instrukcję switch
  11.  
  12. if($_GET['temat']=='temat1') {
  13. //tu umieścić treść dla tematu 1
  14. } elseif($_GET['temat']=='temat2') {
  15. //tu umieścić treść dla tematu 2
  16. } elseif...
  17.  
  18. ...
  19.  
  20. } else {
  21. //tu umieścić treść, która wyświetli się gdy ktoś pierwszy raz wywoła stronę, lub 
    która pojawi się w przypadku, gdyby ktoś zechciał sam poprawić adres strony w prz
    eglądarce i wpisze temat, którego nie ma w bazie
  22. }
  23. ?>
Go to the top of the page
+Quote Post
neverever
post 21.07.2008, 17:28:43
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

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


zamiast if ...elseif ...elseif ...else -lepiej użyć switch http://pl.php.net/switch


--------------------
neverever
Go to the top of the page
+Quote Post
Velius
post 21.07.2008, 18:09:46
Post #4





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.07.2008

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


dziękuję  za pomoc, właśnie o to mi chodziło, spróbuję dostosować to do moich potrzeb.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:40