Php + Mysql Fehler

hmmNaGut

Erfahrenes Mitglied
Hi, erst mal ich habe ein kleines Problem und zwar
ich habe eine Tabelle mit Überschriften
Diese Überschrift haben eine Reihenfolge die man ändern kann.

Das erstellen der Reihenfolgen und hinzufügen funktioniert ja eigentlich auch ohne Probleme,
Jedoch beim Reihenfolgen tausch habe ich ein kleines Problem

es funktioniert ja so eigenlich auch jedoch komischerweise nur ein paar mal dann geht es schon nicht mehr:confused:? vielleicht könntet ihr mir helfen Danke..

Ich habe hier mal die ganze funktion zum runterschieben hineingestellt.
PHP:
	function MoveDown($pos,  $id)
	{
		global $mysql_server;
		global $mysql_db;
		global $mysql_passwort;
		global $mysql_user;
		global $history_path;
		$dbhandle = mysql_connect($mysql_server,$mysql_user,$mysql_passwort) or die("Ein Fehler beim Verbinden mit der Datenbank");

		$db_selected = mysql_select_db($mysql_db, $dbhandle);
			if (!$db_selected) {
    				die ('Kann cms nicht benutzen : ' . mysql_error());
			}
		
		//ID Ermitteln!!
		
		$query="SELECT uberschrift_id, uberschrift_reihenfolge from uberschrift where history_id='$id' AND uberschrift_reihenfolge > $pos ORDER BY uberschrift_reihenfolge ASC LIMIT 1";

		mysql_query($query);		

		if ($res=mysql_query($query))
		{
			
			if ($row=mysql_fetch_array($res))
			{
				$uberschriftid=$row['uberschrift_id'];
				$uberschriftrf=$row['uberschrift_reihenfolge'];
			}
		} 
		// RF Vertauschen
		echo("ID: $uberschriftid<br>siteid: $id<br><br>");	// Nur zum test
		echo("RF: $uberschriftrf<br>$pos<br>");
		$query="UPDATE uberschrift SET uberschrift_reihenfolge='$uberschriftrf' WHERE history_id='$id' AND uberschrift_reihenfolge='$pos' LIMIT 1";
		mysql_query($query);
		$query="UPDATE uberschrift SET uberschrift_reihenfolge='$pos' WHERE history_id='$id' AND uberschrift_reihenfolge='$uberschriftrf' LIMIT 1";
		mysql_query($query);
	}

Nochmals DANKE
 
Zuletzt bearbeitet:
Okay hab den Fehler gefunden kleiner Denkfehler,
Naja .. kommt auch vor.

Hier die bearbeitet Funktion

PHP:
	function MoveUp($pos,  $id)
	{
		global $mysql_server;
		global $mysql_db;
		global $mysql_passwort;
		global $mysql_user;
		global $history_path;
		$dbhandle = mysql_connect($mysql_server,$mysql_user,$mysql_passwort) or die("Ein Fehler beim Verbinden mit der Datenbank");

		$db_selected = mysql_select_db($mysql_db, $dbhandle);
			if (!$db_selected) {
    				die ('Kann cms nicht benutzen : ' . mysql_error());
			}
		
		//ID Ermitteln!!
		
		$query="SELECT uberschrift_id, uberschrift_reihenfolge from uberschrift where history_id='$id' AND uberschrift_reihenfolge < $pos ORDER BY uberschrift_reihenfolge DESC LIMIT 1";

		mysql_query($query);		

		if ($res=mysql_query($query))
		{
			
			if ($row=mysql_fetch_array($res))
			{
				$uberschriftid=$row['uberschrift_id'];
				$uberschriftrf=$row['uberschrift_reihenfolge'];
			}
		} 
		// RF Vertauschen
		echo("ID: $uberschriftid<br>siteid: $id<br><br>");
		echo("RF: $uberschriftrf<br>$pos<br>");
		$query="UPDATE uberschrift SET uberschrift_reihenfolge=$uberschriftrf WHERE history_id=$id AND uberschrift_reihenfolge=$pos LIMIT 1;";
		mysql_query($query);
		$query="UPDATE uberschrift SET uberschrift_reihenfolge=$pos WHERE history_id=$id AND uberschrift_id=$uberschriftid LIMIT 1;";
		mysql_query($query);
	}

Danke
 
Zurück