Avatar billede konder Nybegynder
01. november 2005 - 11:28 Der er 20 kommentarer og
1 løsning

søgning på 2 felter med een submit

Kan det lade sig gøre at søge på to felter af gangen. Her feltet navn og art.
"SELECT navn, tlf, art FROM firm WHERE art OR navn LIKE '%$tekst_soeg%'"
Det her virker ikke, nogen der ved om det kan lade siog gøre?
Avatar billede Slettet bruger
01. november 2005 - 11:30 #1
"SELECT navn, tlf, art FROM firm WHERE art LIKE '%$tekst_soeg%' OR navn LIKE '%$tekst_soeg%'"
Avatar billede konder Nybegynder
01. november 2005 - 11:36 #2
super -læg et svar
Avatar billede Slettet bruger
01. november 2005 - 11:48 #3
oki :)
Avatar billede konder Nybegynder
01. november 2005 - 11:50 #4
Desværre vil jeg gerne ha det på både og.
"SELECT navn, tlf, art FROM firm WHERE art LIKE '%$soeg%' OR navn LIKE '%$tekst_soeg%'" -hvor soeg er et selectfelt. Men det strander vist på starten: if(isset($_POST["tekst_soeg"])){
  if(get_magic_quotes_gpc())
    $tekst_soeg = $_POST["tekst_soeg"];
  else
    $tekst_soeg = addslashes($_POST["tekst_soeg"]); Her skal jeg vel have samme procedure på feltet '%$soeg%'.
Avatar billede Slettet bruger
01. november 2005 - 12:06 #5
Jeg er ikke sikker på jeg forstår hvad du vil?
Avatar billede konder Nybegynder
01. november 2005 - 12:11 #6
jeg vil gerne ku søge på art via et select felt('%$soeg%')  eller navn via '%$tekst_soeg%' i een forretningsgang
Avatar billede Slettet bruger
01. november 2005 - 12:14 #7
Så burde "SELECT navn, tlf, art FROM firm WHERE art LIKE '%$soeg%' OR navn LIKE '%$tekst_soeg%'" vel også virke? Medmindre du vil have at de begge skal være opfyldt?
Avatar billede konder Nybegynder
01. november 2005 - 12:16 #8
ja, men det er jo kun feltet '%$tekst_soeg%' der bliver tjekket:if(isset($_POST["tekst_soeg"])){
  if(get_magic_quotes_gpc())
    $tekst_soeg = $_POST["tekst_soeg"];
  else
    $tekst_soeg = addslashes($_POST["tekst_soeg"]);
Istedet udskriver den blot samtlige poster.
Avatar billede konder Nybegynder
01. november 2005 - 12:53 #9
du skal nok få dine velfortjente point
Avatar billede Slettet bruger
01. november 2005 - 12:58 #10
Pointen er såmænd ligegyldige, jeg forstår bare ikke dit problem :)
Avatar billede konder Nybegynder
01. november 2005 - 13:47 #11
jeg har to felter. Et alm. tekstfelt(tekst_soeg) og det virker til både at finde art og navn. Og så har jeg et selectfelt med 20 forskellige brancher (soeg) som jeg gerne ville hente art med. Altså enten søge på navn eller på art, men med samme formular/submit
Avatar billede Slettet bruger
01. november 2005 - 13:53 #12
"SELECT navn, tlf, art FROM firm WHERE art LIKE '%$soeg%' OR navn LIKE '%$tekst_soeg%' OR art LIKE '%$soeg%'"

Eller hvad?

Hvad hvis der er valgt en art, skal art så være fundet i de data du vil have retur?
Avatar billede konder Nybegynder
01. november 2005 - 14:18 #13
ja altså.  $foresp = mysql_query("SELECT navn, tlf, art FROM firm WHERE art LIKE '%$sog%' OR navn LIKE '%$tekst_soeg%'");
  echo mysql_num_rows($foresp) . " forekomst(er) fundet<br><br>";
  while($firm = mysql_fetch_array($foresp)){
    echo "<b>" . $firm["navn"] . "</b> - ";
    echo "<br>" . $firm["tlf"] . "<br>";
    echo "<br>" . $firm["art"] . "<br><br>";
  } men det virker ikke da jeg ikke har nogen if(get_magic_quotes_gpc o.s.v. på %$sog%. Suk
Avatar billede konder Nybegynder
01. november 2005 - 14:41 #14
du skal ha tak for hjælpen. Må løbe nu. :)
Avatar billede Slettet bruger
01. november 2005 - 14:50 #15
if(isset($_POST["tekst_soeg"])){
  if(get_magic_quotes_gpc()) {
    $tekst_soeg = $_POST["tekst_soeg"];
  } else {
    $tekst_soeg = addslashes($_POST["tekst_soeg"]);
  }
}

if(isset($_POST["soeg"])){
  if(get_magic_quotes_gpc()) {
    $soeg = $_POST["soeg"];
  } else {
    $soeg = addslashes($_POST["soeg"]);
  }
}

Er det ikke bare sådan du mener?
Avatar billede konder Nybegynder
01. november 2005 - 14:55 #16
jo det har jeg prøvet, men det flipper for den. Jeg tror ikke if()sætninger kan stå efter hinanden
Avatar billede Slettet bruger
01. november 2005 - 14:56 #17
Jo jo :)
Avatar billede konder Nybegynder
01. november 2005 - 15:00 #18
du har ret. Men mine select står jo osse som med 1. valgmulighed i feltet. Så søger den jo altid på soeg, osse
Avatar billede konder Nybegynder
01. november 2005 - 15:02 #19
kan select-feltet ikke undgå en valgmulighed som udgangspunkt?
Avatar billede Slettet bruger
01. november 2005 - 15:13 #20
Jo hvis du lader det første felt i select'en være <option value="">Vælg en art</option> Så kan du jo tjekke om $_POST['soeg'] indeholder en værdi. Hvis ikke skal der ikke søges på art.
Avatar billede konder Nybegynder
05. december 2005 - 13:27 #21
Det er irreterende. Jeg kan altså ikke få select-delen til at søge rigtigt, selvom jeg skiller tingene ad. Hvad gør jeg mon forkert

$foresp = mysql_query("SELECT navn, tlf, art FROM firm WHERE art LIKE '%$soeg%' ");
  echo mysql_num_rows($foresp) . " forekomst(er) fundet<br><br>";
  while($data = mysql_fetch_array($foresp)){
    echo "<b>" . $data["navn"] . "</b> - ";
    echo "<br>" . $data["tlf"] . "<br>";
    echo "<br>" . $data["art"] . "<br><br>";
  }
} else {
?>
<FORM
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