/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Oprettelse af søgefelt, der bruger MySQL
Fra : Britt Malka


Dato : 08-10-03 23:43

Godaften

Jeg har brugt PHPNuke til min site www.tips-og-tricks.com, men jeg er
ærlig talt træt af udseendet og så det, at jeg ikke kan finde ud af at
rette eventuelle fejl, som at folk fx ikke kan få adgang til forum.

Derfor er jeg startet - noget ambitiøst - på at lave det hele om, men
foreløbigt er jeg kun nået til HTML og CSS delen - og så søgefeltet,
der gerne skulle gøre brug af databasen fra PHPNuke siden.

Jeg regner nemlig med at genbruge de nødvendige tabeller derfra.

På Webcafe fandt jeg et forslag til kode, siden jeg ikke selv kunne
finde ud af det, men det virker ikke

Kender I til nogle ikke alt for indviklede tutorials, som jeg kan
bruge til at lave mit søgefelt med? Jeg fandt nogle stykker i går, men
heller ikke dem, kunne jeg få til at virke. Det skal til mit forsvar
siges, at der var flere fejl i den ene af dem, fx glemte bogstaver i
kommandoer og sådan...

Jeg vil gerne have mit søgeresultat til at vise linket til rette sted,
overskriften og starten af teksten i artiklen.
--
Med venlig hilsen
Britt Malka

Få Tips & Tricks og ny inspiration til hjemmesiden m.m. - www.tips-og-tricks.com/tilmeld.html

 
 
Jesper Brunholm (09-10-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 09-10-03 06:33

Britt Malka wrote:
> Jeg har brugt PHPNuke til min site www.tips-og-tricks.com, men jeg er
> ærlig talt træt af udseendet og så det, at jeg ikke kan finde ud af at
> rette eventuelle fejl, som at folk fx ikke kan få adgang til forum.
>
> Derfor er jeg startet - noget ambitiøst - på at lave det hele om, men
> foreløbigt er jeg kun nået til HTML og CSS delen - og så søgefeltet,
> der gerne skulle gøre brug af databasen fra PHPNuke siden.

Hvis det er HTML og CSS delen den er gal med er det ikke her du skal
spørge - det er du klar på ikke?

Hvis det er forbindelsen fra søgefeltets input-field til dit script, så
er det godt nok her, men fortæl lidt om hvad du har gjort, så er det
lettere at hjælpe.

_Måske_ er det en god idé at lave et (eller flere) mindre projekter
inden du kaster dig over den opgave at rette et CMS skrevet af andre -
det sidste kan godt være noget af en hardcore opgave selv for ret
rutinerede php-programmører

mvh

Jesper Brunholm


Britt Malka (09-10-2003)
Kommentar
Fra : Britt Malka


Dato : 09-10-03 23:26

On Thu, 09 Oct 2003 07:32:37 +0200, Jesper Brunholm
<nospam@brunholm-scharff.dk> wrote:

>Hvis det er HTML og CSS delen den er gal med er det ikke her du skal
>spørge - det er du klar på ikke?

Jo, og jeg var faktisk også lidt i tvivl med hensyn til MySQL, men
vores udbyder tilbyder i hvert fald ikke nogen danske gruppe om dette,
så jeg vovede springet med mit spørgsmål.


>Hvis det er forbindelsen fra søgefeltets input-field til dit script, så
>er det godt nok her, men fortæl lidt om hvad du har gjort, så er det
>lettere at hjælpe.

Jeg har en PHPNuke oprettet database, hvor jeg skal bruge oplysninger
fra en af tabellerne. Oplysningerne ligger i felterne "title",
"hometext" og "bodytext".

Den kode, jeg har tilpasset (kun rettet felternes navne) ser således
ud:

¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,


$ind = strtolower($_REQUEST['query']);
$side[0] = $_REQUEST['side1']; // 1,10,20,30 ... fra
$side[1] = $_REQUEST['side2']; // 10,20,30 ... til

$resultat = mysql_query("select * from nuke_stories where title like
%$ind% or hometext like %$ind% or bodytext like %$ind% order by title
limit $side[0],$side[1]") or die (mysql_errno().":
".mysql_error()."<BR>");


print '<table border="0" width="50%" align="center">';
while ($row = mysql_fetch_array($resultat)) {
print '
<tr>
<td>'.$row['title'].'</td>
<td>'.$row['hometext'].'</td>
<td>'.$row['bodytext'].'</td>
</tr>';
}
print '</table>';

¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,


Som du kan se på http://www.tips-og-tricks.com/nyside ved at lave en
søgning, så kommer der en fejl, der siger, at der er noget galt nær

$resultat = mysql_query("select * from nuke_stories where title like
%$ind% or hometext like %$ind% or bodytext like %$ind% order by title
limit $side[0],$side[1]")

>_Måske_ er det en god idé at lave et (eller flere) mindre projekter
>inden du kaster dig over den opgave at rette et CMS skrevet af andre -
>det sidste kan godt være noget af en hardcore opgave selv for ret
>rutinerede php-programmører

Ja, jeg ved det, jeg har det altid med at springe til de opgaver, der
interesserer mig i stedet for at lave småøvelserne. Jeg har lavet et
par mindre opgaver, men jeg troede faktisk ikke, at det var så svært
at lave et søgefelt. Jeg håber, at resten er lettere...

Problemet er også, at jeg ikke kan bruge et færdigt søgefelt, fordi
jeg skal have søgt i databasen og ikke i teksten.
--
Britt Malka
Få Tips & Tricks og ny inspiration til hjemmesiden m.m. - www.tips-og-tricks.com/tilmeld.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Bjarne (09-10-2003)
Kommentar
Fra : Bjarne


Dato : 09-10-03 23:38

On Thu, 09 Oct 2003 22:26:24 +0000, Britt Malka wrote:

> Jeg har en PHPNuke oprettet database, hvor jeg skal bruge oplysninger
> fra en af tabellerne. Oplysningerne ligger i felterne "title",
> "hometext" og "bodytext".
>
> Den kode, jeg har tilpasset (kun rettet felternes navne) ser således
> ud:
>
> ¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,
>
>
> $ind = strtolower($_REQUEST['query']);
> $side[0] = $_REQUEST['side1']; // 1,10,20,30 ... fra
> $side[1] = $_REQUEST['side2']; // 10,20,30 ... til
>
> $resultat = mysql_query("select * from nuke_stories where title like
> %$ind% or hometext like %$ind% or bodytext like %$ind% order by title
> limit $side[0],$side[1]") or die (mysql_errno().":
> ".mysql_error()."<BR>");

Prøv at sætte single-quotes ' ' omkring dit input, sådan her:

$query = "SELECT * FROM nuke_stories WHERE title LIKE '%$ind%' OR hometext
LIKE '%$ind%' OR bodytext LIKE '%$ind%' ORDER BY title LIMIT $side[0],
$side[1]";
$resultat = mysql_query($query) or die(...);

<KLIP>

> ¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,

Sødt

Mvh
--
/* Bjarne */

"Fate just isn't what it used to be!"
- Hobbes


Britt Malka (10-10-2003)
Kommentar
Fra : Britt Malka


Dato : 10-10-03 16:24

Hej Bjarne

On Fri, 10 Oct 2003 00:38:26 +0200, Bjarne <spam@spaceball.dk> wrote:

>Prøv at sætte single-quotes ' ' omkring dit input, sådan her:
>
>$query = "SELECT * FROM nuke_stories WHERE title LIKE '%$ind%' OR hometext

Det kunne desværre ikke gøre det, så jeg startede helt forfra og
prøvede helt selv i stedet for at bruge noget, jeg havde fundet et
sted, og det virkede til sidst (hoppe, hoppe)

Der SKAL ganske rigtigt også være ' rundt om inputtet.

Der er kun en enkelt ting, jeg ikke kunne få til at virke, og det er,
at den skriver: Beklager, der blev ikke fundet nogen resultater...
orv, nu tror jeg, jeg ved, hvordan det kan gøres. For lige nu har jeg
snydt lidt :) Men det virker:

http://www.tips-og-tricks.com/nyside

Så tak for at have ledt mig på rette vej.


>> ¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,¸¸,ø¤º°'°º¤ø,
>
>Sødt

Tak - det bølger

--
Britt Malka
Få Tips & Tricks og ny inspiration til hjemmesiden m.m. - www.tips-og-tricks.com/tilmeld.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste