webForumDet fria alternativet

SQL fråga, sök efter första bokstav i titel ?

Databaser & SQL

4 svar · 415 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#1

Hej!

Hur skriver man en SQL fråga som tar ut de enbart titlar(title i db:n) som börjar på samma bokstav som variabeln $searchon och lägger dem i bokstavsordning(Dio kommer före tex Dooken) ?

Detta är det närmaste lösningen jag kommer

select * from table1 where title( ochförsta bokstaven på något sätt) =$searchon order by title

(php och mySQL)

Medlem sedan mars 20023 561 inlägg
#2
SELECT * FROM table1 WHERE title LIKE '$searchon%' ORDER BY title;
Medlem sedan maj 20023 372 inlägg
#3

Hej! :)

Får inte ihop det riktigt ändå, jag kom på att jag ska ha "approved=1 också, men det verkar som den tar ut alla titlar(där approved är 1), men struntar i vilken bokstav det börjar på.

SELECT * FROM table1 WHERE title LIKE '$searchon%' AND approved=1 ORDER BY title;
Medlem sedan dec. 200012 464 inlägg
#4

Det låter som om $searchon inte innehåller något värde.

Skall du inte använda

$_POST["searchon"]
// eller
$_GET["searchon"]

beroende på vilken metod du har i din form.

Medlem sedan maj 20023 372 inlägg
#5

Aahhhhhhhhh!

Jag har ju det tänkte jag säga.....

....men det jag hade var $searchon = $GET['searchon'];, dvs jag hade missat ett underline "_" tecken. (Är lite ny på PHP...)

Fungerar nu. Tack alla.

Glad påsk.

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)