Autor Zpráva
Enngage
Profil
Ahoj,

potreboval bych vytvořit k vyhledávacímu políčku automatické hledání možných výsledků. V databázi mám seznam všech uživatelů a chtěl bych, aby když chci třeba poslat někomu zprávu, tak když zadám do políčka příjemce např. "Em", tak se mi pod tím políčkem objevil seznam možných výsledků, takže třeba "Emma, Emil, Emanuel..." Něco takového je třeba na ulozto.

Budu moc vděčný za jakékoliv nasměrování.
blaaablaaa
Profil
Enngage:
Zkus googlit "php naseptavac" nebo "php suggest", navodu/hotovych skriptu je na netu pozehnane.
o_O
Profil
Jedná se o AJAX a pozicovaný div.
Enngage
Profil
Díky, tak jsem to všechno projel a zprovoznil, ale je to zatím nepoužitelné. Jsem ve fázi, kdy mi všechno funguje jak má, ale nevím jak se napojit na mysql databázi a získat výsledky z tama.

Mám
<script type="text/javascript">
	$(function() {
	        var tags = []
	        var availableTags = ["Emil", "Emma", "Emanuel"];
	        $("#naseptavac").autocomplete({
	            source: availableTags,
	            delay: 0
        });                                                            
	    });
	</script>


A do toho source potřebuju nějak dát výsledky z php, které už mám vytvořené a nachystané v poli. Pomůžete mi?
ShiraNai7
Profil
Enngage:
ale nevím jak se napojit na mysql databázi a získat výsledky z tama.
A do toho source potřebuju nějak dát výsledky z php, které už mám vytvořené a nachystané v poli. Pomůžete mi?

Sekce práce a zakázky ;)
Enngage
Profil
error
Enngage
Profil
ShiraNai7:
Nic ve zlém, ale tohle mi nepřijde jako něco co bych měl dávat někomu na zákázku, všechno mám, jenom hledám radu nebo podobnou nápovědu jako ráno na to, jak dostat proměnnou z php do javascriptu... Pokud je to tak složité, že se to musí těžce programovat, tak se omlouvám, jinak považuji tvůj príspěvek za spam. Podotýkám, že po nikom nechci, aby mi tu vyložil přesně kód, který potřebuju... Jenom potřebuju nasměrovat správným směrem jako ráno, kdy mi rada typu "vygoogluj php našeptavač" bohatě stačila...
Darker
Profil
Z DB:
Nauč se obecně číst z databáze. Tedy tutoriály, tutoriály a tutoriály. Bude se ti to hodit. Jamile jsem se to jednou naučil, hodilo se mi to pořád.

PHP část:
Doporučuju PHP pole zakódovat funkcí JSONencode (nebo JSON_encode). Vznikne pole (v php to bude string samozřejmě) zpracovatelné javascriptem. To vypíšeš přes echo.

JS část:
Vytvoříš požadavek na PHP část. Pomocí Jquerry třeba:
$.post("naseptavac.php",   //adresa
          {slovo:form.hledej.value},  //to co zrovna napsal
          fuction(vysledek) {naseptavac(eval("("+vysledek+")")}  //naseptavac je ta funkce co se spusti aby zobrazila mozne vysledky
)


Chtěl jsi radu a pomoc, nikoliv nějakou zakázku, tak jsem ti poradil, jak umím.

ShiraNai7:
Nemusíme tu sekci zmiňovat v úplně v každém vlákně... Tu už je skoro jako když ti na freehostingu radí každý problém řešit placeným účtem.

Edit:
Enngage:
Co to s těmi příspěvky provádíš za tělocvik?
Enngage
Profil
Darker:
Děkuji za pomoc, zkoušel jsem to, ale ještě asi nejsem dostatečně na úrovni, abych tohle pochopil:) Mysql a PHP už celkem ovládám, ale javascript je pro mě velkou neznámou.

Každopádně jsem našel, dle mého názoru, na velmi jednoduché, rychlé a originální řešení.

Pole z php do javascriptu dostanu takhle:

$tagy_uzivatelu // pole uzivatelu
var availableTags = ["<?php echo join("\", \"", $tagy_uzivatelu); ?>" // timhle ho dostanu do js]


PS: ShiraNai7: To jsi vážně chtěl na těchto pár znaků dávat zakázku za peníze? Škoda mluvit.
Darker
Profil
Enngage:
Pole z php do javascriptu dostanu takhle:
Co když bude v poli čárka? Měl bysjí nějak escapovat.
A jinak, udělal jsi de fakto to, co jsem navrhoval, akorát pouze pro pole. Jsonencode by pro klasické pole vrátila asi toto:
{ ["a","b","c"]}


To jsi vážně chtěl na těchto pár znaků dávat zakázku za peníze?
On samozřejmě ne. To jsi špatně pochopil. A on zas špatně pochopil tebe, když si myslel. že chceš celý kód.
Darker
Profil
Mimochodem, základní vada na kráse tvého řešení je skutečnost, že klíčových slov může být časem poněkud mnoho, než aby bylo rozumné posílat je uživateli všechny.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0