Avatar billede krydset Nybegynder
15. august 2003 - 19:47 Der er 17 kommentarer og
1 løsning

et simpelt søgescript.

Hej eksperter.

jeg skal have lavet et simpelt søgescript.
det skal kunne søge i et feltnavn der hedder "navn" som ligger i en tabel der hedder "adresse". det er det eneste det skal kunne.

kan i hjælpe mig med det??
Avatar billede krydset Nybegynder
15. august 2003 - 19:47 #1
formen har jeg!!!
Avatar billede tipsen Nybegynder
15. august 2003 - 19:57 #2
Skal det kun lave eksakte matches?
Avatar billede krydset Nybegynder
15. august 2003 - 20:05 #3
hvis jeg i søgeboksen skriver thomas skal det leverer allt navne der starter med thomas :-O
Avatar billede krydset Nybegynder
15. august 2003 - 20:06 #4
det er det det skal kunne, skal nok selv ligge adresse osv ind senere
Avatar billede detox Nybegynder
15. august 2003 - 21:19 #5
Form:
----

<form action="test.php" method="post">
Navn: <input name="hvem" type="text">
<input name="send" type="submit" value="Find">
</form>

test.php
--------

<?
require ('connect.inc.php');
if (isset($_POST['send'])) {
    $hvem = $_POST['hvem'];
    $res = mysql_query("SELECT * FROM test WHERE fornavn='$hvem'");
    while ($row = mysql_fetch_row($res)) {
        foreach($row as $item) {
            echo "Data: " . $item . "<br />";
        }
    }
}
?>
Avatar billede krydset Nybegynder
15. august 2003 - 22:49 #6
der er ingen fejl på det, men jeg kan ikke få noget output fra det.


her er scriptet


<form action="soeg_res.php" method="post">
Navn: <input name="hvem" type="text">
<input name="send" type="submit" value="Find">
</form>

<?
require ('dbconnect.php');
if (isset($_POST['send'])) {
    $hvem = $_POST['hvem'];
    $res = mysql_query("SELECT * FROM adresse WHERE navn='$hvem'");
    while ($row = mysql_fetch_row($res)) {
        foreach($row as $item) {
            echo "Data: " . $item . "<br />";
        }
    }
}
?>
Avatar billede detox Nybegynder
15. august 2003 - 22:52 #7
Prøv evt.:

$res = mysql_query("SELECT * FROM adresse WHERE navn='$hvem'") or die(mysql_error());

PS: Jeg er nødt til at løbe, håber du får det til at du.
Avatar billede detox Nybegynder
15. august 2003 - 22:54 #8
Ellers:

$res = mysql_query("SELECT * FROM adresse WHERE navn LIKE '%$hvem%'") or die(mysql_error());
Avatar billede nicklasb Nybegynder
16. august 2003 - 09:31 #9
detox -> Med den du har skrevet vil den også finde alle dem der hedder thomassen til efternavn. Måske ikke mange der gør det, men tænk tanken videre og tænk så evt. på et navn som jens. Der vil den også finde Ole Jensen.

Og nu vi er ved den. Hvis du ved ved hvor i strengen dataene ligger er det ikke særlig smart at bruge LIKE. LIKE er meget langsom i folhold til fx SUBSTRING ...
Avatar billede detox Nybegynder
16. august 2003 - 09:43 #10
niclasb-> Ok, det kan du have ret i, det burde nok være: LIKE '% $hvem %'.
Nu ved jeg ikke med hensyn til hastigheden, men du har sikkert ret. Så hvis navnet fx er det første der står i feltet (eller på en fast plads), vil det jo være oplagt med substring.
Avatar billede detox Nybegynder
16. august 2003 - 09:47 #11
Men det er selvfølgelig svært at give et entydigt svar uden at kende indholdet af tabellen lidt nærmere.
Avatar billede krydset Nybegynder
16. august 2003 - 11:21 #12
det virker fint detox, men kan man ikke lave så hvis den finder 2 poster at den så laver mellemrum mellem de 2 poster
Avatar billede krydset Nybegynder
16. august 2003 - 11:26 #13
jeg skriver tabellen

"navn" indeholder fornavn/efternavn
"adresse" indeholder adresse
"nr" indeholder gadenr.
"postnr" indeholder postnr
"email" indeholder Email
"tlf" indeholder tlfNR
"mobilnr" indeholder mobil nr
"icq" indeholder icq
"messenger" indejholder "messenger id

ville det være smart at lave feltet navn om til 2 felter som hedder fornavn og efternavn??
Avatar billede detox Nybegynder
16. august 2003 - 16:12 #14
Jeg er ikke helt sikker på hvilken kode du bruger mht mellemrum, men selvfølgelig kan det lade sig gøre.
Jeg vil anbefale at ligge fornavn og efternavn i hvert sit felt. Det vil gøre søgninger hurtigere og mere fleksible.
Avatar billede krydset Nybegynder
16. august 2003 - 18:17 #15
det vil jeg gøre.

men kan du ikke lave et eks, hvor den deler posterene op mit script er som ovenstående.
Avatar billede detox Nybegynder
16. august 2003 - 18:55 #16
Ved ikke lige hvad du mener. Hvad er det lige præcis du ønsker?
Avatar billede krydset Nybegynder
11. oktober 2003 - 09:28 #17
hmmm det gik vist i stå her
Avatar billede tipsen Nybegynder
11. oktober 2003 - 18:27 #18
Selvfølgelig går det i stå, hvis du ikke angiver, hvad du ønsker.
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