Avatar billede cronaldo Nybegynder
30. juni 2008 - 19:54 Der er 8 kommentarer og
1 løsning

Søge-funktion, men mit script til "WHERE" driller..

<?
$pcmin = $_GET['pcmin'];
$pcmax = $_GET['pcmax'];
$type = $_GET['type'];
$size = $_GET['size'];
$minrooms = $_GET['minrooms'];
$maxrooms = $_GET['maxrooms'];
$minlevel = $_GET['minlevel'];
$maxlevel = $_GET['maxlevel'];
$elevator = $_GET['elevator'];
$animals = $_GET['animals'];
$rent = $_GET['rent'];

$where = '';
$i = 0;
if ($pcmin != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "postalcode >= \"$pcmin\"";
    $i++;
}
if ($pcmax != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "postalcode =< \"$pcmax\" ";
    $i++;
}
if ($type != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "type = \"$type\" ";
    $i++;
}
if ($size != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "areal > \"$size\" ";
    $i++;
}
if ($minrooms != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "rooms >= \"$minrooms\" ";
    $i++;
}
if ($maxrooms != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "rooms =< \"$maxrooms\" ";
    $i++;
}
if ($minlevel != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "etage >= \"$minlevel\" ";
    $i++;
}
if ($maxlevel != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "etage =< \"$maxlevel\" ";
    $i++;
}
if ($animals != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "husdyr =< \"$animals\" ";
    $i++;
}
if ($rent != "") {
    if ($i > 0) { $where .= " AND "; }
    $where = $where . "rent < \"$rent\" ";
    $i++;
}

$foresp = mysql_query("SELECT * FROM annonce WHERE " . $where . " ORDER BY id DESC");
while ($data = mysql_fetch_array($foresp)){
       
        $emne = $data[emne];
        $areal = $data[areal];
       
        echo $areal . $emne;
    }

?>

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

Det virker ikke rigtigt, output er:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a7529669/public_html/_search.php on line 69

Jeg HAR tjekket, og hvis man skrive:
print $where;
giver det en helt normal sætning, som jeg selv ville skrive den hvis det hele var forudbestemt og ikke skulle være variable :) (hvis I forstår)
Avatar billede erikjacobsen Ekspert
30. juni 2008 - 20:12 #1
Hvorfor får du den ikke til at fortælle dig hvad der er galt:

$foresp = mysql_query("SELECT * FROM annonce WHERE " . $where . " ORDER BY id DESC") or die(mysql_error());
Avatar billede cronaldo Nybegynder
30. juni 2008 - 20:20 #2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=< "9" ORDER BY id DESC' at line 1

<< det er hvad den skriver :)
Avatar billede erikjacobsen Ekspert
30. juni 2008 - 20:30 #3
Kunne det så tænkes, at det er fordi det faktisk hedder:  <=
(og ikke: =<  )
Avatar billede cronaldo Nybegynder
30. juni 2008 - 20:32 #4
Har fundet ud af det :) .. det er fordi man kan ikke skrive =< og >= i samme "where" .. større end og mindre end tegn skal være enten på den ene eller den anden side..

altså:

=<
=>
ELLER
<=
>=

.. man kan altså ikke blande dem:
>=
=<


-----------

Smid svar hvis du vil have point, erik :)
Avatar billede erikjacobsen Ekspert
30. juni 2008 - 20:41 #5
Nej tak *g*
Avatar billede cronaldo Nybegynder
30. juni 2008 - 22:27 #6
hahahaha, sjovt nok du havde skrevet det lige inden :D ..
Avatar billede erikjacobsen Ekspert
30. juni 2008 - 23:15 #7
Det er nu ikke fordi du ikke må blande dem. =< og => er ikke gyldige.
Avatar billede cronaldo Nybegynder
01. juli 2008 - 11:08 #8
Nåå, det troede jeg :) .. plejer vist at bruge =< når jeg laver IF()'s :)
Avatar billede erikjacobsen Ekspert
01. juli 2008 - 11:22 #9
Det må være på en anden planet ...
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