Avatar billede condor9 Nybegynder
05. november 2003 - 14:09 Der er 10 kommentarer og
1 løsning

Fritekst søgeside med dropdown boks til valg af tabel

Jeg er løbet ind i et lille problem.

Jeg har en søgeside som jeg ved virker, den ser sådan her ud:

<?php
echo "
<Form method='post' action='index.php'>
<input type='text' name='soegeord' size='20'><input type='submit' value='Submit' name='B1'>
</form>
";
$host = "localhost";
$user = "remote";
$pass = "remote";
$db = "test-remote";
$Navn = $_POST['Navn'];
$Kunde = $_POST['Kunde'];
$Adr = $_POST['adr'];
$Nr = $_POST['Nr'];
$Eq = $_POST['Eq'];
$soegeord = $_POST['soegeord'];

mysql_connect("$host", "$user", "$pass");
mysql_select_db($db);

if ($_POST['soegeord']) {
    echo "Soegeord: $_POST[soegeord]<br/><br/>";
    $query = mysql_query("SELECT * FROM Kunde WHERE Nr LIKE '%$_POST[soegeord]%' OR Navn LIKE '%$_POST[soegeord]%' OR Adr LIKE '%$_POST[soegeord]%'") or die(mysql_error());

  echo "<table border='0' cellspacing='0' width='250' align='center'>
<tr><td width='100%' align='center'><span class='tekst3'>Udtræk fra database.<BR></span></div></td></tr>
<table width='650' align='center' style='border: 1px solid rgb(0,0,0)'>
  <tr>
    <td width='65'><span class='tekst3'>Nummer</span></td>
    <td width='380'><span class='tekst3'>Kunde Navn</span></td>
    <td width='70'><span class='tekst3'>SW.</span></td>
    <td width='105'><span class='tekst3'>Type</span></td>
  </tr>
</table>
<table width='650' align='center' style='border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-bottom: 1px solid rgb(0,0,0)'>";
    while ($row = mysql_fetch_array($query)) {
        if ($row) {
echo "<tr>
    <td width='65'><span class='tekst3'>$row[Nr]</span></td>
    <td width='380'><span class='tekst3'>$row[Navn]</span></td>
    <td width='70'><span class='tekst3'>$row[Sw]</span></td>
    <td width='105'><span class='tekst3'>$row[Eq]</span></td>
    </tr>";
  }



echo "
<title>Lg Database</title>
<link rel='stylesheet' type='text/css' href='homepage.css'>

";


    }
  }
echo "</table>";
mysql_close();
?>

Så er det at jeg gerne vil putte en dropdown boks ind til at vælge hvilken tabel i min database jeg vil søge i, der har jeg prøvet mig frem til flg. men jeg kan ikke får det til at virke. Det ser sådan ud det jeg har prøvet på:

<?php
echo "
<Form method='post' action='index.php'>
<select name='kategori' size='1'>
    <option value='adr'>Adresse</option>
    <option value='Navn'>Navn</option>
    <option value='Nr'>Nummer</option>
  </select>
<input type='text' name='soegeord' size='20'><input type='submit' value='Submit' name='B1'>
</form>
";
$host = "localhost";
$user = "remote";
$pass = "remote";
$db = "test-remote";
$Navn = $_POST['Navn'];
$Kunde = $_POST['Kunde'];
$Adr = $_POST['adr'];
$Nr = $_POST['Nr'];
$Eq = $_POST['Eq'];
$soegeord = $_POST['soegeord'];
$kategori = $_POST['kategori'];

mysql_connect("$host", "$user", "$pass");
mysql_select_db($db);

if ($_POST['soegeord']) {

    echo "Soegeord: $_POST[soegeord]<br/><br/>";

    $query = mysql_query("SELECT * FROM Kunde WHERE kategori='$_POST[kategori]' and soegeord LIKE '%$_POST[soegeord]%'") or die(mysql_error());
  echo "<table border='0' cellspacing='0' width='250' align='center'>
<tr><td width='100%' align='center'><span class='tekst3'>Udtræk fra database.<BR></span></div></td></tr>
<table width='650' align='center' style='border: 1px solid rgb(0,0,0)'>
  <tr>
    <td width='65'><span class='tekst3'>Nummer</span></td>
    <td width='380'><span class='tekst3'>Kunde Navn</span></td>
    <td width='70'><span class='tekst3'>SW.</span></td>
    <td width='105'><span class='tekst3'>Type</span></td>
  </tr>
</table>
<table width='650' align='center' style='border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-bottom: 1px solid rgb(0,0,0)'>";
    while ($row = mysql_fetch_array($query)) {
        if ($row) {
echo "<tr>
    <td width='65'><span class='tekst3'>$row[Nr]</span></td>
    <td width='380'><span class='tekst3'>$row[Navn]</span></td>
    <td width='70'><span class='tekst3'>$row[Sw]</span></td>
    <td width='105'><span class='tekst3'>$row[Eq]</span></td>
    </tr>";
  }



echo "
<title>Lg Database</title>
<link rel='stylesheet' type='text/css' href='homepage.css'>

";


    }
  }
echo "</table>";
mysql_close();
?>

Er er nogle der kan se hvad jeg gør galt ?
Avatar billede condor9 Nybegynder
05. november 2003 - 14:11 #1
Hov, jeg glemte helt at skrive hvad der er galt :o)

Når jeg prøver og søge, så kommer den og siger: Unknown colum 'kategori' in 'where clause'

:o)
Avatar billede Slettet bruger
05. november 2003 - 14:15 #2
Findes kolonnen kategori i tabellen?
Avatar billede condor9 Nybegynder
05. november 2003 - 14:17 #3
Nej, det gør den ikke.
Avatar billede ztyxx Nybegynder
05. november 2003 - 14:20 #4
hehe, så er den fejl jo fundet
Avatar billede condor9 Nybegynder
05. november 2003 - 14:21 #5
Er det ikke noget med at det skal se sådan her ud ?
$query = mysql_query("SELECT * FROM Kunde WHERE kategori LIKE '%$_POST[soegeord]%'") or die(mysql_error());

I stedet for kategori som tabellen kunne have heddet, skal den henvise til dropdownboksen hvor tabellens navn står, det vil så sige at man i dropdown boksen skal kunne vælge hvilken tabel den skal søge i
Avatar billede condor9 Nybegynder
05. november 2003 - 14:22 #6
Jeg kan godt selv se det med at den søger i en tabel der hedder kategori.
Avatar billede Slettet bruger
05. november 2003 - 14:24 #7
Jo...

Så kan du jo bare sige

$sql = "SELECT * FROM Kunde WHERE " . $_POST['kategori'] . " LIKE '%" . $_POST['soegeord'] . "%'";
$query = mysql_query($sql) or die(mysql_error());

Og så har jeg også ryddet lidt op i koden så den er lidt mere strict ;)
Avatar billede condor9 Nybegynder
05. november 2003 - 14:33 #8
går den så op og kigger i dropdownboksen, og ud fra hvad der er valgt der, søger i den pågældende tabel i databasen ?
Avatar billede condor9 Nybegynder
05. november 2003 - 14:43 #9
Det virker nu :o) mange tak for hjælpen.. Smid lige et svar, så får du points..
Avatar billede Slettet bruger
05. november 2003 - 14:49 #10
Ja :)
Du kan jo prøve
Avatar billede Slettet bruger
05. november 2003 - 14:49 #11
Så skidt da ;)
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
Computerworld tilbyder specialiserede kurser i database-management

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