Meer info over de buren uit database halen.
Ik heb een pagina waar je al mijn foto's kunt zien.
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.
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.
Nou ik zou LIMIT 1 weghalen, want dan toon je maar 1 rij.
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'
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)
Ik gebruik nu:
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
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! :-)
Maar goed. Niet het antwoord wat ik zocht. Ik heb de oplossing al elders uit weten te vinden
toch bedankt
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




