Gå til innhold

Søke-funksjon, trenger hjelp av en proff!


Anbefalte innlegg

Hvordan skal jeg legge inn en søkefunksjon som fungerer på siden min?

 

Litt info: Hjemmesiden er satt opp på en Abyss http-server

Kjører FTP-server på samme PC ( Har ikke noe med saken å gjøre )

PHP er installert ( Versjon 5.1 )

MySQL ( Version 4.1 )

 

 

Oppgaven er å søke fram til filer som ligger på hjemmesiden. Disse filene ligger på siden via virtuelle linker på serveren fra lokale hardisker på samme PC. Det er snakk om fire forskjellige disker ( tror at det ikke har noe å si siden jeg har virtuelle linker til en og samme mappe ).

 

Håper noen kan komme med svar, for det kan bli litt slitsomt for folk å søke manuelt blant ca 50 000 filer.

 

Takker for alle svar, rett meg gjerne hvis jeg har skrevet noe feil!

 

 

 

 

 

Edit: Jeg endte opp med "Search Engine X".

 

Jeg har lagt inn phpMyAdmin, jeg lager ny database, limer inn:

 

CREATE TABLE softr (
 A varchar(255) default NULL,
 B varchar(255) default NULL
) ENGINE=InnoDB;

 

Så skal jeg legge til en fil som heter "tablerecords.csv" (fikk ett problem med maksimums størrelse der, men klarte å endre den i php.ini)

 

Når jeg trykker [utfør], så får jeg opp denne feilmeldingen:

 

Feil

SQL-spørring:

 

"1";

 

 

 

MySQL sa:

 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1"' at line 1

 

 

Noen som har vært borti noe liknende, eller som har gode kunskaper med MySQL, og som kan gi meg en liten forklaring eller guide meg gjennom?

 

 

EDIT: Redigert topic

Endret av jogil
Lenke til kommentar
Videoannonse
Annonse

Hei, prøv den:

 

CREATE TABLE `filer` (

`file_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`file_name` VARCHAR( 200 ) NOT NULL ,

`file_path` VARCHAR( 200 ) NOT NULL ,

`file_size` INT( 15 ) NOT NULL

) ENGINE = MYISAM ;

 

File_id = Gir et unikt ident nr til filen

File_name = Navnet til filen (200 bokstaver maks)

File_path = Navnet hvor fila ligger i systemet (eks C:\files\my foler\)

File_size = Størrelse få filen

 

Den lager en grei database for deg.

 

Hvis du er interesser at jeg skal fikse hele systemet selvflg. mot betaling send meg en PM.

 

mvh. OXODesign

Lenke til kommentar
Skal du kun kunne søke etter path til filer er det jo like raskt å bare ta "exec("Find %søkeord");" vil jeg nå tro, ikke vits å gjøre det verre enn nødvendig. :)

 

 

(Merk: Linux only feature)

7162623[/snapback]

 

Prøvde å bruke <?php exec("Find %søkeord"); ?>

 

Gjort noe galt der, eller må jeg ha noe mere, som feks. en rute til å taste inn osv.?

 

Edit: Kjører ikke linux!

Endret av jogil
Lenke til kommentar

Du må antakelig søke rekursivt gjennom alle mappene dine.

Ettersom du bruke php5 kan du bruke http://no2.php.net/scandir

PHP

<?php

function find($dir, $to_find)

{

  foreach(scandir($dir) as $dir_entry)

  {

    if(strcmp($dir_entry, $to_find) == 0)

      return $dir.'/'.$dir_entry;

    elseif(is_dir($dir_entry))

    {

      return find($dir.'/'.$dir_entry);

    }

}

}

 

$location = find('.', 'minfil.txt');

eller noe sånt.

Endret av Nazgul
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...