SELECT MAX Problem

Hast du Probleme oder Fragen bei der Einrichtung bestimmter Plugins ? Diese kannst du hier loswerden.
Antworten
tomtom
Beiträge: 19
Registriert: 25. Mai 2016, 19:39

SELECT MAX Problem

Beitrag von tomtom »

Hab mal wieder ein Problem mit der Aktualisierung eines Plugins auf die neuste Version.

Der Sachverhalt:
Wir müssen auch Rechnungen schreiben, wozu wir uns ein Plugin gebastelt haben.

Die Aktualisierung war wie folgt;
von:

Code: Alles auswählen

$rnr = mysql_result(mysql_query('SELECT MAX(rnr) + 1 FROM rechnungen'), 0);


habe ich versucht zu ändern in;

Code: Alles auswählen

$rnr = mysql_result($gDb->query('SELECT MAX(rnr) + 1 FROM rechnungen'), 0);
oder auch in;

Code: Alles auswählen

$rnr = $page_result($gDb->query('SELECT MAX(rnr) + 1 FROM rechnungen'), 0);
Das Problem:
ich bekomme nur noch Fehlermeldungen wie bspw.;
Fatal error: Function name must be a string in /xxx
Mit Verweis genau auf dieser Zeile in meinem Code

oder auch;
Warning: mysql_result() expects parameter 1 to be resource, object given in /xxx

Wo ist mein Fehler, was kann ich anders machen.

Vielen Dank vorab!
tomtom
Beiträge: 19
Registriert: 25. Mai 2016, 19:39

Re: SELECT MAX Problem

Beitrag von tomtom »

Hab die Lösung gefunden, gebe ja selbst auch nie auf.

Code: Alles auswählen

foreach($gDb->query('SELECT MAX(rnr) FROM rechnungen') as $rnr_row) {  
$rnr1 = $rnr_row['MAX(rnr)']+1;  
}
damit kommt Admidio nun besser klar.

Sorry fürs spammen, kann auch gerne gelöscht werden.
Benutzeravatar
fasse
Administrator
Beiträge: 6182
Registriert: 12. Nov 2005, 16:06

Re: SELECT MAX Problem

Beitrag von fasse »

Schöner ist allerdings folgender Code:

Code: Alles auswählen

$statement = $gDb->query('SELECT MAX(rnr) as rechnr FROM rechnungen');
$max_row = $statement->fetch();
$rnr1 = $max_row['rechnr'] + 1;
Du brauchst keine Schleife, da MAX immer nur 1 Zeile zurück gibt.

Gruß
Fasse
tomtom
Beiträge: 19
Registriert: 25. Mai 2016, 19:39

Re: SELECT MAX Problem

Beitrag von tomtom »

Sorry, lese es erst jetzt :oops:

Vielen Dank fasse!!!
Antworten