Hi
Bin an diesem Fehler seit einer Stunde dran...ich sehe den Wald vor lauter Bäumen nicht mehr. Wenn ich eine Funktion ausführe:
PHP-Code:
$position = GetLastListPosition("SELECT * FROM $UpdateTable WHERE $mainlistid_col = $MainListID", 4, $position_col);
Hier die Funktion:
PHP-Code:
// Gibt die Position des letzten Listeneintrags zurück. Wenns keinen hat oder einen Fehler gibt die Funktion 0 zurück
// Das SQL Statement muss auf eine einzige Listen Ebene (bei Submenus also nur für eine mainmenuid) bezogen sein und mindestens die position auslesen
function GetLastListPosition($sql, $max_entries, $position_col){
$LastPosition = 0;
if (strpos($sql, "SELECT") === false){
return 0;
} else {
$res = mysql_query($sql);
if(!$res){
return 0;
} else {
$num = mysql_num_rows($res);
if($num > $max_entries){
return 0;
} elseif ($num == 0){
return 0;
} else {
while($row = mysql_fetch_array($res)){
if($row[$position_col] > $LastPosition){
$LastPosition = $row[$position_col];
}
}
}
}
return $LastPosition;
mysql_free_result($res);
}
}
Nun, wenn ich (in einem Beispiel) nach dem Funktionsaufruf und Zuweisung an position die($position); ausführe, erhalte ich den korrekten Wert 2.
Wenn ich aber noch vorher $position++; oder $position = $position + 1; schreibe und dann die($position); erhalte ich gar keinen Wert! Nicht 3, nicht 0, nicht false einfach gar nichts! Was übersehe ich?
