Avatar billede Fiber Bjørn Juniormester
07. december 2008 - 16:24 Der er 6 kommentarer og
1 løsning

Søg i 1 tabel med 3 søge ord

Jeg har kigge lidt rundt på siden her inde men kan ikke rigtig få det til at funger.

Jeg vil gerne have muligheden for at søge i 1 tabel, 3 Feltnavn med 3 forskellige søge ord" altså 1 søgeord i vær Feltnavn" .

Koden ser sådan ud:

<?php
include "config.php";
$navn = $_GET["navn"];
$tekst = $_GET["tekst"];
$titel = $_GET["titel"];


if (isset($submit)) {
  $tmparray = array;
  if(!empty($navn) {
    $tmparray[] = "navn LIKE '%$navn%'";
  }
  if(!empty($titel) {
    $tmparray[] = "titel LIKE '%$titel%'";
  }
  if(!empty($tekst) {
    $tmparray[] = "titel LIKE '%$tekst%'";
  }
  $sql = "SELECT navn, titel, titel FROM riberep_gaestebogi WHERE ";
  $sql .= implode(" AND ", $tmparray);
  //echo $sql; -se hvordan sql'en ser ud!
$result = mysql_query($sql) or die(mysql_error());
while (list($navn, $titel, $titel) = mysql_fetch_row($result)) {
  echo "$navn<br>$titel<br>$tekst<br>";
}
?>

Navn:<br>
<form name="Søg" method="post" action="<?php $PHP_SELF ?>">
<input type="input" name="navn" value=""><p>

Titel:<br>
<input type="input" name="titel" value=""><p>

Tekst:<br>
<input type="input" name="tekst" value=""><p>

<input type="submit" name="submit" value="Søg"><p>
</form>

Den her forrespørgelse i MYSQL virker efter planen

SELECT *
FROM `riberep_gaestebogi`
WHERE `navn` LIKE CONVERT( _utf8 '%steffen%'
USING latin1 )
COLLATE latin1_swedish_ci
OR `tekst` LIKE CONVERT( _utf8 '%steffen%'
USING latin1 )
COLLATE latin1_swedish_ci
OR `titel` LIKE CONVERT( _utf8 '%steffen%'
USING latin1 )
COLLATE latin1_swedish_ci
LIMIT 0 , 30
Avatar billede jakobdo Ekspert
07. december 2008 - 16:29 #1
Hvis du fjerner // foran:
//echo $sql; -se hvordan sql'en ser ud!
Hvordan ser din sql ud som laves nu ?
Avatar billede Fiber Bjørn Juniormester
07. december 2008 - 16:34 #2
Jeg har rettet til 
echo $sql;

Og siden er stadig blank
Avatar billede Fiber Bjørn Juniormester
07. december 2008 - 16:43 #3
Når jeg tager dette væk, kommer søge felterne frem på siden ??? 

$tmparray = array;
  if(!empty($navn) {
    $tmparray[] = "navn LIKE '%$navn%'";
  }
  if(!empty($titel) {
    $tmparray[] = "titel LIKE '%$titel%'";
  }
  if(!empty($tekst) {
    $tmparray[] = "titel LIKE '%$tekst%'";
  }
Avatar billede jakobdo Ekspert
07. december 2008 - 16:46 #4
Du mangler ) før {
Du har nemlig:

if ( !empty ($ VAR ) <--- og her mangler )
Avatar billede Fiber Bjørn Juniormester
01. marts 2009 - 11:16 #5
smid et svar. Min fejl at jeg ikke har fuldt op på dette spørgsmål.
Avatar billede Fiber Bjørn Juniormester
01. marts 2009 - 12:44 #6
Jeg har ikke fået løst dette problem. Har løst det ved mere simpel søgning.
Avatar billede jakobdo Ekspert
01. marts 2009 - 16:57 #7
Svar!
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

IT-JOB