Meer info over de buren uit database halen.
Nu wil ik aan de hand van de gekozen foto (stel ID=4) meer informatie over achter liggende foto in het archief (ID=3) en de foto na gekozen foto (ID=5).
Hoe kan je dat zo efficiënt mogelijk uit het database krijgen met nog steeds de zelfde pagina.
Toevoeging op 26/07/2011 17:39:46:
Zoeits denk ik?
"SELECT * FROM " .self::$table_name. " WHERE cat_id=".$database->escape_value($cat_id)." and id= ".$database->escape_value($id)." -1 LIMIT 1
Eerst even testen.
Als ik het goed begrijp dan wil je dus waarde id 3,4,5 uit de database halen, waarbij 4 gekozen is.
Dan zou ik iets doen als:
en dan in je query: WHERE ID = '$min_een','$gekozen','$plus_een'
Bas IJzelendoorn op 26/07/2011 17:56:07:
en dan in je query: WHERE ID = '$min_een','$gekozen','$plus_een'
WHERE ID IN($min_een, $gekozen, $plus_een)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static function find_next($cat_id=0, $id=0) {
global $database;
$result_array = self::find_by_sql("SELECT * FROM " .self::$table_name. "
WHERE cat_id=".$database->escape_value($cat_id)." and id= ".$database->escape_value($id)." +1 LIMIT 1");
return $result_array;
}
public static function find_prev($cat_id=0, $id=0) {
global $database;
$result_array = self::find_by_sql("SELECT * FROM " .self::$table_name. "
WHERE cat_id=".$database->escape_value($cat_id)." and id= ".$database->escape_value($id)." -1 LIMIT 1");
return $result_array;
}
global $database;
$result_array = self::find_by_sql("SELECT * FROM " .self::$table_name. "
WHERE cat_id=".$database->escape_value($cat_id)." and id= ".$database->escape_value($id)." +1 LIMIT 1");
return $result_array;
}
public static function find_prev($cat_id=0, $id=0) {
global $database;
$result_array = self::find_by_sql("SELECT * FROM " .self::$table_name. "
WHERE cat_id=".$database->escape_value($cat_id)." and id= ".$database->escape_value($id)." -1 LIMIT 1");
return $result_array;
}
Als ik die aanspreek via deze manier dump hij alle resultaat die ik ook wil hebben.
Maar zo krijg ik een onbekende resultset :S WUT
Toevoeging op 26/07/2011 18:21:26:
Ook moet dit failsafe zijn voor als er nummers ontbreken omdat er fotos uit het database zijn gehaald.
Vorig: 35
Huidig: 165
Volgende: 188
Gewijzigd op 26/07/2011 18:13:39 door www JdeRuijterNL
- SanThe - op 26/07/2011 18:01:23:
WHERE ID IN($min_een, $gekozen, $plus_een)
Bas IJzelendoorn op 26/07/2011 17:56:07:
en dan in je query: WHERE ID = '$min_een','$gekozen','$plus_een'
WHERE ID IN($min_een, $gekozen, $plus_een)
hmm vergeten. Bedankt voor de aanvulling! :-)
Code (php)
1
2
2
"SELECT * FROM " .self::$table_name. "
WHERE cat_id='".$database->escape_value($cat_id)."' and id < '".$database->escape_value($id)."' ORDER BY ID DESC"
WHERE cat_id='".$database->escape_value($cat_id)."' and id < '".$database->escape_value($id)."' ORDER BY ID DESC"
toch bedankt