-
Postări
14 -
Înregistrat
-
Ultima Vizită
Orice postat de wirto.
-
GameMode Stunt King Romania - O noua generatie!
wirto. a răspuns la subiect lui Johnny # în Salonul Scripturilor
Exact, nu e stie cine ce.. -
Realizarea de statistici dinamice utilizand PHP si MySQL In urmatoarele randuri veti invata sa faceti un sistem dinamic de imagini pentru un server de SA-MP (si nu numai), folosind PHP si MySQL. De ce avem nevoie? De o baza de date MySQL (cea a serverului) si un loc in care sa gazduim scriptul. Incepem. Creati un fisier db_connect.php, in care veti realiza conexiunea la baza de date <?php $host = “localhost”; $user = “root”; $password = “root_password”; $database = “baza_de_date”; if(!mysql_connect($host, $user, $password)) die('Nu s-a putut realiza conexiunea MySQL!'); mysql_select_db($database); ?> Odata creat, creati un fisier cu oricare nume, introducand in prima linie: <?php include('db_connect.php'); // conexiunea la serverul MySQL ?> In continuare vom folosi extrage din baza de date doar 3 valori: Username-ul, Level-ul si Banii. Bineinteles, aceste valori sunt doar ca exemplu, va trebui sa inlocuiti dupa cum doriti sa arate scriptul. <?php include('db_connect.php'); // conexiunea la serverul MySQL if(isset($_GET['user'])) $user = mysql_real_escape_string($_GET['user']); // se verifica daca parametrul GET `user` este setat. In caz afirmativ, se va atribui valoarea sa variabilei `$user` si I se va atribui un escape, pentru a preveni injectiile MySQL. $query = mysql_query(“SELECT `Username`, `Level`, `Moneys` FROM `players` WHERE Username = '”.$user.”' “); // variabila `$query` va pastra interogarea catre MySQL pentru a extrage valorile mentionate if(mysql_num_rows($query)) // se verifica numarul de randuri returnat de interogarea MySQL. Expresia este echivalenta cu if(mysql_num_rows($query) == true) { $result = mysql_fetch_array($query); // se introduc valorile extrase in array-ul `$result` // Urmatoarele coloane din array le veti modifica in functie de numele ce le este atribuit in baza voastra de date $user_db = $result['Username']; $level_db = $result['Level']; $money_db = $result['Money']; // Vom folosi in continuare functia imagettftext() si un background negru al imaginii // Urmatoarele linii de cod sunt in sine generarea de imagine dinamica header('Content-Type: image/png'); // transmitem interpretorului php sa modifice pagina intr-o imagine. Daca nu ati inteles, veti observa cand veti rula scriptul $im = imagecreatetruecolor(400, 30); // se creaza imaginea (bineinteles ca poate fi inlocuita cu imaginea voastra) // culorile folosite in script (`alb` si `negru`) $white = imagecolorallocate($im, 255, 255, 255); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 399, 29, $black); // creaza o imagine propriu zisa cu un fundal negru $text = sprintf(“User: %s, Level: %d, Bani: %d”, $user_db, $level_db, $money_db); // formatam stringul din variabila `$text` cu datele extrase $font = 'arial.ttf'; // fontul folosit. Adaugati calea catre propriul vostru font. Aveti grija, daca nu indicati calea corecta, imaginea nu se va mai genera. imagettftext($im, 20, 0, 10, 20, $white, $font, $text); // adaugam textul pe imagine imagepng($im); // transformam imaginea intr-una PNG imagedestroy($im); // terminam de modificat imaginea. } else { die('Nu s-a putut gasi jucatorul mentionat. El nu exista in baza de date, sau a fost introdus gresit.'); } ?> Acesta este un punct de plecare, bineinteles ca rezultatul in sine este execrabil, dar il personalizati. Nu am testat majoritatea codului, dar nu vad de ce nu ar merge. Va rog sa imi scrieti daca am gresit undeva, pentru ca, nu am testat tot. Dar nu vad de ce nu ar merge. Daca nu ati inteles, lasati un comentariu.
-
Foreach Foreach este o functia asemanatoare cu for(), while(), dar care executa un lucru relativ diferit. Poate fi folosita in cazul in care avem un array(matrice, vector), si dorim sa executam anumite instructiuni pe fiecare element. Exemplu: $array = array(1, 5, 12, 25); // declaram array-ul si valorile sale foreach ($array as $elementDinArray) // "pentruFiecare ( element din array-ul $array)" { $elementDinArray += 1; // incrementam fiecare element cu 1 print $elementDinArray; // afisam continutul array-ului (dupa incremenarea cu 1) } In cazul in care fiecare element are o valoare: $array = array( 1 => "unu", 2 => "doi", 3 => "trei" ); foreach ($array as $fiecareElement => $valoare) { echo $fiecareElement.' --- '.$valoare; // afiseaza "1 --- unu, 2 --- doi" si tot asa } Sper ca ati inteles.
-
Bravo, chiar e destul de util acest tutorial.
-
Frumos, dar tot odata naspa. Statisticile nu sunt structuare pe tabele.
-
Destul de interesanta faza cu redirectionarea pe alta pagina, voi incerca acest script pe localhost.
-
Protectia flood este asigurata de datacenterul de unde ai tu gazduire, nici decum de tine.
-
Frumos, chiar imi va fi de folos pentru viitorul meu site, va fi tot un forum (te asigur ca numai de gaming nu va fi).
-
Multumesc, dar ras e inchis acum si nu mai are 'valuare'.
-
Buna alegere.
-
Nume Real: Bogdan Nick: wirto. Varsta: 14 ani Ocupatie: Scoala. Y!M: nu il fac public. Mesaj: Sper sa ma inteleg bine cu toti.