Avatar billede sijmonj Nybegynder
24. april 2008 - 20:05 Der er 22 kommentarer og
1 løsning

live søgemaskine

Hej, jeg søger en dansk guide til at lave sån en søgemaskine som søger mens man taster, hvis i ikke lige kender til sån en guide, er der så nogen som ved hvor jeg kan downloade sån en gratis en?


Tak på forhånd
Avatar billede jakobdo Ekspert
24. april 2008 - 21:35 #1
Du kan finde 100 eksempler på google.com
Prøv at søg på: ajax suggest
Avatar billede sijmonj Nybegynder
24. april 2008 - 22:03 #2
okay tak, synes bare det er svært når man slet ikke ved noget om det :/
Avatar billede jakobdo Ekspert
24. april 2008 - 22:05 #3
Korrekt, men intet i livet skal være nemt! :o)
Hvis du f.eks. kigger på dette eksempel: http://www.w3schools.com/php/php_ajax_suggest.asp
Så har du alle de 3 kode stumper du skal bruge.
Du skal så blot rette php delen, så den trækker data som du ønsker.
Avatar billede sijmonj Nybegynder
24. april 2008 - 22:08 #4
okay :), så må jeg kæmpe mig igennem det engelske :P, Tak for det ;) smid svar  :D
Avatar billede jakobdo Ekspert
24. april 2008 - 22:15 #5
Svar!

Men spørg endelig hvis der er problemer, men jeg synes du skal prøve lidt selv først.
Avatar billede sijmonj Nybegynder
24. april 2008 - 22:17 #6
okay, prøver lige lidt :)
Avatar billede sijmonj Nybegynder
24. april 2008 - 22:20 #7
i php filen på http://www.w3schools.com/php/php_ajax_suggest.asp

der har han lavet en masse arrays med nogen navne i,

når jeg så har en masse ting i min database kan jeg så gøre sån her?

$a = mysql_query("SELECT * FROM mintabel");

?
Avatar billede jakobdo Ekspert
24. april 2008 - 22:28 #8
Det skal så være noget i stil med:

<?php
//CONNECT TO MYSQL
mysql_connect();
mysql_select_db();

//get the q parameter from URL
$q = mysql_real_escape_string($_GET['q']);

//lookup all hints from array if length of q>0
if(strlen($q) > 0){
    $hint="";
    $a = mysql_query("SELECT navn FROM mintabel WHERE navn LIKE '$q%'");
    if(mysql_num_rows($a)>0){
        while($row = mysql_fetch_assoc($a)){
            $hint=$hint." , ".$row['navn'];
        }
    }
}

//Set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == ""){
    $response="no suggestion";
}else{
    $response=$hint;
}

//output the response
echo $response;
?>
Avatar billede jakobdo Ekspert
24. april 2008 - 22:28 #9
Og takker for point.
Avatar billede sijmonj Nybegynder
24. april 2008 - 22:33 #10
ahh okay :) tak
Avatar billede jakobdo Ekspert
25. april 2008 - 06:54 #11
Har du fået det til at fungere ?
Avatar billede sijmonj Nybegynder
25. april 2008 - 10:45 #12
nej ikke helt (: , men prøver at lave det igen lidt senere (:
Avatar billede sijmonj Nybegynder
25. april 2008 - 11:44 #13
har lavet det sån her endtil videre



<?php
include("../../connection/config.php");

//get the q parameter from URL
$q = mysql_real_escape_string($_GET['q']);

//lookup all hints from array if length of q>0
if(strlen($q) > 0){
    $hint="";
    $a = mysql_query("SELECT * FROM koder_css WHERE kode_navn LIKE '$q%'") or die(mysql_error());
    if(mysql_num_rows($a)>0){
        while($row = mysql_fetch_assoc($a)){
            $hint=$hint." ".$row['navn'];
        }
    }
}

//Set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == ""){
    $response="Ingen Resultat Endnu";
}else{
    $response=$hint;
}

//output the response
echo $response;
?>


meen
Avatar billede sijmonj Nybegynder
25. april 2008 - 11:45 #14
hov kom lige til at klikke på "send" :P

men den her linje

$hint=$hint." ".$row['navn'];

driller lidt, fordi hvis nu har skriver et resultat som er inde i databasen, så udskriver den ingen ting :S men hvis jeg gør sån her

$hint=$hint." BARE NOGET TEKST HER ".$row['navn'];

og så den finder noget af det som er i database så udskriver den "BARE NOGET TEKST HER" det er vildt mærkeligt :S
Avatar billede jakobdo Ekspert
25. april 2008 - 13:02 #15
Det forstår jeg ikke helt.
Men hvad hedder det felt som skal printes ud ?
Avatar billede sijmonj Nybegynder
25. april 2008 - 13:56 #16
:P, jeg har faktisk 3 tabeller som indeholder en masse navne:

# koder_css
# koder_html
# koder_javascript

man skal kunne søge i alle sammen.
og de felter som skal udskrives hedder alle sammen

# kode_navn

i de 3 tabeller
Avatar billede jakobdo Ekspert
25. april 2008 - 15:09 #17
Så skal du lave en søgning i alle 3 tabeller.
Måske man kunne lave noget UNION, men jeg synes du skal prøve at holde dig til en TABEL til at starte med og når det virker, så udbygge til 3 tabeller.
Avatar billede sijmonj Nybegynder
25. april 2008 - 18:49 #18
okay det vil jeg så gøre :), er bare gået lidt i stå med det der $hint som ikke helt virker som det skal
Avatar billede jakobdo Ekspert
25. april 2008 - 19:06 #19
Prøv at drop ajax og få gethint.php til at virke alene.
Hvis du så udskriver data med echo og dropper $hint til at starte med.
Avatar billede sijmonj Nybegynder
25. april 2008 - 19:43 #20
jeg kan sku ikke få den til at søge i min databasen, når jeg laver nogen af tingene om så fucker den altid op så den slet ikke gider at søge :S, tror du at du kan se hvorfor den ikke udskriver noget når man skriver et søge ord som er i databasen?

--------------------------

<?php
include("../../connection/config.php");

//get the q parameter from URL
$q = mysql_real_escape_string($_GET['q']);

//lookup all hints from array if length of q>0
if(strlen($q) > 0){
    $hint="";
    $a = mysql_query("SELECT * FROM koder_css WHERE kode_navn LIKE '$q%'") or die(mysql_error());
    if(mysql_num_rows($a)>0){
        while($row = mysql_fetch_assoc($a)){
            $hint=$hint." ".$row['navn'];
        }
    }
}

//Set output to "no suggestion" if no hint were found
//or to the correct values
if ($hint == ""){
    $response="Ingen Resultat Endnu";
}else{
    $response=$hint;
}

//output the response
echo $response;
?>
------------------

der er noget galt i linje 13 tror jeg. Der hvor der står

$hint=$hint." ".$row['navn'];
Avatar billede jakobdo Ekspert
25. april 2008 - 22:16 #21
Hvad hedder feltet du vil have ud fra tabellen ?
Synes du tidligere sagde kode_navn, er det korrekt ?

Og du skal ihf. nok rette linje 13 til:
$hint .= $hint." ".$row['navn']; // . foran =
Avatar billede sijmonj Nybegynder
26. april 2008 - 00:03 #22
jah det glemte jeg sku lige, den sku hedder

$row['kode_navn'];

:D, nu virker det, så skal jeg bare finde ud af hvordan jeg søger i flere tabeller :/
Avatar billede jakobdo Ekspert
26. april 2008 - 11:42 #23
Jeg ville nok søge tabel 1 igennem først.
Søge tabel 2 igennem og så søge tabel 3 igennem.
Og så samle alle resultater i et.

I bund og grund skal du blot lave denne kode 3 gange:

$a = mysql_query("SELECT * FROM koder_css WHERE kode_navn LIKE '$q%'") or die(mysql_error());
    if(mysql_num_rows($a)>0){
        while($row = mysql_fetch_assoc($a)){
            $hint=$hint." ".$row['navn'];
        }
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester