Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: PimpYourKiT. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Zonk

Verifiziertes Mitglied

  • »Zonk« ist ein verifizierter Benutzer
  • »Zonk« ist der Autor dieses Themas

Beiträge: 60

Danksagungen: 7 / 1

  • Nachricht senden

1

Sonntag, 31. März 2013, 17:02

New order after delete

Huhu ihr lieben,

ich habe da mal wieder ein kleines Problem. Ich habe eine Tabelle die nach Paragraphen sortiert ist und will dann zwischendrin einen Paragraphen löschen. Wenn ich dann nun auf Löschen geklickt habe soll dieser Eintrag gelöscht werden und alle anderen Einträge die einen höheren Paragraphen als der der gelöscht wurde sollen in der Paragraphenzahl eins höher (-1) geupdatet werden.

Hier mein Codeansatz:
Hier klicken für weitere Informationen

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
    $oVer=$SQL->fetch_array($SQL->query("SELECT * FROM ".pkSQLTAB_SERVER_RULE." WHERE rule_idx='".$SQL->i($_GET['id'])."'"));
    $rule_name    $oVer['rule_name'];
    $rule_text    $oVer['rule_text'];

    $get_server_q         = ($SQL->query("SELECT * FROM ".pkSQLTAB_SERVER.""));
    $id 0;
    $CS 1;
    while($get_server $SQL->fetch_array($get_server_q)) {
        $Count_Server $SQL->fetch_array(($SQL->query("SELECT COUNT(*) FROM ".pkSQLTAB_SERVER."")));
        $Over=$SQL->fetch_array($SQL->query("SELECT * FROM ".pkSQLTAB_SERVER_RULE." WHERE rule_idx='".$SQL->i($_GET['id'])."'"));
        $Overo$SQL->fetch_array($SQL->query("SELECT * FROM ".pkSQLTAB_SERVER_RULE_ORDER." WHERE rule_idx='".$SQL->i($_GET['id'])."' AND rule_server='".$get_server['id']."'"));
        $status =  explode(',',$Over['rule_server']);

        $Reg_Server .= ($status[$id]==$get_server['id']) ? '&bull;&nbsp;§'.$Overo['rule_order'].'- '.$get_server['server_name'].'<br/>' NULL;

        $id++;
        
        if (isset($_POST['delete']) && $ACTION==$_POST['delete']) {
            
            $minimum $SQL->fetch_array($SQL->query("SELECT * FROM ".pkSQLTAB_SERVER_RULE_ORDER." WHERE rule_idx='".$SQL->i($_GET['id'])."' AND rule_server='".$get_server['id']."'"));
            $minumum_order $minimum['rule_order'];
                    
            $Count_for $SQL->query("SELECT * FROM ".pkSQLTAB_SERVER_RULE_ORDER." WHERE rule_order>".$SQL->i($minumum_order)." AND rule_server='".$get_server['id']."' ORDER BY rule_order ASC");
            while($Count=$SQL->fetch_array($Count_for)) {
                $minumum_order++;
                $New_Order $minumum_order-1;
                $SQL->query("UPDATE ".pkSQLTAB_SERVER_RULE_ORDER." SET rule_order=".$New_Order." WHERE rule_order=".intval($minumum_order)." AND rule_server=".$get_server['id']."");        
                }
            
            if($CS == $Count_Server['0']) {
                $SQL->query("DELETE FROM ".pkSQLTAB_SERVER_RULE." WHERE rule_idx='".$SQL->i($_GET['id'])."'");
                $SQL->query("DELETE FROM ".pkSQLTAB_SERVER_RULE_ORDER." WHERE rule_idx='".$SQL->i($_GET['id'])."'");
                pkHeaderLocation('server_rule');
                }
            $CS++;
            }
        }
    
    $rule_text  $BBCODE->parse($rule_text,0,1,1,1,1,1,0);

    if (isset($_POST['cancel']) && $ACTION==$_POST['cancel']) {pkHeaderLocation('server_rule');}
    
    eval("\$site_body.= \"".pkTpl("Rule/del")."\";");


Danke schon mal im vorraus und man schreibt sich :)

MfG Zonk

reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

2

Sonntag, 31. März 2013, 18:36

Das machste doch hiermit:

PHP-Quelltext

1
2
3
4
5
6
            $Count_for $SQL->query("SELECT * FROM ".pkSQLTAB_SERVER_RULE_ORDER." WHERE rule_order>".$SQL->i($minumum_order)." AND rule_server='".$get_server['id']."' ORDER BY rule_order ASC");
            while($Count=$SQL->fetch_array($Count_for)) {
                $minumum_order++;
                $New_Order $minumum_order-1;
                $SQL->query("UPDATE ".pkSQLTAB_SERVER_RULE_ORDER." SET rule_order=".$New_Order." WHERE rule_order=".intval($minumum_order)." AND rule_server=".$get_server['id']."");        
                }
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Zonk

Verifiziertes Mitglied

  • »Zonk« ist ein verifizierter Benutzer
  • »Zonk« ist der Autor dieses Themas

Beiträge: 60

Danksagungen: 7 / 1

  • Nachricht senden

3

Sonntag, 31. März 2013, 21:26

ja nur macht er das nicht so wie es soll genau da ist ja das problem xD

dadurch das die paragraphen zahlen von server id zu server id je rule_idx unterschiedlich sind macht der net das was ers soll

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Zonk« (31. März 2013, 21:35)


reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

4

Sonntag, 31. März 2013, 21:36

Diese Count Abfrage

PHP-Quelltext

1
$Count_Server $SQL->fetch_array(($SQL->query("SELECT COUNT(*) FROM ".pkSQLTAB_SERVER."")));

kannste ersetzten mit $SQL->num_rows($get_server_q);

Dadurch bekommste auch die Anzahl raus.

Desweiteren was gibt den $minumum_order = $minimum['rule_order'] aus?
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Zonk

Verifiziertes Mitglied

  • »Zonk« ist ein verifizierter Benutzer
  • »Zonk« ist der Autor dieses Themas

Beiträge: 60

Danksagungen: 7 / 1

  • Nachricht senden

5

Sonntag, 31. März 2013, 23:32

das ist der wert der gelöscht werden soll .

ich schau dann morgen noch mal durch ;)


LG Zonk

reddevil82

PHPKIT Oldie

  • »reddevil82« ist männlich
  • »reddevil82« ist ein verifizierter Benutzer

Beiträge: 3 204

Wohnort: Spiesen-Elversberg

Beruf: Einzelhandelskaufmann

PHPKIT Version: Kein PHPKIT

Danksagungen: 1028 / 371

  • Nachricht senden

6

Montag, 1. April 2013, 14:57

Wenn das der zu löschende Wert ist zb. 5 so müsste rein theoretisch ein UPDATE **** SET variable = variable - 1 WHERE variable >= 5 gehen.

Lass dir mal per echo ausgeben ob das auch passt.
Auch mal den Bedanken Button nutzen tut nicht weh und der Ersteller freut sich umso mehr.

Zitat von »Friedrich Nietzsche«

Der, welcher etwas Großes schenkt, findet keine Dankbarkeit, denn der Beschenkte hat schon durch das Annehmen zu viel Last.

Social Bookmarks