Jump to content
php.lv forumi

Recommended Posts

Posted

Ir aptuveni šāds kods:

 

$resulta = dbquery(

"SELECT * FROM db WHERE ".substr("title_year", 0,4)." = '$year' LIMIT 4");

 

 

datubāzē ievadītajā gads aiz tā 2008 seko .03.04 vai kas cits, kādā veidā es varu pateikt lai atlasa tikai tur kur ir vienāds ar manis iedoto 4ciparu gadu?

 

 

respektīvi, kādā veidāveicama substr funkcija selectojot no datubāzes?

Posted (edited)

ja pareizi sapratu ko vēlies, tad

 

SELECT * FROM db WHERE YEAR(datuma_lauks) = 2008 LIMIT 4

 

Tiesa gan, ka datuma_lauks jābūt saglabātam kā "date" laukam. Savādāk tev palīdzēs mysql substr f-ja

Edited by Vebers
Posted

Ja gribi fju izsaukt iekš MySQL, tad vajag lietot SQL funkciju, nevis php funkciju.

 

... WHERE SUBSTR(title_year, 0, 4) == $year

Posted

a kāds būtu pareizais pieraksts? ar == nesanāk + substr vietā pēc manuāļa sanāk, ka ir jābū substring. ar šādu nesanāk:

neizdodas ne ar bub piemēru, ne ar manuāļa dotajiem paraugiem.

SUBSTRING(title_year, 0, 4) = '$year'

Posted

Ja neizdodās, tad tas nozīmē ka saka kļūdu vai rāda nepareizi. Tad nu izlasi ķļūdu un salabo, lai dara pareizi.

Posted

nū ar manu variantu nekādus errorus neizmet, vienkarši neko neatlasa, ar tavu variantu izmet paziņojumu

 

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 '== 2004 AND category = 'j'

 

ja noņem to vienādības zīmīti tad atkal neko neatlasa, parādās tukšs ekrāns

Posted

Nu tādā gadījumā, kad neko neatlasa, tas nozīmē, ka neviens ieraksts neatbilda norādītajam WHERE nosacījumam. Skaties (debugo), kas tur ir nepareizs. Vai tiešām programmēšanas pamati te ir jāmāca...

×
×
  • Create New...