Jump to content
php.lv forumi

Search the Community

Showing results for tags 'meklēšanas algoritms'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • PHP
    • Interesanti palasīties
    • Iesācējiem
    • Vispārēji
    • Gatavi skripti
    • Freimworki, CMS
    • Datubāzes
  • Infrastruktūra, serveri, serveru programmatūra
    • Instalācija un konfigurācija
    • Hostinga piedāvājumi
    • Hostinga novērtējumi un atsauksmes
  • Pārlūkprogrammas daļa
    • HTML, XHTML
    • CSS
    • Javascript
    • Citas pārlūku vides un pārlūku valodas
    • Pārlūkprogrammas
  • Citas lietas
    • Darbs
    • Drošība
    • Manas lapu/darba novērtēšana
    • Saites uz noderīgiem resursiem
    • eKomercija un ePakalpojumi
  • php.lv
    • Netēma
    • Atsauksmes, ierosinājumi, lamu vārdi
    • Draza
  • Arhīvs
    • PHP
    • (X)HTML, CSS
    • php.lv

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 1 result

  1. Esmu uzrakstījis funkciju, kura izveido dropdown tipa izvēlni. Vērtības tiek ņemtas no datubāzes. Šo sarakstu ir iespējams papildināt ar neierobežotu skaitu vērtībām, tam arī ir attiecīga forma, vienīgie nosacījumi jaunu vērtību ieviešanai ir tādi, ka ievades laukos (ar javascript palīdzību ģenerēti form_input lauki) nedrīkst atrasties divi vienādi nosaukumi vai tie nedrīkst jau atrasties datubāzē. Ideja ir tāda, ka tiek paņemts pirmais (0) vārds un salīdzināts ar visiem pārējiem vārdiem ievades masīvā, ja to atrod vēl vismaz 1 reizi, tad funkcija atgriež false vērtību, ja ievadītajā masīvā meklētais vārds neatkārtojas, tad to meklē datubāzē, ja arī tur neatkārtojas to ieliek citā masīvā. Ja vārds kura dublikātu meklē ir ievadīts vēl vismaz 1 reizi, tad vārds jaunajā masīvā netiek saglabāts un pointeris pārbīdas par 1 pozīciju uz priekšu un sāk meklēt tādā pašā secībā jauno atbilstību. Mans kods: //$length1 = $post masīva garums //$length2 = DB esošā masīva garums //$num1 pointeris $post masīvam //$array1 = $post masīvs //array2 = DB esošais masīvs //masīvu noklusētās vērtības ir NULL, jo tie var būt tukši (tā vieglāk kļūdu noteikt) public function search_if_exists($length1, $length2, $num, &$array1 = NULL, &$array2 = NULL){ $error_post = 'Kļūda ar $post masīvu.'; $error_db = 'Kļūda ar datubāzes masīvu'; //Ja neizdodas iegūt $post masīvu nav jēga turpināt if($array1===NULL){return $error_post;} //Tiek veikta pārbaude $post masīvā esošo dublikātu noskaidrošanai for($length1; $num!=$length1; ){ if($array1['title'][$num]===$array1['title'][$length1]){ //Ja ir dublikāti neturpinam return true; }else{ //Ja nav pārbīdam pointeri par 1 pozīciju atpakaļ $post masīvam $length1-=1; } } //Ja neizdodas iegūt db esošo masīvu nav jēgas turpināt if($array2===NULL){ return $error_db; } //Tiek veikta pārbaude DB esošo ierakstu noskaidrošanai //(pēc noklusējuma vienmēr būs 1 ieraksts, ar kuru salīzināšana netiek veikta) elseif($length2<=1){ return false; }else{ //Līdzīgi kā pirmajā ciklā tiek veikta pārbaude no $post masīva vārdiem //datubāzē esošo dublikātu noskaidrošanai. Šajā pārbaudē jau tiek pašsaprotami //pieņemts fakts, ka netika ievadīti dublikāti for($length2; $num!=$length2; ){ if($array1['title'][$num]===$array2[$length2]['title']){ return true; }else{ $length2 -=1; if($num===$length2){ return false; } } } } } Brīdī, kad mēģinu izsaukt šo funkciju pārlūks atrodas 'loading' statusā, nav īsti saprotams pat kur kļūda iemetusies. Ja manai problēmai jau ir izdomāts risinājums lūdzu padalieties ar informāciju, vēlos to aplūkot, bet pa lielam gribās pašam izdomāt.
×
×
  • Create New...