IM24LV Posted April 3, 2008 Report Share Posted April 3, 2008 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? Link to comment Share on other sites More sharing options...
andrisp Posted April 3, 2008 Report Share Posted April 3, 2008 Tiešām neiedomājies paskatīties MySQL manuālī ? http://dev.mysql.com/doc/refman/5.0/en/str...function_substr Link to comment Share on other sites More sharing options...
Vebers Posted April 3, 2008 Report Share Posted April 3, 2008 (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 April 3, 2008 by Vebers Link to comment Share on other sites More sharing options...
bubu Posted April 3, 2008 Report Share Posted April 3, 2008 Ja gribi fju izsaukt iekš MySQL, tad vajag lietot SQL funkciju, nevis php funkciju. ... WHERE SUBSTR(title_year, 0, 4) == $year Link to comment Share on other sites More sharing options...
IM24LV Posted April 3, 2008 Author Report Share Posted April 3, 2008 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' Link to comment Share on other sites More sharing options...
bubu Posted April 3, 2008 Report Share Posted April 3, 2008 Ja neizdodās, tad tas nozīmē ka saka kļūdu vai rāda nepareizi. Tad nu izlasi ķļūdu un salabo, lai dara pareizi. Link to comment Share on other sites More sharing options...
IM24LV Posted April 3, 2008 Author Report Share Posted April 3, 2008 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 Link to comment Share on other sites More sharing options...
bubu Posted April 3, 2008 Report Share Posted April 3, 2008 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... Link to comment Share on other sites More sharing options...
Recommended Posts