Avatar billede overgreat Forsker
18. juli 2005 - 22:22 Der er 2 kommentarer og
1 løsning

indsættelse af ekstra where kommando

Hej alle

Jeg vil høre hvordan jeg skriver nedenstående
- WHERE bil_pris.id = $_POST[prisvalg] -
sammen med den anden where del fra tidligere:
- ".(count($where)?"WHERE ".implode(" AND ",$where):"")." ORDER BY bil_bil.maerke desc -


HÅBER der er en der har løsningen.... jeg har snart givet op med at prøve!!

Det er på grund af at jeg har to særskilte søgeformularer som hver for sig virker. Nu vil jeg have dem slået sammen, men det kikser lige meget hvad jeg forsøger!

------------------------------------------------------


<?
if($_GET['up'] == "ja"){
    include("config.php");
    $db = mysql_connect($server, $user, $pass);
    mysql_select_db($database, $db);

$where=array();
    if($_POST['maerke']!='1')
    {
        $where[]="bil_bil.maerke='".$_POST['maerke']."'";
    }
    if($_POST['model']!='1')
    {
        $where[]="bil_bil.model='".$_POST['model']."'";
    }
    if($_POST['type']!='1')
    {
        $where[]="bil_bil.type='".$_POST['type']."'";
    }
    if($_POST['variant']!='1')
    {
        $where[]="bil_bil.variant='".$_POST['variant']."'";
    }

    $foresp = mysql_query("
    SELECT bil_bil.pris, bil_bil.id, bil_bil.maerke, bil_bil.model, bil_bil.type, bil_bil.variant, bil_model.model AS model1,  bil_maerke.maerke AS maerke1, bil_type.type AS type1, bil_variant.variant AS variant1
      FROM bil_bil
      LEFT JOIN bil_maerke ON bil_maerke.id = bil_bil.maerke
      LEFT JOIN bil_model ON bil_model.id = bil_bil.model
      LEFT JOIN bil_type ON bil_type.id = bil_bil.type
      LEFT JOIN bil_variant ON bil_variant.id = bil_bil.variant
      INNER JOIN bil_pris ON (bil_pris.low IS NULL OR bil_bil.pris >= bil_pris.low) AND (bil_pris.high IS NULL OR bil_bil.pris <= bil_pris.high)


      ".(count($where)?"WHERE ".implode(" AND ",$where):"")."
      ORDER BY bil_bil.maerke desc
    ");

    while ($data = mysql_fetch_array($foresp))
{
    echo "<a href='index.php'>".$data['maerke1']."</a>&nbsp;".$data['model1']."&nbsp;".$data['type1']."&nbsp;".$data['variant1']."<br>";
}
}else{
?>
Avatar billede nielle Nybegynder
18. juli 2005 - 22:36 #1
Måske sådan her:

<?
if($_GET['up'] == "ja")
{
    include("config.php");
    $db = mysql_connect($server, $user, $pass);
    mysql_select_db($database, $db);

    $where=array();

    if ($_POST['maerke'] != '1') $where[] = "bil_bil.maerke = '" . $_POST['maerke'] . "'";

    if ($_POST['model'] != '1') $where[] = "bil_bil.model = '" . $_POST['model'] . "'";

    if ($_POST['type'] != '1') $where[] = "bil_bil.type = '" . $_POST['type'] . "'";

    if ($_POST['variant'] != '1') $where[] = "bil_bil.variant = '" . $_POST['variant'] . "'";

    if ($_POST[prisvalg] != '1') $where[] = "bil_pris.id = '" . $_POST[prisvalg] . "'";

    $foresp = mysql_query("
        SELECT bil_bil.pris, bil_bil.id, bil_bil.maerke, bil_bil.model, bil_bil.type, bil_bil.variant, bil_model.model AS model1,  bil_maerke.maerke AS maerke1, bil_type.type AS type1, bil_variant.variant AS variant1
        FROM bil_bil
        LEFT JOIN bil_maerke ON bil_maerke.id = bil_bil.maerke
        LEFT JOIN bil_model ON bil_model.id = bil_bil.model
        LEFT JOIN bil_type ON bil_type.id = bil_bil.type
        LEFT JOIN bil_variant ON bil_variant.id = bil_bil.variant
        INNER JOIN bil_pris ON (bil_pris.low IS NULL OR bil_bil.pris >= bil_pris.low) AND (bil_pris.high IS NULL OR bil_bil.pris <= bil_pris.high) " . (count($where)) ? "WHERE " . implode(" AND ", $where) : "" ."
        ORDER BY bil_bil.maerke DESC");

    while ($data = mysql_fetch_array($foresp))
    {
        echo "<a href='index.php'>".$data['maerke1']."</a>&nbsp;".$data['model1']."&nbsp;".$data['type1']."&nbsp;".$data['variant1']."<br>";
    }
}
else
{
?>
Avatar billede overgreat Forsker
19. juli 2005 - 10:46 #2
Superp......... Det virker....

Sender du et svar?
Avatar billede nielle Nybegynder
19. juli 2005 - 11:42 #3
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