Keresés

Új hozzászólás Aktív témák

  • -=Flatline=-

    tag

    Sziasztok!

    Van egy viszonylag komplex (guruknak tuti nem az) autocomplete kérdésem. Stackoverflow-n fentvan, feltételezem aki vágja a jqueryt, az tud annyira angolul, hogy megértse.

    Az SQL két táblám dumpja ottvan a topicban.

    Kérek szépen valakit, hogy nézzen rá, annyira nem bonyolult szerintem, de én nem tudom megcsinálni, mert nem vagyok ninja. Pénzt is szívesen adok, paypal, bármi.

    Köszönöm,

    Flat

    link: ITT VAN

    (azért egy gyors magyar leírás)

    Először csak az autocompletedb táblát próbáljátok megérteni, szimpla cucc, vannak benne helyszínek, karakterek, stb, mind csoportokhoz kötve, amik filmek. Egy $_SESSION['grp'] érték adja meg, hogy épp mi az aktív filmcsoport. (A második tábla akkor kell, mikor NINCS session driven kiválasztott csoport majd..erről később)

    Egy olyan autocomplete kérést szeretnék, ahol a session grp mezőket érinti csak a query nyilván, azaz, ha elkezdi beírni az arc, hogy 'cha' akkor feldob két karaktert, mert kettő tartozik az 1-es grp alá. Ha kiválasztja az egyiket, az adat, ami visszajön extendelve kell legyen, mert linket szeretnék visszakapni a search mezőmbe. (<a href="LINKDATA DB MEZO">CharacterA</a> --> ezt, ha CharacterA-ra bokott a user. Ez a konnyebb resz :)

    A nehezebb az az, mikor nem tudjuk, hogy miben keres a user, tehat globalis az egesz adatbazisra nezve.

    Megint elkezdi beirni, hogy 'cha', feljon 4 result, CharacterA, CharacterA, es CharacterB, CharacterB. Igen am, de a 'sample-iddata' azert van, hogy azt valahogy belejoinolva, a visszjaovo result ugy nezzen ki, hogy mellette van, hogy melyik film karaktereirol van szo, azaz ket Traveler es ket Star Wars result lesz.

    Tehat, ezt szeretnem, hogy erre tudjon kattintani a user: CharacterA - Traveler

    A visszakapott ertek ugyanaz, mint az elso peldaban, azaz linket szeretnek, szinten 'linkdata' cellabol, csak ezuttal nyilvan igy: <a href="LINKDATA DB MEZO">CharacterA - Traveler</a>

    Koszonom :) Sok fagyi? :)

    [ Szerkesztve ]

    Calm Sea Doesn't Breed Skilled Sailors

  • -=Flatline=-

    tag

    válasz martonx #2125 üzenetére

    Mindenképp javasolj akkor mást kérlek, szeretnék haladni :)

    Calm Sea Doesn't Breed Skilled Sailors

  • -=Flatline=-

    tag

    válasz Jim-Y #2127 üzenetére

    A feladat célja a felhasználók számára egyszerűbbé tenni a hotlinkelést siteon belül, lévén rengeteg adatfeltöltés zajlik és ezzel szignifikánsan sikerülne megkönnyíteni az adatbevitelt.

    Értelemszerűen ez egy próba adatbázis, hogy ne 80ezer rekorddal kelljen dolgozni itt.

    Tehát:

    Adott egy editor felületen egy csóka, aki ír egy cikket mondjuk. Ott figyel egy autocomplete mezo állandóan X helyen neki, hogy segítse a munkáját. És hogy? Ír egy cikket épp a Traveler sorozathoz, ami az adatbázisban van, ráadásul épp az az aktív filmje, lévén azt szerkeszti, TEHÁT, ha keres bármire, akkor a filmhez kapcsolódo adatok között keres. Kiválasztja bögyös maca karakterét, akiről egész pofás leírást csinált már egy másik júzer, semmi dolga nincs, hogy belinkelhesse azt az oldalt, csak kattintani az autocomplete resultra, és már be is került a szövegbe, amit ír és nem kell linkekkel sem szerencsétlenkednie. Az adatbázisban azért van rengetegszer kétszer ugyanaz, mer tegyük fel, bögyös maca karakter van 45 filmben, TEHÁT külöbséget kell tenni köztük. Ha emberünk úgy dönt, hogy ő most olyat szeretne a szövegbe linkelni, ami NEM az adott filmhez tartozik az adatbázis szerint, tehát mondjuk Bögyösneknembögyösdeszexi ANitát, akkor átkattintja az autocomplete mező melletti kis gombját arra, hogy GLOBÁL search, nem local filmen belüli és láss csodát, feljön neki sok találat, de akkor már nem árt tudnia, hogy melyik filmhez tartozóra fog klikkelni és ezért van a másik. (Az totál jogos kérdés, hogy miért jobb nekem, ha két közepes méretű adatbázis lesz betöltve, nem pedig egy nagy, de vezéreljenek mondjuk magasztos átláthatósági szempontok :) )

    Így érthető remélem, hidd el, egy táblába nem tehetem az egészet, mert 78ezer rekordos már így is ami van és 15 mezőt tartalmaznak. Húzós dolgozni vele, ezt kell az upgradekor szétbontanom és, ha már itt tartunk, próbálnám egyszerűsíteni a júzer dolgát.

    A kérdésedre pedig: Alapvetően dizájner vagyok és ugyan sokmindent megtanultam, ezt nem bíznám nem szakemberre, ezért is mondtam, hogy ADOK PÉNZT! ha megcsinálja valaki. Köszönöm, hogy ránéztél, örülök a válasznak!

    [ Szerkesztve ]

    Calm Sea Doesn't Breed Skilled Sailors

  • -=Flatline=-

    tag

    válasz martonx #2130 üzenetére

    Az sohasem volt kérdés, hogy nem én vagyok a szakember :) Mindkettőtöknek elküldtem privátban, miről van szó, egyezzünk meg.

    Calm Sea Doesn't Breed Skilled Sailors

  • -=Flatline=-

    tag

    válasz Sk8erPeter #2132 üzenetére

    Igazatok van, a két táblának ebben az esetben semmi értelme. Jó éjszakát közben, még jó, hogy egy órával korábban van itt :) :R

    Calm Sea Doesn't Breed Skilled Sailors

  • -=Flatline=-

    tag

    válasz -=Flatline=- #2133 üzenetére

    Addig baszogattatok (jó értelemben), míg inkább megcsináltam. Nem teljes még és nem a legelegánsabb, de megy :) Már csak az a kérdés, hogy tudom priorizálni azt, hogy mindig az aktuális session grp legyen a kiemelt ORDER BY és csak utána legyen a normál group szerinti rendezés? (Ergó az épp szerkesztendő anyag találatai kapjanak prioritást, utána jöhet a minden egyéb...) Plusz ugye itt még sehol sem a LINKDATA linkké formázott módon kerül vissza az adat, abban tuti kell majd a segítségetek, ha felébredtetek. Köszönöm :)

    mysql_connect ($db_host, $db_user, $db_pass) or die ('Could not connect to the database.');
    mysql_selectdb ($db_database) or die ('Could not select database.');
    $_SESSION['grp']=1; //teszt erejeig
    $q = $_GET['term'];
    if($q=="") return;
    $lolz = array();

    $query = "SELECT * FROM autocompletedb WHERE (`location` LIKE '{$q}%' OR `character` LIKE '{$q}%' OR `item` LIKE '{$q}%' OR `music` LIKE '{$q}%') && `group` = '{$_SESSION['grp']}' ORDER BY 'group' LIMIT 30";

    $resultset = mysql_query($query);
    $lolz = array();

    while( $row = mysql_fetch_assoc($resultset) ) {
    if($row['location'] == ""){}else{
    $lolz[] = $row['location'] . " - " . $row['groupname'];}

    if($row['character'] == ""){}else{
    $lolz[] = $row['character'] . " - " . $row['groupname'];}

    if($row['item'] == ""){}else{
    $lolz[] = $row['item'] . " - " . $row['groupname'];}

    if($row['music'] == ""){}else{
    $lolz[] = $row['music'] . " - " . $row['groupname'];}

    }

    echo json_encode($lolz);
    ?>

    [ Szerkesztve ]

    Calm Sea Doesn't Breed Skilled Sailors

  • -=Flatline=-

    tag

    válasz Sk8erPeter #2135 üzenetére

    Persze, nyilvan escapelek, es nem a teljes latszott. Majd mindjárt provideolok egy cleanebb megoldást, csak reggeli :)

    Calm Sea Doesn't Breed Skilled Sailors

Új hozzászólás Aktív témák