Autor Zpráva
Fergi
Profil
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
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
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
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
ale jinak diky moc funguje to ten 1. priklad
Fergi
Profil
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0