Autor | Zpráva | ||
---|---|---|---|
Fergi Profil |
#1 · Zasláno: 24. 10. 2008, 23:32:20 · Upravil/a: Fergi
zdravim
jelikoz s ajaxem a celkovej javascriptem moc neumim tak jsem si stahl z webu (odkaz) AJAXovy script na zjisteni jestli uzivatel jiz existuje nebo ne - byl jeden z nejprehlednejsich co jsem si stahl ale nemuzu porad dojit na to jak prepsat jednu cast kodu pro komunikaci s databazi tady je kod <?php // Developed by Roshan Bhattarai // Visit http://roshanbh.com.np for this script and more. // This notice MUST stay intact for legal use require "../../db.php"; $nacti=mysql_query("SELECT jmeno FROM uzivatele") or Die("Nastala chyba: ".MySQL_Error()); $zaznam=mysql_fetch_array($nacti); - tohle jsem doplnil //this varible contains the array of existing users $existing_users=array('roshan','mike','jason'); -- a tady misto techlech jmen jsem zkousel udelat vypis vsech jmen z databaze ale nepodarilo se mi ... musi to totiz zustat v array a to je prave muj problem //value got from the get metho $user_name=$_POST['user_name']; //checking weather user exists or not in $existing_users array if (in_array($user_name, $existing_users)) { //user name is not availble echo "no"; } else { //user name is available echo "yes"; } ?> muj problem je tedy v tom ze musim nejak vypsat do pole Array vsechny jmena z databaze ve tvaru '$jmeno', ale ja vubec netusim jak na to zkousel jsem to pres while ale to byl jeden error za druhym( i kdyz se to bude asi resit prave tím) a jinou fci na vypsani vsech dat neznam :-(... tak jestli by nekdo vedel tak at prosim poradi budu vdecny za kazdou odpoved diky moc Fergi |
||
BetaCam Profil |
#2 · Zasláno: 24. 10. 2008, 23:52:50
Fergi
třeba : $nacti=mysql_query("SELECT jmeno FROM uzivatele") or Die("Nastala chyba: ".MySQL_Error()); while($row = mysql_fetch_array($nacti)){ $existing_users[] = $row['jmeno']; } |
||
BetaCam Profil |
#3 · Zasláno: 25. 10. 2008, 01:20:39 · Upravil/a: BetaCam
Fergi
Jinak ještě musím konstatovat, že celý ten dotaz na databázi a jeho následné zpracování je řešené dosti nevtipně. 1) Zbytečně se tahají všechny jména z DB 2) Pak se z nich zbytečně udělá array 3) a pak se ten array musí ještě prohledat. Je to prostě zbytečně náročné. Daleko lepší by to bylo udělat nějak takto : <?php require "../../db.php"; $nacti=mysql_query("SELECT jmeno FROM uzivatele WHERE jmeno = '".$_POST['user_name']."'") or Die("Nastala chyba: ".MySQL_Error()); $user_name=$_POST['user_name']; if (mysql_num_rows($nacti) != 0){ echo "no"; }else{ echo "yes"; } ?> EDIT : Opraveno |
||
Fergi Profil |
#4 · Zasláno: 25. 10. 2008, 08:48:43
BetaCam
pravda s tim mysql_num_rows($zaznam) jsem to zkousel ale nefakalo to... jak sem rikal tohle jsem ztahnul z internetu a odesilaci formular ma jmeno ne user_name ale username nevim jaktoze to funguje ale funguje proto asi musim pres array... |
||
Fergi Profil |
#5 · Zasláno: 25. 10. 2008, 08:50:52
ale jinak diky moc funguje to ten 1. priklad
|
||
Fergi Profil |
#6 · Zasláno: 25. 10. 2008, 09:39:16
ps: uz faka i verze s mysql num rows - byla to moje blbost dik za napad BetaCame tohle je mnohem lepsi ;) nerozlisuje to totiz velka a mala pismena
|
||
Časová prodleva: 16 let
|
0