[ Lacke @ 07.12.2013. 15:40 ] @
| Imam tabelu data_sadrzaj_kategorija mysql-u:
id | naslov | podnaslov | seolink | opis | sekcija | objavi
1 | tekst1 |podnaslov1| seolink1 | | 6 | 1
2 | tekst2 |podnaslov2| seolink2 |opis2 | 6 | 1
3 | tekst3 |podnaslov3| seolink3 |opis3 | 6 | 1
Kada mu zadam upit preko funkcije:
Code: public static function find() {
$result_set = mysql_queryl(" SELECT * FROM data_sadrzaj_kategorija WHERE objavi=1 AND sekcija=6 ");
if (!empty($result_set)) {
return array_shift($result_set);
} else {
return FALSE;
}
}
$result = Category::find_by();
Izbaci mi samo prvi red, red gde je id=1. Nikako nece da mi iscita sva tri reda. u cemu je problem? Hvala... |
[ gotivac @ 07.12.2013. 16:08 ] @
Problem je u array_shift funkciji koja radi upravo to što si napisao da ti se dešava, izbriše prvi element niza i njega da kao rezultat.
Citat:
The array_shift() function removes the first element from an array, and returns the value of the removed element.
[ deZio @ 07.12.2013. 16:12 ] @
koja ti je ovo f-ja
mysql_queryl? Pokaži kod gde je ona definisana. A ako si greškom napisao
mysql_queryl umesto
mysql_query, onda moraš da koristiš petlju da bi dobio sve rezultate. Dakle ovako nešto:
Code (php):public static
function find
() {
$result_set = mysql_query(" SELECT * FROM data_sadrzaj_kategorija WHERE objavi=1 AND sekcija=6 ");
if ($result_set) {
while ($row = mysql_fetch_assoc($result)) {
$konacan_rezultat_upita[] = $row;
}
return $konacan_rezultat_upita;
} else {
return FALSE;
}
}
$result = Category
::find_by();
[ Lacke @ 07.12.2013. 19:30 ] @
Hvama vam na trudi i odgovorima. Da, u pitanju je bila funkcija array_shift(), toliko sam umoran bio od silnih kodova, da nisam to ni gledao a morao sam to prvo.
Uglavnom, mnogo vam hvala :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.