ilch Forum » Allgemein » HTML, PHP, SQL,... » Guide hoch/runter positionieren

Geschlossen
  1. #1
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Hey,

    ich wollte mir gerade mal das pos verschieben ding von ilch mopsen sozusagen ^^

    Ich rufe meine seite entweder mit
    index.php?guide-acp&action=move&m=o&id=3 oder index.php?guide-acp&action=move&m=u&id=3

    sprich ich sollte denke alles haben was der code braucht ob hoch oder runter und die id des beitrags.

    Nun schaut das ganze so aus
    $action = $_GET['action'];
    if ($action == 'move') {
    	$m = $_GET['m'];
    	$id  = $_GET['id'];
    	$pos = db_result(db_query("SELECT pos FROM guide WHERE Id = ".$id),0);
    	$anz = db_result(db_query("SELECT COUNT(*) FROM guide"),0);
    	if ($m == 'u') {
    		$npos = $pos + 1;
    	} elseif ($m == 'o') {
    		$npos = $pos - 1;
    	}
      if ($npos < 0) {
        db_query("UPDATE guide SET pos = ".$anz." WHERE Id = ".$id);
        db_query("UPDATE guide SET pos = pos -1");
      }
      if ($npos >= $anz) {
        db_query("UPDATE guide SET pos = -1 WHERE Id = ".$id);
        db_query("UPDATE guide SET pos = pos +1");
      }
    
    	if ($npos>=0 AND $npos < $anz) {
    		db_query("UPDATE guide SET pos = ".$pos." WHERE pos = ".$npos);
    		db_query("UPDATE guide SET pos = ".$npos." WHERE Id = ".$id);
    	}
    }


    Irgendwie jedoch geht es nicht?
    Er Verschiebt dies Zwar aber kurios er macht es halt nicht eins höher sondern komplett hoch oder komplett runter und kA :/
    habe ich etwas übersehen bzw falsch umgesetzt?

    Thx 4 help lächeln
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Igitt igitt,

    ja da kommen böse erinnerungen hoch dieser Code hat mich schonmal zur Verzweiflung gebracht weil er einfach einen eigen willen hat -.-

    Mir hat damals geholfen in der Datenbank eben die felder POS einmal neu durchnummerieren zu lassen.

    Im übrigen solltest du die Funktion Reparieren gleich mit nehmen du wirst sie öfters brauchen xD
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    lachen wie meinst du das mit die felder POS einmal neu durchzunummerieren?

    Also habe sie schon mehrmals wieder von 0-2 gemacht da ich momentan nicht soviele zum testen habe aber das bringt auch nix trozdem macht er es kurios

    Sonst müsste man es neu coden? aber ich fand das es so eigentlich gut ist also ich haette es denke auch teilweise so gemacht erst momentane auslesen ein dazu oder weniger geben und ja so wie der code halt ist ^^
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ah und als tipp am rande,

    versuch mal so

    $pos = db_result(db_query("SELECT `pos` FROM `guide` WHERE `Id` = ".$id),0);
    $anz = db_result(db_query("SELECT COUNT(*) FROM `guide`"),0);
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    ändert leider nix
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten