selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Re: MYSQL Abfrage welche ID ein bestimmter Pointer besitzt

Autor: laza86 [Beiträge: 448]
Datum: 08.04.2015 14:35:39

> Ich bin nicht so der Spezialist bei PHP/MySQL,
> daher macht es mir Deine oberflächliche
> Beschreibung auch nicht gerade leicht, das
> Problem zu verstehen.

Hey Matthias, erstmal Danke für deine Antwort!

> Was hält Dich davon ab, die ID durch den Rank zu
> ersetzen? Meinst Du mit Pointer das Feld Rank?

Ich versuchs nochmal deutlicher zu erläutern:

Ich habe eine Tabelle wie folgende:

ID     Name
1      Franz
5      Michael
6      Jens
10     Günter

Die ID ist zwar fortlaufend und Primärschlüssel aber es werden immer wieder Datensätze gelöscht.

So jetzt benutze ich einen Pointer um durch einen GET Wert (pointer=x) den nächsten und den vorherigen Datensatz anzuzeigen. Also in unserem Fall wäre pointer=2 gleich Michael. und der nächste Datensatz also Pointer=3 gleich Jens.

Funktioniert soweit.

Nun brauche ich eine SQL Abfrage die umgekehrt funktioniert. Also wenn ich weiß das ich momentan den Datensatz mit der ID 6 berarbeite, ich den Pointer zu diesem Datensatz wissen will. In diesem Fall wäre das dann die 3.

Also folgende Abfrage:

Zeige mir die Stelle des Datensatzes, wo die ID X ist und die Tabelle nach ID ASC sortiert ist.


Also die Sortierung spielt dabei natürlich eine Rolle. Da ich sonst wieder einen falschen Pointer (Stellenwert in der Datenbank) bekomme.


Die Abfrage die mir die MitarbeiterID ausgibt hab ich leider auch nicht selbst geschrieben, sondern nur für meine Tabelle und mein Szenario umgeschrieben.





Hier nochmal das Statement:

$abfrage_mitarbeiter_id = "SELECT z.rank FROM (
SELECT t.mitarbeiter_id, @rownum := @rownum + 1 AS rank
FROM mitarbeiter t, (SELECT @rownum := 0) r
ORDER BY mitarbeiter_id ASC
) as z WHERE mitarbeiter_id='".$_SESSION['mitarbeiter_id']."';";

$ergebnis_position = mysql_query($abfrage_position);
while($row_position = mysql_fetch_object($ergebnis_position)) {
$mitarbeiter_id = $row_position->rank;







> Welche Tools benutzt Du für die MySQL Statements?
Kein Tool, entweder als php Querry oder in phpmyadmin eingetippt.
> Wäre es nicht höchste Zeit auf MySQLI
> umzusteigen?

Ich kann dir gerade nicht mal genau sagen was bei mySQLi anders bzw. neu ist. Muss ich mich aber mal einarbeiten. Aber für den Fall bleibe ich vorerst bei mysql.

Gruß
laza


Beiträge

Antwort schreiben

Username: Usernamen registrieren
Passwort: Passwort vergessen?
Thema:
  Bitte benutze für deinen Beitrag die Groß-/Kleinschreibung!
Beitrag:
Link (URL):
Titel für Link:
Grafik (URL):
  Die Breite der Grafik darf 468 Pixel nicht überschreiten.
 
E-Mail-Benachrichtigung:



Zum Abschicken deines Beitrags bitte die Schaltfläche "Abschicken" nur einmal anklicken und warten. Der Server braucht manchmal einige Zeit, bis er den Beitrag in die Datenbank übernommen hat. Wenn du die Schaltfläche mehrmals drückst, erscheint dein Beitrag auch mehrmals im Forum.

Bewerten Sie Ihren Webhosting-Provider

Webhosting Provider bewerten und Apple iPad gewinnenWie zufrieden sind Sie mit Ihrem Webhosting-Provider? Gibt es Probleme beim Service, mit der Performance oder der Abrechnung?

Teilen Sie jetzt Ihre Erfahrungen mit anderen Webmastern und schreiben Sie eine Provider-Bewertung. Mit etwas Glück können Sie ein Apple iPad gewinnen!

Weitere Informationen und Teilnahme...