mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 25.11.2017 10:49 Benutzername: Passwort: Auto-Login

Thema: Liste mit PHP sortieren / Anfangseintrag bestimmen? vom 15.09.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Liste mit PHP sortieren / Anfangseintrag bestimmen?
Autor Nachricht
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 34
Geschlecht: Männlich
Verfasst Sa 15.09.2007 11:41
Titel

Liste mit PHP sortieren / Anfangseintrag bestimmen?

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich eine kleine Frage:

Ich habe eine Liste und möchte diese beim Seitenaufruf via Variable,
die ich in der url übergebe sortieren, bzw. "weiterschalten" und die
Startposition angeben. Ich habe leider überhaupt keine Ahnung, wo ich
anfangen soll ... evtl. mit einem Array und einer der sort-Funkionen?

Für Eure Hilfe wäre ich echt dankbar!

Also so in etwa:

Eigentliche Liste (Bsp):
- eins
- zwei
- drei
- vier
- fünf

Beim Seitenaufruf ?Aktuell=drei sollte das ganze dann so aussehen:
- drei
- vier
- fünf
- eins
- zwei

Ich möchte die Reihenfolge der Liste nicht verändern, nur eben den
Listeneintrag bestimmen, der am Anfang steht. Im obigen Beispiel
sollten dann natürlich die Listeneinträge vor "drei" unten angehängt
werden.


Gruß,

Patrick
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 37
Geschlecht: Männlich
Verfasst Sa 15.09.2007 13:02
Titel

Antworten mit Zitat Zum Seitenanfang

nur maln versuch eines denkanstoßes

du hast dein ursprüngliches array mit deinen ganzen werden drin

[0] eins
[1] zwei
[2] drei
...

wenn die seite aufgerufen wird
nimmst du dir ein neues array und füllst das so

Code:
j = 0;
for(i = anzahlseitenaufrufe-1; i < ursprungsarray.length; i++ )
{
  neuesarray[j] = ursprungsarray[i];
  j++;
}


wenn die seite zum 3. mal aufgerufen würde hättest du dann

neuesarray[0] = ursprungsarray[2]
neuesarray[1] = ursprungsarray[3]
neuesarray[2] = ursprungsarray[4]

dann musst du noch mal über die ersten werte in deinem ursprungsarray laufen, also die, die wir übersprungen haben und in das neue array einfügen...


war jetzt nur ne schnelle idee und geht wahrscheinlich auch eleganter...


Zuletzt bearbeitet von Skyw4lker am Sa 15.09.2007 13:03, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 34
Geschlecht: Männlich
Verfasst Sa 15.09.2007 15:09
Titel

re

Antworten mit Zitat Zum Seitenanfang

Also hm ... ich schine zu blöd zu sein * Ich geb auf... *

Egal wie ich es anstelle, jedes Mal wird
ein Fehler ausgespuckt, dass ein "=" da
nicht hingehört ... zB bei "j = 0;"

Wenn Du etwas Zeit hast, könntest Du es
dann noch einmal wie einem 12-jährigen
erklären?

Oder hakt's schon beim Array?
Code:
$alt = array("eins", "zwei", "drei", "vier", "fuenf");

Eigentlich nicht, oder!? Habe den Rest natürlich
demenstsprechend benannt.


Zuletzt bearbeitet von bluespoon am Sa 15.09.2007 15:11, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst Sa 15.09.2007 20:38
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
j = 0;
for(i = anzahlseitenaufrufe-1; i < ursprungsarray.length; i++ )
{
neuesarray[j] = ursprungsarray[i];
j++;
}


ist javascript. mach vor jede variable ein "$" und du hast gültigen php-code.

Setz dich mal mit Array-Zeigern in PHP auseinander.

1.) in session speichern
2.) Ab akueller Zeigerposition lesen
2.) Bei jedem Aufruf den array-Zeiger mit next() weiterschieben


Zuletzt bearbeitet von am Sa 15.09.2007 20:51, insgesamt 1-mal bearbeitet
 
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 34
Geschlecht: Männlich
Verfasst Sa 15.09.2007 22:38
Titel

RE

Antworten mit Zitat Zum Seitenanfang

Jepp ... Bin auch Deiner Meinung.
Hab' vo jede ein "$" gesetzt. Klappt
trotzdem net! Kam mir auch vor wie JS
... geht aber net!

Aber ich hab' immernoch das Problem ....

Vielleicht noch kurz nebenbei: Das ist ein
PRIVATES Ding! Hier sind ja immer mehr
Leute unterwegs, die sich "nur" Sachen
rauskopieren! Brauche das ergo net für
etwas kommerzielles ... nur für mich!!!

Zitat:
Setz dich mal mit Array-Zeigern in PHP auseinander.


Kann ich ... Aber es funzt net!!!


Zuletzt bearbeitet von bluespoon am Sa 15.09.2007 22:55, insgesamt 4-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 34
Geschlecht: Männlich
Verfasst So 16.09.2007 17:30
Titel

Fast gelöst ... jetzt mit JS

Antworten mit Zitat Zum Seitenanfang

So ... ich hab's jetzt fast gelöst.
Und zwar mit JS. Zuerst das Array,
dann der Code von Sky4lker und
zuletzt noch die manuelle Umwandlung,
damit ich das ganze ohne Kommas
ausgeben kann.

Die Variable "Aktuell" kann ich ja dynamisch
ändern.

Aber wie hänge ich nun die übersprungenen
Listeneinträge/Arrayeinträge unten wieder an?

Bis jetzt:
Code:
var Aktuell = 4;

var altesArray=new Array()
altesArray[0] = ["<li>eins</li>"]
altesArray[1] = ["<li>zwei</li>"]
altesArray[2] = ["<li>drei</li>"]
altesArray[3] = ["<li>vier</li>"]
altesArray[4] = ["<li>fuenf</li>"]

var neuesArray=new Array()

j = 0;
for(i = Aktuell-1; i < altesArray.length; i++ ) {
   neuesArray[j] = altesArray[i];
   j++;
}
   
var kommasEntfernen = neuesArray.join(" ");
   
document.write("<ul>" + kommasEntfernen + "</ul>");
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 16.09.2007 18:37
Titel

Antworten mit Zitat Zum Seitenanfang

indem du unten dran nochmal ne schleife packst, die dir vom
index 0 bis zu Aktuell zählt? Wenn du's nicht hinkriegst dir vor
dem Durchlauf ein Array zu "backen" das dir 1:1 passt, dann
wirste du um nen zweiten Durchlauf nicht rum kommen.
  View user's profile Private Nachricht senden
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 34
Geschlecht: Männlich
Verfasst So 16.09.2007 21:54
Titel

Problem gelöst

Antworten mit Zitat Zum Seitenanfang

Jou ... danke an alle!

Hab' das jetzt so gemacht:
Code:
var Aktuell = 4;

var altesArray=new Array()
altesArray[0] = ["<li>eins</li>"]
altesArray[1] = ["<li>zwei</li>"]
altesArray[2] = ["<li>drei</li>"]
altesArray[3] = ["<li>vier</li>"]
altesArray[4] = ["<li>fuenf</li>"]

var neuesArray=new Array()

j = 0;
for(i = Aktuell-1; i < altesArray.length; i++ ) {
   neuesArray[j] = altesArray[i];
   j++;
}
   
var kommasEntfernen = neuesArray.join(" ");
   
document.write("<ul>" + kommasEntfernen);

var nochEinArray=new Array()
   
j = 0;
for(i = 0; i < Aktuell-1; i++ ) {
   nochEinArray[j] = altesArray[i];
   j++;
}
   
var kommasNochmalEntfernen = nochEinArray.join(" ");
   
document.write(kommasNochmalEntfernen + "</ul>");


Und klappt alles Grins
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [php] liste sortieren
liste mit javascript sortieren?
Alter bestimmen mit php
[PHP] Nach Namen sortieren
PHP Ordner Sortieren
[PHP] kann ich die stdout, stdin und stderr selbst bestimmen
Neues Thema eröffnen   Neue Antwort erstellen
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.