Seite 1 von 1
Kleinsten werte aus der Datenbank auslesen...
Verfasst: 02.09.2009 14:56
von Dagtor
Hallo zusammen,
brauche mal wieder hilfe...
Ich will den kleinsten wert (Gewicht) eines bestimmten Users aus mehreren daten einträgen einer Tabelle ermitteln...
Hab im Forum und in anderen MOD's etc. keinen Hinweis gefunden wie es richtig ist...
so sieht mein Code aus:
Code: Alles auswählen
$sql = 'SELECT MIN(tvp_unit_aktgew) AS min_wight
FROM ' . TVP_UNIT_TABLE . '
WHERE tvp_unit_user = ' . (int) $user_id;
$result = $db->sql_query($sql);
$min_gew_db = (int) $db->sql_fetchfield('min_wight');
Wäre für eure hilfe sehr dankbar..
Gruß Dagtor
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 02.09.2009 15:17
von Frank1604
Sortiere nach Gewicht, dann ist der kleinste Wert zuerst und du brauchst ihn dir nur noch zu schnappen.
Code: Alles auswählen
$sql = 'SELECT tvp_unit_aktgew
FROM ' . TVP_UNIT_TABLE . '
WHERE tvp_unit_user = ' . (int) $user_id . '
ORDER BY tvp_unit_user;
$result = $db->sql_query($sql);
$min_gew_db = (int) $db->sql_fetchfield('tvp_unit_user');
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 02.09.2009 15:38
von Dagtor
Erst mal danke Frank
Aber dein Vorschlag Funktioniert leider garnicht...
Im Notepad ++ fehlt ihm scheinbar was... da sind alle anschliessenden Zeilen auch ncoh gleich Grau... Complett!
Habs damit zwar trotzdem verucht...
resultat: weiße Seite..
noch ne idee???
Code: Alles auswählen
$sql = 'SELECT tvp_unit_aktgew
FROM ' . TVP_UNIT_TABLE . '
WHERE tvp_unit_user = ' . (int) $user_id . '
ORDER BY tvp_unit_aktgew;
$result = $db->sql_query($sql);
$min_gew_db = (int) $db->sql_fetchfield('tvp_unit_aktgew');
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 02.09.2009 15:59
von Frank1604
Joar, nen ' fehlt
Code: Alles auswählen
$sql = 'SELECT tvp_unit_aktgew
FROM ' . TVP_UNIT_TABLE . '
WHERE tvp_unit_user = ' . (int) $user_id . '
ORDER BY tvp_unit_aktgew';
$result = $db->sql_query($sql);
$min_gew_db = (int) $db->sql_fetchfield('tvp_unit_aktgew');
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 02.09.2009 16:14
von Dagtor
Hallo Frank...
Leider immer noch nicht...
Noch ne idee...?!?
Bin Ratlos...
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 02.09.2009 21:16
von Boecki91
Code: Alles auswählen
$sql = 'SELECT tvp_unit_aktgew
FROM ' . TVP_UNIT_TABLE . '
WHERE tvp_unit_user = ' . (int) $user_id . '
ORDER BY tvp_unit_aktgew';
$result = $db->sql_query($sql);
$min_gew_db = (int) $db->sql_fetchfield('tvp_unit_aktgew');
Wenn man den richtigen BBCode kennt kann man das hier auch farbig machen (in jedem phpBB3)
[/code]
Ich sehe da keine PHP Syntax-Fehler mehr, hast du es den schon getestet? Fehlermeldung?
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 03.09.2009 07:45
von Dagtor
Ja, ich habs getestet,
das "leider nicht" war auch auf die generelle Funktion bezogen... Es gibt mir nicht den korrekten Wert zurück, besser gesagt garkeinen...
Sonnst funktioniert das ganze Skript ohne Probleme... Variablen sind auch nicht doppelt gesetzt oder so... Das ganze läuft auf nem ansonsten absolut cleanen 3.0.5 Testboard...
Tja, was tun?!?
Re: Kleinsten werte aus der Datenbank auslesen...
Verfasst: 03.09.2009 09:17
von oxpus
Hallo,
wenn doch mehrere Werte für einen User enthalten sind, dann darf man auch nur einen Wert abfragen. Und wenn es der kleinste sein soll:
Code: Alles auswählen
$sql = 'SELECT tvp_unit_aktgew
FROM ' . TVP_UNIT_TABLE . '
WHERE tvp_unit_user = ' . (int) $user_id . '
ORDER BY tvp_unit_aktgew
LIMIT 1';
$result = $db->sql_query($sql);
$min_gew_db = (int) $db->sql_fetchfield('tvp_unit_aktgew');
Man beachte das "LIMIT".
"$db->sql_fetchfield()" liefert nämlich nur einen Wert für ein Feld zurück, ansonsten false...