mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mo 05.12.2016 01:41 Benutzername: Passwort: Auto-Login

Thema: [php] mysql-problem? vom 15.03.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] mysql-problem?
Seite: 1, 2  Weiter
Autor Nachricht
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 15.03.2005 13:20
Titel

[php] mysql-problem?

Antworten mit Zitat Zum Seitenanfang

// edit //

problem 1 gelöst

[nächstes]


Zuletzt bearbeitet von am Di 15.03.2005 20:04, insgesamt 2-mal bearbeitet
 
alesch

Dabei seit: 14.08.2003
Ort: Bremen
Alter: 32
Geschlecht: Männlich
Verfasst Di 15.03.2005 13:31
Titel

Antworten mit Zitat Zum Seitenanfang

Also in meinem Fll sortiere ich nach der ID. Ich tausche beim Ändern der Reihenfolge die ID mit der nächst höheren ID aus.

Code:
 
//in temp schieben
mysql_query("UPDATE $DBNavi SET Position='0' WHERE Position='$id_to' AND parent='$parent'") or mysql_die();

// ID ändern
mysql_query("UPDATE $DBNavi SET Position='$id_to' WHERE Position='$id' AND parent='$parent'") or mysql_die();

// aus temp raus holen
mysql_query("UPDATE $DBNavi SET Position='$id' WHERE Position='0' AND parent='$parent'") or mysql_die();


$id und $id_to sind ganz $_GET Variablen.

Im Admin oder wo auch immer die Reihenfolge geändert werden soll, habe ich einen entsprechenden Link.

Wie sieht das bei dir aus?

Angenommen du liest die Datensätze aus einer Datenbank und gibst sie per
Code:
while($data = mysql_fetch_array($result)) { ... }


aus, dann könntest du es in soweit ändern, dass du in der while Schleife alle Einträge in einen Array schreibst und die Liste dann über foreach() erzeugst. Somit hättest du dann folgendes:

$array[$i-1]['pos_nr'] ist der vorige Eintrag
$array[$i]['pos_nr'] ist der Aktuelle
$array[$i+1]['pos_nr'] ist der nächste Eintrag


Zuletzt bearbeitet von alesch am Di 15.03.2005 13:36, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 15.03.2005 13:39
Titel

Antworten mit Zitat Zum Seitenanfang

die routine leuchtet mir ein.
hast mich auf ne idee gebracht
Lächel
probier ich mal aus

//edit
ja so in etwa
will in der ausgabe versteckte inputfelder
mit voheriger/nächster sort_nr einbinden.

danke
Lächel


Zuletzt bearbeitet von am Di 15.03.2005 13:42, insgesamt 1-mal bearbeitet
 
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 15.03.2005 14:06
Titel

Antworten mit Zitat Zum Seitenanfang

ach mist, kann immer nur den letzten
wert speichern.

alesh,
kannst du nicht eben ein kurzes
listing schreiben, wie du das meinst?
komm da irgendwie nicht hinter. das
wäre wirklich super!
 
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Di 15.03.2005 14:20
Titel

Antworten mit Zitat Zum Seitenanfang

? warum zu schwer? du übergibts die id des Beitrags und die aktion (nach oben oder nach unten):

nach oben:

LOCK TABLE schaise;
SELECT sort FROM schaise WHERE id = $id;
UPDATE schaise SET sort = sort+1 WHERE sort = $aktSort-1;
UPDATE schaise SET sort = sort-1 WHERE id = $id,
UNLOCK TABLE schaise; (oder so...)

nach unten:
LOCK TABLE schaise;
SELECT sort FROM schaise WHERE id = $id;
UPDATE schaise SET sort = sort-1 WHERE sort = $aktSort+1;
UPDATE schaise SET sort = sort+1 WHERE id = $id,
UNLOCK TABLE schaise; (oder so...)

ist ungetestet und geht vielleicht eleganter, aber so klappts sicherlich auch.
 
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 15.03.2005 14:47
Titel

Antworten mit Zitat Zum Seitenanfang

ja, so hatte ich das auch zuerst
aber wenn du bei der ausgabe

up/down - titel1 - autor1 ... (sort_nr = 6)
up/down - titel2 - autor2 ... (sort_nr = 3)
up/down - titel3 - autor3 ... (sort_nr = 2)

den 2. eintrag 'up'-sortieren willst,
wäre die neue sort_nr 4 und die des
darüberliegenden 5. hätte somit niks
gebracht...
 
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Di 15.03.2005 14:48
Titel

Antworten mit Zitat Zum Seitenanfang

Deine Sortierungsnummern sollten auch alternierend in einerschritten gesetzt sein. Sind die willkürlich gesetzt, ist dein Datenbankdesign scheiße.

Ist aber auch latte, du musst halt nur wesentlich mehr Aufwand betreiben deine old_sortnr und replace_sortnr zu ermitteln.


Zuletzt bearbeitet von am Di 15.03.2005 14:51, insgesamt 1-mal bearbeitet
 
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Di 15.03.2005 14:50
Titel

Antworten mit Zitat Zum Seitenanfang

sind sie ja auch anfangs. aber wenn
man einen eintrag löscht entsteht
halt ne lücke.
 
 
Ähnliche Themen mysql-php Problem
mySQL -> PHP Problem
[PHP]Problem mit Mysql Abfrage
PHP+MySQL-Auswahl-Problem
[php/mysql] problem mit insert
[php/mysql] Problem mit time
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.