Avatar billede nicklasb Nybegynder
02. juni 2002 - 22:31 Der er 29 kommentarer og
1 løsning

Søgefunktion over MySQL-database

Hej

Jeg har lige et problem med en side jeg er igang med. Den er kodet i PHP, så resutatet skulle gerne være i dette sprog..

Men nu til sagen. Jeg er igang med at lave denne ( http://www.bornstein.dk/web/ ) side en smule om. Men som i kan se hvis i prøver søgefunktionen på forsiden kan i se at den ikke virker.

Den får variablen med over. Det kan ses i det blå tekstfelt. Men selve resultatet kommer ikke frem.

Nu har jeg siddet i en god bunke timer og nosset rundt med det ondsvage script og tænkte så at der nok skulle være en eller flere her inde der lige kunne hjælpe mig.

Her er det jeg selv har prøvet med:

<?
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$soeg1 = "'% $soeg %'";
$query = "SELECT * FROM databasen where $overskriftL like $soeg1 or $underoverL like $soeg1 or $link like $soeg1";
mysql_query($query);
?>
<?
$data1 = $r["data1"];
$data2 = $r["data2"];
$data3 = $r["data3"];

echo "

<a href=\"$link\">$data1</a>
<BR>
$data2<BR>
<I>$data3</I><BR><BR>


";
?>


som sagt tidligere har jeg prøvet en masse.. Men intet virker.. Ovenstående script er det sidste jeg har prøvet.. Jeg har også prøvet at sætte nogle af variablerne ind i '-er og forskellige andre ting.. Men intet virker. Den er ordentligt connectet til databasen, da connect-filen også bliver brugt alle andre steder på sitet.

(OBS: Jeg har i ovenstående eksempel udskiftet mine data med data1, data2 ovs. Men hvis i bare laver jeres eksempel med disse variabler skal jeg nok selv oversætte det.)

Det jeg så ønsker, er at en her inde lige ville skrive hvordan den rigtig skulle være.. JEg har sat spørgsmålet til et let spørgsmål, da det skulle vøre rimlig let hvis man ved noget om MySQL og PHP. (Jeg ved åbenbart ikke nok)

På forhånd mange tak for hjælpen. Hvis i har spørgsmål skal i bare spørge.. ;)

/Nicklas B.
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 22:34 #1
$query = "SELECT * FROM databasen where $overskriftL like '%$soeg1%' or $underoverL like '%$soeg1%' or $link like '%$soeg1%'";
mysql_query($query) or die(mysql_error());
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 22:35 #2
ok dem havde du. Så:


$query = "SELECT * FROM databasen where $overskriftL like '$soeg1' or $underoverL like '$soeg1' or $link like '$soeg1'";
mysql_query($query) or die(mysql_error());
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 22:36 #3
Hvad for noget :) Du havde også strofferne...

Ok. Vi spoler lige tilbage. Eneste ændring til script er

mysql_query($query) or die(mysql_error());

og fortæl hvad der sker - og hvad der ikke virker.
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 22:40 #4
Du bør fjerne et par mellemrum i denne, som vist:

$soeg1 = "'%$soeg%'";
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 22:41 #5
Og prøv lige med en

  print "<br>$soeg<br>";

for at se at der overhovedet står et søgeord,
Avatar billede nicklasb Nybegynder
02. juni 2002 - 23:13 #6
Der kommer ingen fejl. Det eneste den viser er det du kan se hvis du prøver at søge.. Prøv fx. at søge efter .dk
Der skulle den gerne have vist alle linkene (3 stk.) da de indeholder .dk i den sidste datafelt (data3)
Me nden viser intet.

Hvis du prøver at kigge i den blå tekstlinie kan du se at den skriver det du søger efter. Det er lavet med en <? echo "$soeg"; ?>
Så variablen er kommet med over. Der er bare et eller andet galt med det jeg har skrevet højere oppe. Så den viser intet.

Håber der er en der kan hjælpe..
Og håber da også jeg får besøg igen, selv om i ikke har fået mail om at jeg har oprettet sprøgsmålet.. jeg er snart irreteret over ikke at kunne få det til at virke..

/Nicklas B.
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 23:16 #7
Har du fjernet de mellemrum ?
Avatar billede nicklasb Nybegynder
02. juni 2002 - 23:28 #8
næææ prøver lige.. 5 min..
Avatar billede nicklasb Nybegynder
02. juni 2002 - 23:30 #9
det er gjordt nu.. Der er vist ingeb forskel.. :(
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 23:42 #10
Nå, jamen det er rigtig nok de ikke skal være der. Men kigger vi længere ned har
du glemt din while løkke, der henter data ud. Den er vel ret så vigtig.

Hvem er  Yousif Subhi  ?
Avatar billede nicklasb Nybegynder
03. juni 2002 - 00:01 #11
Hvor skal den løkke være henne.. Er ikke så god til det med MySQL endnu.. Jeg er først lige begyndt at bruge det.. Før brugte jeg Access.. Og der var der vist intet med nogen Løkke.. Vil du give et eksempel??

Angående Yousif Subhi.. Det er en dreng på 14 år (tror jeg). Det er ham der har lavet denne side http://www.ys-software.h4f.dk og herinde kalder han sig yousif.
Så er det også ham der har lavet den side du er igang med at hjælpe mig med.. Han spurgte mig bare om jeg ikke ville lave den mere brugervenlig for ham.. Og det ville jeg da gerne.. Er der mere du vil vide om ham?? Tror ikke det gør noget jeg skriver hans hjemmeside herinde ;)

Syntes det er meget rimligt det er mig der sprøger.. Det er mig der her sidder og nosset rundt i det i flere timer, og derfor også mig der ikke kan finde ud af det..
Avatar billede erikjacobsen Ekspert
03. juni 2002 - 00:11 #12
Det er rimelig fundamentalt at kunne. Find dig en tutorial og læs
den. Det er nemt nok når man kan. Men ellers tag et vilkårligt
spørgsmål på ekspertem, fx http://www.eksperten.dk/spm/43672
og skriv lidt af derfra

Nicklas, Yousif, og en tredie der ejer domænet. Det er kun til at blive
forvirret over :)
Avatar billede nicklasb Nybegynder
03. juni 2002 - 22:18 #13
Lukker igen.. Det jeg søgte var om der var en der kunne rette min kodestump til. Men jeg fandt en normalt arbejder med SQL-tabeller.. Så han hjalp mig lige med at rette den til..
Avatar billede erikjacobsen Ekspert
03. juni 2002 - 22:21 #14
Du skal til at sigte lidt højere....nemlig at prøve at lære hvad der
rent faktisk foregår :)
Avatar billede nicklasb Nybegynder
04. juni 2002 - 10:20 #15
Det er syndt for dig.. :)

Jeg forstår udemærket godt hvad der foregår.. Jeg fik en god ven, der kan finde ud af det, til at kigge på det. Og der var ind til flere fejl. Fx skal soeg1 have en betydning før man begynder at bruge den.
Jeg fik en til at hjælpe mig da du jo tydeligvis ikke magtede denne opgave.

Jeg stillede et spørgsmål hvor jeg skrev en kode og spurgte hvad der var galt med den.. Og så poster du bare et link til et andet sprøgsmål her på Eksperten.dk der ikke har det fjerneste med dette at gøre.. For det første er det ikke tilnærmelsesvis det samme vi søger, for det andet kan du, hvis du læser det sprøgsmål du henviser til igennem, se at sprøgeren vist ikke er helt glad for det svar hanhar fået.. Det ligner at du ikke har kunne finde fejlen og så bare siger at jeg selv skal gøre det.. Det lader vist ikke til at du har læst det der spørgsmål du henviser til igennem.. Er det bare et du hurtigt lige fandt nede i rubrikken med besvarede sprøgsmål eller hva'??
Det ligner det hvert falde..

Jeg erkender blankt at jeg er newbee til MySQL. Og der er også derfor at jeg kom hertil. Eksperten er IKKE kun for eksperter. For så ville der vist ikke være så meget at lave eller?? Det er meningen at newbee kan komme hertil og få hjælp. Og når jeg så spørger om der er en der vil rette min kode til, og forklare hvad fejlen var, så jeg kan lære af det, er det sku' ikke særlig fedt bare at blive svinet til med at jeg selv kan gøre det, og så bag efter få af vide at jeg ikke er lige så god som dig til det, og at jeg skal lære hvad der rent faktisk sker..

Det er sku' ergerligt at en person som dig med over 85.000 point skal være så pointfiseret, og blive så sur over ikke at få skide 15 point. Håber ikke for andre her på eksperten at det er dig der begynder at hjælpe dem!!

Så vidt jeg kan se har du da heller ikke haft helt står på det med JavaScript.. Men der har du da fået hjælp, og ikke bare blevet buet ud med at du selv kunne finde et svar..

Hver glad og hjælp dem på eksperten, i stedet for at blive ved at fortælle dem hvor dårlige de er. Ellers find dig et andet sted at skælde nogle ud på..

Man bliver sku' lidt ked af det, når man får af vide at man skal tage sig sammen.. Jeg fik MySQL for 4 dage siden og har læst et par bøger om det allerede.. Syntes sku' jeg er kommet rimlig godt ind i det.. Men når man så får af vide at man ikke er god nok til det, til at kunne stille spørgsmål herinde bliver man skuø' lidt ked..

Du har vel også engang været newbee.. ?? eller du er jo så perfekt.. Man begynder sku' at overveje om det er her man har lyst til at stille sine spørgsmål næste gang man har et problem..

Håber du forstår..
Nicklas B.
Avatar billede erikjacobsen Ekspert
04. juni 2002 - 21:16 #16
Det tog sin tid, inden jeg fik kigget så langt ned i din kode, at jeg så while-sætningen,
der manglede (+ lidt mere). Og det fik du så at vide, ud fra den antagelse, at du selv
ville kunne sammenligne med andre eksempler, og se hvad der var galt. Du fik også et link
til et tilfældigt spørgsmål, hvor du kunne se den while-løkke (se blot første kommentar)

Det er hjælp til selvhjælp, javist, og ikke det du skrev du ønskede. Derfor har jeg ikke
bedt om point ved at lave et svar. Jeg forventede faktisk at du inden du gik igang
med PHP og MySql havde sat dig så meget ind i det, at du umiddelbart kunne se den
manglende while-sætning og fikse det. Men det var så ikke tilfældet.

Skal du arbejde videre med PHP og MySql har jeg så også opfordret dig til at finde
ud af hvordan man gør, så du ikke bare får andre til at gøre det for dig.

Det var så forklaringen fra min side.

Jeg kan imidlertid ikke acceptere dine ubegrundede insinuationer om at jeg er pointgrisk, at jeg
er så inkompetent, at jeg ikke ville kunne løse dit problem (hvis jeg ellers ville og havde
tid).

Nu skal du ikke tro du har hele æren for det, men nu gider jeg ikke beskæftige mig mere
med eksperten.dk i lang, lang tid. Du var bare dråben...

Og du behøver ikke svare på dette indlæh, da al post fra eksperten.dk allerede nu ryger
direkte i papirkurven.
Avatar billede stigc Nybegynder
06. juni 2002 - 21:59 #17
nicklasb >> Du er jo helt gal på den..........
Avatar billede nicklasb Nybegynder
08. juni 2002 - 11:56 #18
Jeg ved nu ikke hvem det er der er galt på den, og er for sin vis også ligeglad.. Jeg er kun glad for at jeg ikke kan resikere at det er ham der hjælper mig næste gang..

Jeg tog mine point igen da jeg ikke følte jeg fik et ordentligt svar på mit spørgsmål i form af et link til et andet spørgsmål, jeg ikke kunne se havde noget me mit at gøre..

og så kommer han med sit "Du skal til at sigte lidt højere....nemlig at prøve at lære hvad der rent faktisk foregår"
Dette syntes jeg virker rimlig provokerende da jeg på det tidspunkt jeg stillede sprøgsmålet kun havde haft MySQL i 4-5 dage..

I alle andre spørgsmål kan man sprøge og få et ordentligt svar. Han kunne jo bare sige fra starten at der manglede en lykke og givet mig et eksempel på dette..

Jeg føler mig virkelig tråt på, når jeg gør alt hvad jeg kan for at lære det, og jeg så får af vide at jeg skal til at tage mig samme..
Han var nok gået alligevel før eller siden.. Nu havde han bare en undskyldning.. (sådan ser jeg det!)

Jeg gidder ikke diskutere dette videre her.. Hvis du vil mig noget eller har sprøgsmål til mig kan du kontakte mig på dennemail@bornstein.dk

/Nicklas B.
Avatar billede shjorth Nybegynder
20. juni 2002 - 22:08 #19
erik -> er det noget at fare sådan op over.. ?
Avatar billede eflow Nybegynder
21. juni 2002 - 17:44 #20
Erik har ikke i det her spm spurgt om point, og hvis du læser i tidligere spm er han rimelig ligeglad med point!
Hvad skal han bruge point til ? han kan ikke købe aftensmad for point ...

At han ikke lige skrev en while lykke er beklageligt, men hvorfor skrev du det ikke? jeg er helt sikker på at erik havde lavet en lille bitte while lykke hvis det var det der skulle til for at gøre dig glad.

Og ja, han havde sikkert droppet ud som mange andre før eller siden, som han skriver var det her bare det der fik bægret til at flyde over.

Jeg vil så lige tilføje at man skal sige A før B, en while lykke er en elementær ting i php, du burde have lært den før du begyndte at lave en søge formular.
Denne kommentar var ikke for at hakke ned på dig eller noget.
/eflow over and wayyyyy out!
Avatar billede shjorth Nybegynder
21. juni 2002 - 18:04 #21
ehrem.. man skal jo starte et sted.. om man starter med klasser eller simple input variabler, så skal man sq nok få det lært!
Avatar billede eflow Nybegynder
21. juni 2002 - 19:00 #22
websources>> ja man skal starte et sted, men derfor bygger man ikke taget på et hus før man har lavet væggene, vel ? *s*
Avatar billede pallepop Nybegynder
14. juli 2002 - 11:54 #23
Er det ikke typisk, at nogle mennesker tror at når de opretter et spørgsmål på eksperten, så kommer der et skrædersyet program, lieg efter deres ønske... Som om det er en gavebod for folk der tror at bare de har en hejmmeside, så bliver de også milionære.
Der er ikke noget at sige til, hvis dem som er istand til at hjælpe andre ikke gider fortsætte med at bruge eksperten.
mit råd til dig, nicklasb og andre af din slags : Køb jeres programmer fremover.
Avatar billede sesam Nybegynder
29. juli 2002 - 13:37 #24
Nicklasb: Jeg er selv nybegynder som dig og har op til flere gange nyt godt af Eriks og andres hjælp - SÅ HVAD MED AT UDVISE BARE EN LILLE SMULE RESPEKT FOR DEM DER HJÆLER OS - det er vel almindelig kutyme...
Avatar billede jjense21 Nybegynder
29. august 2002 - 18:31 #25
Fuldstændig enig med alle andre end nichlasb.
Det ligner ikke noget at overfuse end mand der forsøger at hjælpe dig. Han har jo ret i, at man ikke lærer noget af at "skrive af".
Din påstand om at erikjacobsen er pointgrisk og inkompetent er så ubegrundet og latterlig, at man kun kan smile af dig. Hvormange tror du har lyst til at hjælpe dig, hvis de ser hvordan du efterfølgende sviner den venlige sjæl til.
Når det så er sagt, så synes jeg nu erikjacobsen overreagerer lidt. Hvorfor ikke bare ignorere folk som nicklasb ?
Det er mit indtryk at langt de fleste brugere af eksperten godt kan opføre sig ordentligt. Du vil blive savnet for dine altid hurtige og kompetente svar. Håber snart at du kommer tilbage.
Avatar billede grayholm Nybegynder
19. oktober 2002 - 23:47 #26
Pointfikseret er han i hverfald da ikke - Se link!

http://www.eksperten.dk/spm/68581
Avatar billede perh Juniormester
07. december 2002 - 13:31 #27
erikjacobsen>> jeg forstår din reaktion "ferie på ubestemt tid" , men håber du snart er på igen.
Vi er mange, der har haft meget stor gavn af dine gode svar!
Avatar billede Slettet bruger
11. december 2002 - 22:39 #28
erikjjacobsen> Al respekt herfra - og tak for al hjælp. Håber at se dig herinde igen.
Avatar billede dj Nybegynder
18. januar 2003 - 18:41 #29
Eksperten er jo mere eller mindre død. Det der startede som et idealistisk tiltag om et community hvor man hjalp hinanden uden at forvente noget til gengæld er jo vendt om til et kapitalistisk site med reklamer ud over det hele og communitiet er blevet til en flok hatte der bare forventer at få svar på alt, istedet for at være taknemmelig for at nogen gidder at bruge tid på dem.

Synd og skam at det går ud over folk som Erik, men ses vi ikke på eksperten, håber jeg at få dig som underviser næste semester ;)
Avatar billede morten_dyrekilde Nybegynder
19. januar 2003 - 22:37 #30
Jeg kan slet ikke se hvad problemet er for niklasb. Utroligt at han ikke kan forstå hvad selve konceptet er... Dygtige og hjælpsomme mennesker hjælper folk videre med deres computer relaterede problemer. Senere ken de behjulpne hjælpe andre osv. Hvis man ikke forstår konceptet er det ærgeligt og den slags opførsel kan for mig at se dårligt nok tilgives. Jeg har selv holdt en længere pause både med programmering og med eksperten, hvor jeg tidligere har været meget aktiv og det skyldtes netop dette fænomen. Folk som kommer for at få hjælp i stedet for at få udbytte.

Det er beklageligt og derfor er jeg glad for at se, at erikclausen er tilbage igen for jeg har i al den tid jeg har været på sitet udelukkende nydt hans kompetente og underfundige indlæg. Ikke en skamros, men jeg har dog alligevel respekt for folk som går så meget op i deres interesse, at de ikke noget imod at dele ud.
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