slowMedlem sedan apr. 2004148 inlägg Har ett litet "köp och sälj" script som jag försöker ordna så att den ska hämta enbart en typ av annons (Köpes, säljes eller bytes) från en viss kategori. Alltså först har jag så man kan välja kategori, tex Bilar, då visas alla bilannonser. Sen längst upp ska jag ha så man kan välja så att den bara hämtar en viss typ då (Köpes, säljes eller bytes).
Varför jag vill ha så är för att då kan jag bara länka till en sida med rätt URLparametrar så visas det som parametrarna innehåller.
Detta är den SQLfråga jag försöker krångla med men det vill inte fungera för mig.
Helst ifall det inte är valt någon typ så ska den bara hämta från kategori oavsett typ. Hur gör jag det?
Som det är nu så hämtar den inget ifall jag bara väljer en kategori men ifall jag även skickar med URLparametern för typ så säger den så här:
Unknown column 'Köpes' in 'where clause'
SELECT *
FROM annons
LEFT JOIN kategori ON id_ukat = ukat_id
WHERE ukat_id = VALDKATEGORI AND typ = VALDTYP
ORDER BY annons_insatt DESC
VALDKATEGORI = URLparameter av vald kategori (Tex bilar)
VALDTYP = URLparameter av vald typ (Köpes m.m)
Jag använder mySQL (4.1.14)
@ndersMedlem sedan juni 200032 969 inlägg Hur ser php-koden ut som skapar den SQL-frågan?
slowMedlem sedan apr. 2004148 inlägg Duger denna?
mysql_select_db($databas, $anslutning);
$query_rgSort = sprintf("SELECT * FROM annons
LEFT JOIN kategori ON id_ukat = ukat_id
WHERE id_ukat = %s AND typ = %s ORDER BY annons_insatt DESC",
@ndersMedlem sedan juni 200032 969 inlägg Jag tycker att du borde ha apostrofer runt strängvärden.
WHERE id_ukat = '%s' AND typ = '%s' ORDER BY annons_insatt DESC",
Men om det funkar med "URLPara", vad nu det är, har jag ingen aning om.
slowMedlem sedan apr. 2004148 inlägg Får testa med apostofer. URLPara. var en dålig förkortning av mig. URL parameter står det för.. :) Men själva SQL frågan, är den ok tror du?
SELECT *
FROM annons
LEFT JOIN kategori ON id_ukat = ukat_id
WHERE ukat_id = VALDKATEGORI AND typ = VALDTYP
ORDER BY annons_insatt DESC
slowMedlem sedan apr. 2004148 inlägg Blev betydligt bättre med de två apostroferna! Tack Anders.
Dock så återstår en sak. Det är att den bara ska bry sig om typen ifall man skickar med den parametern. Alltså är typ = 0 så ska den hämta * från vald kategori. Går det?
slowMedlem sedan apr. 2004148 inlägg Har försökt läsa mig till hur jag ska göra men det är inte så säkert att det gör att göra det jag vill.. :)
En fråga:
Går det att göra så att den hämtar alla annonser ifall typ är tex =ALL...och ifall typ=Köpes så hämtar den bara köpes. Går det?
Peter SMedlem sedan dec. 20025 483 inlägg
slow skrev:
Blev betydligt bättre med de två apostroferna! Tack Anders.
Dock så återstår en sak. Det är att den bara ska bry sig om typen ifall man skickar med den parametern. Alltså är typ = 0 så ska den hämta * från vald kategori. Går det?
Skulle tro att du kan göra så här:
"SELECT * FROM annons LEFT JOIN kategori ON id_ukat = ukat_id WHERE id_ukat = %s " . (VALDTYP!==0?"AND typ = %s":"") . " ORDER BY annons_insatt DESC"