Avatar billede xeox Nybegynder
26. juni 2003 - 10:52 Der er 26 kommentarer og
3 løsninger

Søger Søgefunk. til mysql

Er der ikke en som har en søgefunktion til mysql liggende som de kan smide op til mig.. jeg har prøvet med dem fra thomaslunde.dk osv. men kan bare ikke få dem til at virke.. det er meget vigtigt jeg får en meget snart.. jeg håber i kan hjælpe mig med en der virker, som i evt. selv bruger?

/xeox
Avatar billede ztyxx Nybegynder
26. juni 2003 - 10:59 #1
Avatar billede detox Nybegynder
26. juni 2003 - 11:09 #2
Det kommer jo meget an på hvad du vil søge efter og hvordan din tabelstruktur ser ud. Du må nok uddybe det lidt.
Avatar billede xeox Nybegynder
26. juni 2003 - 11:11 #3
jeg skal søge efter brugerid og brugernavn

min struktur?
Avatar billede detox Nybegynder
26. juni 2003 - 11:15 #4
Ja, jeg tænker på hvilke felter du har i tabelen.
Hvis du skal finde en bestemt bruger, er det noget i den her stil:
SELECT * FROM tabel WHERE brugerid=$brugerid && brugernavn=$brugernavn
Avatar billede xeox Nybegynder
26. juni 2003 - 11:18 #5
de hedder usrid, usrname dem jeg skal kunne søge data fra..

ja jeg takker du vil hjælpe mig .. men har du ikke et helt script liggende som du kunne smide op eller noget :/
Avatar billede detox Nybegynder
26. juni 2003 - 11:24 #6
Jo, jeg skal lige se om jeg kan rette noget til.
Avatar billede angam Nybegynder
26. juni 2003 - 11:25 #7
$sql = "SELECT * FROM tabelnavn WHERE usrid LIKE '%$brugerid%' OR usrname LIKE '%$brugernavn%'";

burde kunne klare opgaven
Avatar billede xeox Nybegynder
26. juni 2003 - 11:25 #8
oki .. det lyder bare rigtig godt !!
Avatar billede avminarm Juniormester
26. juni 2003 - 11:25 #9
du kan finde en god artikel her: http://www.devarticles.com/art/1/483
Avatar billede angam Nybegynder
26. juni 2003 - 11:25 #10
LIKE gør at du får resultater på delstrenge (hvis det var meningen) - OR går at du kan søge på brugerid ELLER navn - brug AND hvis både brugerid og navn skal matche.
Avatar billede detox Nybegynder
26. juni 2003 - 11:29 #11
men skal usrid og usrname være noget man skal taste ind, eller hvor kommer de fra.
Avatar billede xeox Nybegynder
26. juni 2003 - 11:32 #12
i textfeltet (søg) skal man skrive usrname og så trykker man find/søg og så kommer der usrid med usrname bagefter :)
Avatar billede avminarm Juniormester
26. juni 2003 - 11:44 #13
<form method="POST" action="<? echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="bid">
<input type="text" name="bnavn">
<input type="submit" value="søg">
</form>

<?php
$brugerid = $_POST['bid'];
$brugernavn = $_POST['bnavn'];
$sql = "SELECT * FROM tabelnavn WHERE usrid LIKE '%$brugerid%' OR usrname LIKE '%$brugernavn%'";
//og så hives res ud
?>
Avatar billede detox Nybegynder
26. juni 2003 - 11:46 #14
Ok, prøv den her. Du skal lige rette den med dit brugernavn, adgangsord, databasenavn og tabelnavn til din database.
<html>
<head>
<title> titel </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
if (isset($_POST['usrname'])) {
$usrname = $_POST['usrname'];
$s = mysql_connect("localhost", "user", "*******")
      or die("Could not connect: " . mysql_error());
$d = mysql_select_db('database');
      $sql = "SELECT * FROM tabel WHERE usrname='$usrname'";
      $res = mysql_query($sql)
      or die("Fejl: " . mysql_error());
          if (mysql_num_rows($res)>0) {
            $out = "";
        while ($row = mysql_fetch_array($res)) {
            $out .= "Bruger: " . $row['usrname'] . " Id: " . $row[usrid] ."<br>";
                                            }
                                    }
print $out;                                   
}
?>
<form action="<? echo $_SERVER['PHP_SELF'];?>" method="post">
Søg: <input name="usrname" type="text"><br>
<input name="send" type="submit" value="send">
</form>
</body>
</html>
Avatar billede avminarm Juniormester
26. juni 2003 - 11:47 #15
du akl nok lige:
<form method="POST" action="<? echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="bid">
<input type="text" name="bnavn">
<input type="submit" name="submit" value="søg">
</form>

<?php
if(isset($_POST['submit']){

$brugerid = $_POST['bid'];
$brugernavn = $_POST['bnavn'];
$sql = "SELECT * FROM tabelnavn WHERE usrid LIKE '%$brugerid%' OR usrname LIKE '%$brugernavn%'";
//og så hives res ud

}
?>
Avatar billede angam Nybegynder
26. juni 2003 - 11:47 #16
<form method="POST" action="<? echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="searchstring"><input type="submit" value="søg">
</form>

<?php
$search = $_POST['searchstring'];
$sql = "SELECT * FROM tabelnavn WHERE usrid LIKE '%$search%' OR usrname LIKE '%$search%'";
?>

Kombinationen af min og avminarm's løsning: Nu er der ét inputfelt, der søger både i UserId og UserName. Der er vel ingen grund til to input-felter?

(Hvis der er det, er avminarm's løsning god nok)
Avatar billede detox Nybegynder
26. juni 2003 - 11:55 #17
Ja, det giver mening at bruge LIKE, hvis brugernavnet ikke er indtastet præcist, hvis det var det du mente med søgefunktion.
Avatar billede detox Nybegynder
26. juni 2003 - 12:04 #18
$out .= "Bruger: " . $row['usrname'] . " Id: " . $row['usrid'] ."<br>";
Der manglede lige et par '' c",)
Avatar billede xeox Nybegynder
26. juni 2003 - 12:20 #19
jeg tror det virker.. men har bare et lille problem med min mysql nu :).. hvis min mysql database ligger på selve min adr. f.eks xoex.dk/mysql skal jeg så skrive ipen i host.. og hvis der ingen kode er på hvad skal jeg så skrive?
Avatar billede angam Nybegynder
26. juni 2003 - 12:21 #20
Som host skriver du bare "localhost", username="<username>", password=""
Avatar billede angam Nybegynder
26. juni 2003 - 12:22 #21
..øhh altså hvis din mysql kører på samme maskine som webserveren.
Avatar billede xeox Nybegynder
26. juni 2003 - 12:24 #22
jeg har intet brugernavn og intet password på min mysql som ligger i samme mappe som min side.. som f.eks. xeox.dk/mysql .. der kan du gå direkte ind i DB.
Avatar billede xeox Nybegynder
26. juni 2003 - 12:25 #23
mysql_connect("localhost", "", "")
      or die("Could not connect: " . mysql_error());
sådan her eller?
Avatar billede angam Nybegynder
26. juni 2003 - 12:25 #24
Prøv "root" som brugernavn - det er default hvis ikke du ændrer noget under opsætningen af MySql. Password er iøvrigt "" som default.
Avatar billede detox Nybegynder
26. juni 2003 - 12:31 #25
Måske:
mysql_connect("localhost", "root")
      or die("Could not connect: " . mysql_error());
Avatar billede xeox Nybegynder
26. juni 2003 - 12:41 #26
så fik jeg det hele fixet .. tusind tak for hjælpen alle sammen .. detox du vil ikke have points  eller ?
Avatar billede detox Nybegynder
26. juni 2003 - 12:46 #27
Jo, hvis der var noget du kunne bruge c",)
Avatar billede xeox Nybegynder
26. juni 2003 - 12:55 #28
jep ;D
Avatar billede xeox Nybegynder
26. juni 2003 - 12:56 #29
Så lukker vi her.

Lukket !
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