Avatar billede sj.netomia Nybegynder
17. april 2007 - 10:03 Der er 9 kommentarer og
1 løsning

søgning skal kædes sammen.

Hej Eksperter.

Så har jeg endnu et spørgsmål, jeg kan ikke få kædet mine 2 søgninger sammen til en, kan i hjælpe mig.

her er scriptet


<form action="tilmeldte.php" method="get" name="soeg3"><FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1">
Søg: <input type="text" name="search" size=50>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" SIZE="1"><br>Der en søges i navne, adresser, postnumre og byer.<br>
<b>Vis kun:</b> Private:<input type="radio" name="search_string" value="privat">
&nbsp;&nbsp;&nbsp;Firmaer:<input type="radio" name="search_string" value="virksomhed">
&nbsp;&nbsp;&nbsp;Maleri:<input type="radio" name="search_string" value="maleri">
&nbsp;&nbsp;&nbsp;Grafik:<input type="radio" name="search_string" value="grafik">
&nbsp;&nbsp;&nbsp;Skulptur:<input type="radio" name="search_string" value="skulptur">
&nbsp;&nbsp;&nbsp;Museum:<input type="radio" name="search_string" value="museum">
&nbsp;&nbsp;&nbsp;Kunstforening:<input type="radio" name="search_string" value="kunstforening"><br><input type="submit" name="sog2" value="Søg"></FONT></font></form></font>


<?
require ('db_info.php');

if ($search_string) {
print "<table class=\"generic\" cellspacing=\"0\">
          <col width=\"200\">
          <col width=\"200\">
          <col width=\"200\">
          <thead>
          <tr class=\"generic\">
          <th>e-mail</th>
          <th>Navn</th>
          <th>Firma</th>
          </tr>
          </thead>
          <tbody>
          <tr class=\"spacer\"><td colspan=\"10\"></td></tr>
          </tbody>";
$query        ="SELECT * FROM nyhedsbrev where $search_string='ja' order by navn;";
$result        = mysql_db_query ($database, $query);
$number = mysql_num_rows($result);
    if ($number == "1") {
      print "<FONT FACE=\"Verdana, Arial, Helvetica, sans-serif\" SIZE=\"1\">Der blev fundet $number resultat</FONT><br><br>";
      }
      elseif ($number > "1") {
      print "<FONT FACE=\"Verdana, Arial, Helvetica, sans-serif\" SIZE=\"1\">Der blev fundet $number resultater</FONT><br><br>";
      }
    while($row = mysql_fetch_array($result)){
        $firma    = $row[firma];
        $id      = $row[id];
        $email    = $row[email];
        $navn    = $row[navn];
        if ($firma == "") {
            $firma="Ingen Firma";
        }
    print "<tbody>
          <tr class=\"generic\">
          <td><a href=\"$PHP_SELF?info=1&info_id=$row[id]&soeg=1\"><font color=\"black\">$email</a></td>
          <td>$navn</td>
          <td>$firma</td>
          <tr class=\"generic-withspacer\">
          </tr>";
    }

          }

          elseif ($sog2) {
    print ("<FONT FACE=\"Verdana, Arial, Helvetica, sans-serif\" SIZE=\"1\"><b>Du skal skrive et søgeord</b>");
    print ("<br><br><a href=\"java script:history.back()\"><font color=\"black\">Tilbage</font></a></FONT>");
    exit();
    }


if ($search) {
  $query = "SELECT * FROM nyhedsbrev where firma like '%$search%' OR navn like '%$search%' OR adresse1 like '%$search%'
  OR adresse2 like '%$search%' OR postby like '%$search%' OR email like '%$search%';";
  $result = mysql_db_query ($database, $query);
  $number = mysql_num_rows($result);
  if ($number == "1") {
      print "<FONT FACE=\"Verdana, Arial, Helvetica, sans-serif\" SIZE=\"1\">Der blev fundet $number person med søgeordet <b>$search</b></FONT><br><br>";
      }
      elseif ($number > "1") {
      print "<FONT FACE=\"Verdana, Arial, Helvetica, sans-serif\" SIZE=\"1\">Der blev fundet $number personer med søgeordet <b>$search</b></FONT><br><br>";
      }
        print "<table class=\"generic\" cellspacing=\"0\">
          <col width=\"200\">
          <col width=\"200\">
          <col width=\"200\">
          <thead>
          <tr class=\"generic\">
          <th>e-mail</th>
          <th>Navn</th>
          <th>Firma</th>
          </tr>
          </thead>
          <tbody>
          <tr class=\"spacer\"><td colspan=\"10\"></td></tr>
          </tbody>";
  if ($number > 0) {
    while($row = mysql_fetch_array($result)) {
        $firma    = $row[firma];
        $id      = $row[id];
        $email    = $row[email];
        $navn    = $row[navn];
        if ($firma == "") {
            $firma="Ingen Firma";
        }
          print "<tbody>
          <tr class=\"generic\">
          <td><a href=\"$PHP_SELF?info=1&info_id=$row[id]&soeg=1\"><font color=\"black\">$email</a></td>
          <td>$navn</td>
          <td>$firma</td>
          <tr class=\"generic-withspacer\">
          </tr>";

    }
  }
              print "</table><table><tr><td><br><a href=\"$PHP_SELF?info=vis\"><font color=\"black\">Tilbage</font></a></td></tr></table>";
}


elseif ($sog) {
    print ("<FONT FACE=\"Verdana, Arial, Helvetica, sans-serif\" SIZE=\"1\"><b>Du skal skrive et søgeord</b>");
    print ("<br><br><a href=\"java script:history.back()\"><font color=\"black\">Tilbage</font></a></FONT>");
    exit();
    }
Avatar billede jakobdo Ekspert
17. april 2007 - 10:32 #1
I stedet for alt koden, hvad er det så du gerne vil opnå via en søgning?
Som du i dag laver via 2?
Avatar billede sj.netomia Nybegynder
17. april 2007 - 10:49 #2
jeg vil gerne opnå at kunne søge på f.eks
navn Peter og søgningen skal kun vise private.

Så skal jeg udskrive

navn: peter privat:ja

Altså kæde de 2 søgninger sammen, så man kan søge på 2 ting på en gang.
Avatar billede sj.netomia Nybegynder
17. april 2007 - 12:37 #3
nogen der kan hjælpe mig ?
Avatar billede sj.netomia Nybegynder
17. april 2007 - 13:03 #4
altså de 2 query skal kædes sammen så det bliver til en søgning.

$query ="SELECT * FROM nyhedsbrev where $search_string='ja' order by navn;";

$query = "SELECT * FROM nyhedsbrev where firma like '%$search%' OR navn like '%$search%' OR adresse1 like '%$search%' OR adresse2 like '%$search%' OR postby like '%$search%' OR email like '%$search%';";
Avatar billede sj.netomia Nybegynder
17. april 2007 - 13:05 #5
og man skal kunne søg uafhængig af hinanden, altså man skal kunne søge på navn Peter og ikke vælge andet, og omvendt skal man kunne søge på navn Peter og vælge privat.
Avatar billede dmdisco Nybegynder
17. april 2007 - 14:27 #6
$query = "SELECT * FROM nyhedsbrev where firma like '%$search%' OR navn like '%$search%' OR adresse1 like '%$search%' OR adresse2 like '%$search%' OR postby like '%$search%' OR email like '%$search%' AND $search_string='ja' ORDER BY navn";
sådan der?
Avatar billede sj.netomia Nybegynder
17. april 2007 - 15:19 #7
jeg løste selv problemet.
<input type="hidden" name="soeg_tilmeldte" value="1">


if ($soeg_tilmeldte == "1") {
print ("noget html");


if ($search_string == "") {
          $query = "SELECT * FROM nyhedsbrev where (firma like '%$search%' OR navn like '%$search%' OR adresse1 like '%$search%' OR adresse2 like '%$search%' OR postby like '%$search%' OR email like '%$search%') order by navn;";
          }
          else {
          $query = "SELECT * FROM nyhedsbrev where (firma like '%$search%' OR navn like '%$search%' OR adresse1 like '%$search%' OR adresse2 like '%$search%' OR postby like '%$search%' OR email like '%$search%') AND $search_string='ja' order by navn;";
          }
          }
Men blev desværre nød til at have 2 query, ikke det bedste men det virker.

Så hvis i kan løse det med kun en query giver jeg gerne point.
Avatar billede dmdisco Nybegynder
17. april 2007 - 15:43 #8
da du kun kører ét query alligevel kan det være lige meget
Avatar billede sj.netomia Nybegynder
17. april 2007 - 18:44 #9
ja det er self rigtig nok, ville bare have det til at fylde så lidt som muligt.
Avatar billede sj.netomia Nybegynder
17. april 2007 - 18:45 #10
jeg lukker spørgsmålet tak for hjælpen alligevel.
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