Avatar billede jakobsen Nybegynder
11. december 2003 - 12:31 Der er 3 kommentarer og
1 løsning

select kun de ting der er input på

hej

nogen der kan hjælpe mig med denne:

$result = mysql_query("SELECT info, info2 FROM customerdb WHERE test0='$test0' AND test1='$test1'");

jeg vil gerne have sådan at hvis $test0 er tom, men der er nogle i $test1, skal der hentes alt fra mysql der passer på $test1,
hvis der er noget i både $test0 og $test1, skal der kun hentes der der passer med begge.

sådan som den er nu, og hvis der kun er indhold i $test1, henter det hvor $test0='ingenting' og $test1='det den nu har', men test0 kan der godt så noget i databasen, det så blot ikke det jeg ønsker at søge på.. hvad gør jeg for at få sådan en optimal søgning, håber nogen forstår  det :)
Avatar billede Slettet bruger
11. december 2003 - 12:41 #1
$sql="SELECT info, info2 FROM customerdb WHERE";

if (!empty($test0)){
  $sql.= " test0='{$test0}'";
}

if (!empty($test1)){
  if (!empty($test0){
    $sql.=" AND";
  }
  $sql.=" test1='{$test1}'";
}

$result = mysql_query($sql);
Avatar billede Slettet bruger
11. december 2003 - 12:42 #2
Rettelse... Der manglede en slutparantes.

$sql="SELECT info, info2 FROM customerdb WHERE";

if (!empty($test0)){
  $sql.= " test0='{$test0}'";
}

if (!empty($test1)){
  if (!empty($test0)){
    $sql.=" AND";
  }
  $sql.=" test1='{$test1}'";
}

$result = mysql_query($sql);
Avatar billede jakobsen Nybegynder
11. december 2003 - 12:42 #3
findes der ikke noget smartere?

jeg har 11 input felter man kan søge på..
Avatar billede Slettet bruger
11. december 2003 - 12:48 #4
Er denne bedre?

$sql="SELECT info, info2 FROM customerdb WHERE";

if (!empty($test0)){
  $sql.= " test0='{$test0}' AND";
}

if (!empty($test1)){
  $sql.=" test1='{$test1}' AND";
}

$sql=preg_replace('/ AND$/', '', $sql);
$result = mysql_query($sql);
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