Search the Community
Showing results for tags 'mysql'.
-
Cum se conecteaza la o baza de date MySQL cu Java? Java ofera JDBC (Java DataBase Connectivity) ca parte a Java SDK (Software Development Kit). Folosind acest API, este foarte usor sa va conectati la o baza de date relationala. Driverul bazei de date MySQL. Pentru a va putea conecta la o baza de date MySQL, aveti nevoie de driverul JDBC pentru MySQL. Acesta se numeste driverul Connector / J si poate fi descarcat de pe site-ul MySQL. Dupa ce descarcati fisierul ZIP (sau TAR.GZ), extrageti arhiva si copiati fisierul JAR mysql-conector-java-bin.jar la o locatie potrivita. Acest fisier este necesar pentru rularea oricarui cod care utilizeaza driverul JDBC MySQL. Crearea unei baze de date. Urmatoarele creeaza un utilizator numit testuser care se va conecta la baza de date MySQL de la aceeasi masina in care ruleaza (indicata prin gazda locala), folosind parola securepwd. creati utilizator 'testuser' @ 'localhost' identificat prin 'securepwd'; Daca va conectati la o baza de date care ruleaza pe o alta masina (numita remotemc), trebuie sa utilizati urmatoarele (remotemc poate fi un nume de gazdă sau o adresa IP) creati utilizator 'testuser' @ 'remotemc' identificat prin 'securepwd'; Acum, ca numele de utilizator si parola au fost create, trebuie sa acordam acces la baza de date proba creata anterior. acordati-le pe esantion. * la 'testuser' @ 'localhost'; Sau, daca baza de date este la distanta: acordati-le pe esantion. * la 'testuser' @ 'remotemc'; De asemenea, puteti rula urmatoarele comenzi dupa conectare, pentru a va asigura ca toate permisiunile sunt corecte. crea joe joe (id int cheie auto_increment, nume varchar (25)); drop table joe; Configurati calea de clasa Java. Primul pas este sa incarcati driverul bazei de date. Aceasta se face prin invocarea urmatoarelor intr-o locatie potrivita Class.forName ( "com.mysql.jdbc.Driver"); Codul ar putea arunca o exceptie, astfel incat sa il puteti prinde daca intentionati sa o rezolvati (cum ar fi formatarea mesajului de eroare pentru o interfata grafica). incercati Class.forName ("com.mysql.jdbc.Driver"); captura (ClassNotFoundException ex) // utilizati exceptia aici Este foarte frecvent sa invocati acest cod intr-un bloc static din clasa, astfel ca programul nu reuseste imediat daca driverul nu poate fi incarcat. exemplul public de clasa static try Class.forName ("com.mysql.jdbc.Driver"); captura (ClassNotFoundException ex) System.err.println ("Imposibil de incarcat Driverul MySQL"); Conectarea la MySQL Din Java. O modalitate de a crea o conexiune de baze de date este de a utiliza DriverManager. String jdbcUrl = ...; Conexiune con = DriverManager.getConnection (jdbcUrl); Si ce este jdbcUrl? Acesta indica detaliile conexiunii, inclusiv serverul in care se afla baza de date, numele de utilizator si asa mai departe. Iata un exemplu de URL pentru exemplul nostru. String jdbcUrl = "jdbc: mysql: // localhost / sample = user = testuser & password = secretpwd"; Observati ca am inclus toti parametrii necesari pentru conectare, inclusiv numele de gazdă (gazda locala), numele de utilizator și parola. Folosind asta jdbcUrl, aici este un program complet pentru a verifica conectivitatea. exemplul public de clasă static try Class.forName ("com.mysql.jdbc.Driver"); captura (ClassNotFoundException ex) System.err.println ("Imposibil de incarcat Driverul MySQL"); static public void principal (String [] args) arunca Excepție String jdbcUrl = "jdbc: mysql: // localhost / sample = user = testuser & password = securepwd"; Conexiune con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close (); Este o idee proasta sa incorporati parola in URL-ul JDBC. Pentru a specifica direct numele de utilizator si parola, puteti folosi urmatoarea optiune de conectare. Stringul jdbcUrl = "jdbc: mysql: // localhost / sample"; incercati (Conexiune con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) Interogarea bazei de date din Java. Acum, cand conexiunea la baza de date este stabilita, sa vedem cum sa efectuam o interogare, cum ar fi interogarea versiunii bazei de date: selectati versiunea (); O interogare este executata in java dupa cum urmeaza. Afirmatie obiect este creat si o interogare este executata folosind executeQuery () metoda care returneaza Setul de rezultate. String queryString = "selectati versiunea ()"; Declaratie stmt = con.createStatement (); Rezultatul rset = stmt.executeQuery (queryString); Imprimati versiunea din Setul de rezultate dupa cum urmeaza. 1 se refera la indexul coloanei in rezultate, începand de la 1. in timp ce (rset.next ()) System.out.println ("Versiune:" + rset.getString (1)); Dupa procesarea rezultatelor, obiectele trebuie inchise. rset.close (); stmt.close (); Si asta acopera tot ceea ce este legat de MySQL de la java si efectuand o interogare simpla. Am explicat pe scurt.. pentru intrebari,probleme[reply,pm].
-
[Tutorial PHP] Functia "Search" in aceeasi pagina
Jackson Brooklyn posted a topic in Web Development
Salutare prieteni, am revenit cu o continuare la primul tutorial in care aratam cum sa conectam baza de date in PHP si sa afisam date in pagina. Astazi o sa va arat cum sa adaugam functia de search care afiseaza rezultate in aceeasi pagina PHP. Pentru a putea intelege corect tot tutorialul de astazi, va rog sa aruncati o geana peste acest tutorial: Adaugarea functiei search si afisarea datelor in aceeasi pagina. Dupa ce baza de date este conectata iar pagina index.php afiseaza datele din baza de date adaugam in mai sus de codul PHP un cod HTML care arata cam asa: <form action="index.php" method="post"> <input type="text" name="search" /> <input type="submit" value="Search" /></form> Ce face acest cod mai exact, face un textbox in care noi putem sa adaugam niste valori iar cand apasam butonul, el prin metoda post ne paseaza valorile catre functia %searchq% pe care o sa o definim si o folosim mai departe in codul MySQL. Pagina initiala trebuie sa arate cam asa, inainte de adaugarea codului HTML pentru search: De la acest cod de baza(Codul este explicat parca in celalalt tutorial) care doar afiseaza niste date in pagina incepem sa lucram mai departe pentru functia search: <?php require_once "config.php"; ?> <form action="index.php" method="post"> <input type="text" name="search" /> <input type="submit" value="Search" /></form> <section id="content"> <?php $q = mysqli_query($link, "SELECT * FROM comments Order by `id` desc LIMIT 5600"); while($row = mysqli_fetch_array($q)) { ?> <h5>User: <?= $row["nume"]; ?> <small> Ora: <?= $row["ora"]; ?></small></h5> <?= $row["text"]; ?> <p> <br> </p> <?php } ?> </section> Dupa adaugarea codului, pagina trebuie sa arate cam asa: Primul pas este deja facut, am adaugat codul HTML care ne paseaza valorile, urmeaza sa facem o conditie(IF), care spune asa: Daca functia search nu este atinsa, afiseaza toate datele, daca functia search este atinsa, afiseaza doar datele care sunt asemanatoare cu valorile din %searchq%. Tot ce trebuie sa facem este sa copiem partea de cod care deja ne afiseaza datele in MySQL si sa o adaptam conditiei conform cerintelor noastre. <?php require_once "config.php"; ?> <form action="index.php" method="post"> <input type="text" name="search" /> <input type="submit" value="Search" /></form> <section id="content"> <?php if(isset($_POST['search'])) { $searchq = $_POST['search']; $q = mysqli_query($link, "SELECT * FROM comments WHERE `nume` LIKE '%$searchq%' OR `text` LIKE '%$searchq%' OR `ora` LIKE '%$searchq%' Order by `id` desc"); while($row = mysqli_fetch_array($q)) { ?> <h5>User: <?= $row["nume"]; ?> <small> Ora: <?= $row["ora"]; ?></small></h5> <?= $row["text"]; ?> <p> <br> </p> <?php } } else { $q = mysqli_query($link, "SELECT * FROM comments Order by `id` desc LIMIT 5600"); while($row = mysqli_fetch_array($q)) { ?> <h5>User: <?= $row["nume"]; ?> <small> Ora: <?= $row["ora"]; ?></small></h5> <?= $row["text"]; ?> <p> <br> </p> <?php } } ?> </section> Dupa adaugarea conditiei, cam asa trebuie sa functioneze codul: Si practic cam asta este toata vrajeala, totul tine de o conditie care afiseaza doar datele relevante cautarii noastre. Daca aveti intrebari, astept PM pe forum, comentarii sau mesaje pe discord: GhOsT_x#6329 sau b-zone.ro/discord. -
Salutare tuturor, acesta este un tutorial pentru Webdeveloperii care vor sa-si scurteze timpul de lucru si liniutele de cod. Astazi o sa facem un config.php file si o sa-l inclidem in toate paginile.php pe care le avem in FTP pentru a nu deschide si inchide o conexiune noua in fiecare functie creata in pagina respectiva. In primul rand facem un file nou numit config.php, el contine urmatoarele: <?php // Practic, ce facem noi aici este sa definim niste valori pentru fiecare argument, poate unii sunteti mai lejeri cu declaratia IP=192.168.1.1, NUME=ghost, este acelasi lucru. define('IP', '92.44.231.2'); // aici definim IP-ul catre serverul MySQL define('NUME', 'ghost'); // aici definim credentials-urile pentru MySQL, deci username-ul define('PAROLA', 'parola'); // aici definim parola pentru user-ul de mai sus. define('DB', 'lucrareFacultate'); // iar aici definim numele bazei de date la care vrem sa ne conectam. $link = mysqli_connect(IP, NUME, PAROLA, DB); // Aici din nou, facem un shortcut pentru mysqli_connect, $link = mysqli_connect || Script-ul incearca sa se conecteze la baza de date MySQL cu shortcut-urile definite mai sus. // Acum facem o conditie pentru a ne da de stire cand ceva nu e ok, de ex sistemul ramane fara internet, baza de date nu s-a conectat cu succes sau datele de logare sunt gresite. if($link === false){ // Daca shortcut-ul de mai sus $link este fals, adica baza de date nu s-a putut conecta, el foloseste functia die() pentru a printa eroarea si opreste script-ul curent, adica daca aveti ceva mai jos de acel die() si baza de date nu s-a conectat, script-ul nu o sa ruleze ce e mai jos de die(). die("EROARE: Baza de date nu s-a putut conecta. " . mysqli_connect_error()); // functia die() asteapta doar un parametru, acesta este mesajul custom pe care vreti sa-l printati, "EROARE: Baza de date nu s-a putut conecta.", dar nu se supara sa adaugati o eroare din MySQL pentru a imbunatati comunicarea script-developer sau chiar utilizator. } // aici se opreste declaratia ?> Dupa ce am facut fila config.php si am verificat datele sa fie corecte, putem sa verificam daca functioneaza. accesam localhost/config.php, inlocuiti localhost cu ip-ul webserver-ului sau pe ce lucrati voi. Daca totul merge corect, ar trebui sa aveti o pagina alba, fara text. Daca ceva merge gresit, ar trebui sa aveti o pagina cu erori care vor indica sursa problemei. Iar acum hai sa ne facem treaba mai usoara, facem un index.php, iar pentru a ne usura munca, la inceputul filei o sa cerem script-ului sa foloseasca config.php. <?php require_once "config.php"; // spunem script-ului ca are nevoie de acest config.php pe parcursul lui. ?> // aici o sa adaug eu ceva HTML pentru a-l testa. <section id="content"> <div class="row"> <div class="col-md-3"> <div class="panel bg-alert light of-h mb10"> <div class="pn pl20 p5"> <div class="icon-bg"> <i class="fa fa-university"></i> </div> <?php // deschidem o functie php noua intre codul HTML, definim un query care ne selecteaza valoarea curenta din utilizatori. $query = mysqli_query($link, "SELECT * FROM `utilizatori`"); while($dnn=mysqli_fetch_array($query)) { ?> <tr> <h2 class="mt15 lh15"> <b></b><?php echo $dnn['numar'] ?></h2> // aici printam numarul de utilizatori activi <?php } // si aici inchidem ?> <h5 class="text-muted">Utilizatori "activi"</h5> </div> </div> </div> Si cu asta, totul e mai simplu, nu mai trebuie sa avem 6 conexiuni la fiecare sectiune si nu mai trebuie sa ne tinem parolele vizibile pe ecran cat codam in jurul prietenilor sau cine stie, la lucru, in cafenea, etc...
-
Salut! Astazi va voi arata cum sa faceti un sistem de Job pe MySQL. Atentie: Nu voi arata cum se fac job-urile, doar cum se salveaza si cum poate ajuta. Tutorialul se va imparti in 2 parti: In gamemode In baza de date In gamemode Acum sa incepem. Unde aveti in gamemode enumeratiile (enum) adaugati: enum jInfo { jID, jName[32], Float:jPosX, Float:jPosY, Float:jPosZ, jLevel, jLegal, Text3D:jLabel, jPickup }; new JobInfo[MAX_JOBS][jInfo]; // MAX_JOBS definiti voi ori puneti in loc de MAX_JOBS un numar (exemplu 7) sau la definitii(#define) adaugati #define MAX_JOBS (7) La enum pInfo unde aveti pLevel, pAdmin, etc, adaugati: pJob, Acum ce mai trebuie facut e sa incarcam job-urile. Pentru a lucra mai usor vom defini (daca nu avem deja definit) #define script%0(%1) forward%0(%1); public%0(%1) script LoadJobs() { jobss = cahce_num_rows(); // adaugati new jobss = 0; unde aveti new-urile daca nu aveti deja for(new i = 0; i <= jobss; i++) { f = i - 1; cache_get_value_name_int(f, "ID", JobInfo[i][jID]); cache_get_value_name(f, "Name", JobInfo[i][jName], 32); cache_get_value_name_float(f, "X", JobInfo[i][jPosX]); cache_get_value_name_float(f, "Y", JobInfo[i][jPosY]); cache_get_value_name_float(f, "Z", JobInfo[i][jPosZ]); cache_get_value_name_int(f, "Level", JobInfo[i][jLevel]); cache_get_value_name_int(f, "Legal", JobInfo[i][jLegal]); cache_get_value_name_int(f, "Pickup", JobInfo[i][jPickup]); JobInfo[i][jLabel] = Create3DTextLabel("%s job\nType [/getjob] to employ", 0xFFFFFF, JobInfo[i][jPosX], JobInfo[i][jPosY], JobInfo[i][jPosZ],300.0, 0, 0); } return 1; } Acum sa explic. script LoadJobs() { return 1; } Aici creem functia care va incarca job-urile. jobss = cache_num_rows() jobss este o variabila care indica toate job-urile din baza de date, iar cache_num_rows(); numara job-urile. for(new i = 0; i <= jobss; i++) { } Folosim aceasta bucla pentru a cauta job-urile. Aici intra in actiune jobss, care are valoarea x (x fiind toate job-urile din baza de date) si i = 0, job-ul incarcat. Bucla cauta toate job-urile ca sa explic mai simplu. f = i - 1; cache_get_value_name_int(f, "ID", JobInfo[i][jID]); cache_get_value_name(f, "Name", JobInfo[i][jName], 32); cache_get_value_name_float(f, "X", JobInfo[i][jPosX]); cache_get_value_name_float(f, "Y", JobInfo[i][jPosY]); cache_get_value_name_float(f, "Z", JobInfo[i][jPosZ]); cache_get_value_name_int(f, "Level", JobInfo[i][jLevel]); cache_get_value_name_int(f, "Legal", JobInfo[i][jLegal]); cache_get_value_name_int(f, "Pickup", JobInfo[i][jPickup]); f = i - 1; indica index-ul de unde sa incarce job-urile, iar celelalte linii incarca efectiv job-urile. Atentie! Cand incarcati string-uri (nume de exemplu) dupa destinatie adaugati al treilea argument numarul de caractere. Ca sa explic, daca aveti jName[32], 32 este numarul de caractere maxim al numelui. Iar pentru a termina in gamemode adaugati la public OnGameModeInit() new query[128]; // daca nu aveti deja mysql_format(g_handle, query, sizeof(query), "SELECT * FROM `jobs`"); mysql_tquery(g_handle, query, "", ""); g_handle este "manerul", handle in engleza, aici nu pot explica prea bine ca nici eu nu stiu asta, dar tot ce stiu este ca este un lucru care ajuta la conexiune. In baza de date. Vom creea un nou tabel numit "jobs" cu 7 randuri. Dupa asta completati randurile cum dupa urmatoarea poza. La final acolo unde este PRIMARY urmati urmatoarele poze. La ID la length puneti 11, am uitat eu sa pun. Iar apoi Iar acum tot ce mai ramane de facut este sa compilati gamemode-ul, sa apasati pe Save in josul paginii in tabel si apoi sa adaugati job-uri. Adaugarea job-urilor este foarte simpla, Iar apoi de la insert este simpla treaba, doar aveti grija sa lasati la ID gol, in rest X, Y, Z sunt coordonatele, level - nivelul minim, legal - daca este legal sau ilegal ( 0 - legal, 1 - ilegal) si pickup - id pickup-ului (acel i care se invarte este 1239). Am ajuns la finalul tutorialului. Sper ca v-am ajutat si va doresc o zi frumoasa!
-
Buna ziua, de curand am instalat si eu in calculator programul Xampp pentru a putea deschide anumite gamemode-uri cu MySql, ei bine am inteles in mare parte ce era de facut si m-am apucat de treaba. P.S. Din cate am vazut, majoritatea celor ce fac video-uri pe YouTube spun ca este din cauza skype-ului. Ei bine, eu n-am skype. Bun, am instalat programul in calculator (In D) cu succes (cred). Cam asa arata folderul meu cu Xampp, de ce vi l-am aratat? Daca nu e complet sa imi puteti spune. Posibil sa fie si din aceasta cauza, n-am idee. Cam asa arata cand pornesc programul. Apache, MySQL si FileZilla au fost instalate (am bifat aceea casuta). Deci FileZilla este ok. 1/3 Bun, acum trecem la MySQL. Pare sa fie si acesta ok, insa dupa cum vedeti la port nu scrie nimic. Peste aproximativ 10 secunde se ajunge la asta. MySQL se decoloreaza (Nu mai e in chenar verde) si apare si prima eroare in chat (jos). Cat despre Apache, nu putem spune multe. Arata ca posibil s-ar incarca, insa nu o face. Ramane asa. Nu stiu de la ce este mai exact insa ofer recompensa celui ce ma ajuta. ** Astept cat mai multe raspunsuri, intamplator se poate avea dreptate** [][][] Scripterii priceputi sau chiar cei ce stiu despre ce e vorba sa vina sa ajute [][][] Multumesc frumos, o zi buna in continuare B-ZONE !