Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Okay ich weiß ich bin nen DAU das brauch mir keiner sagen :rolleyes:

Also kommen wir zu meinen Problem

ich habe eine Tabelle (MSSQL - gleiche Syntax wie MySQL)

wo die so aussieht...

Bsp.: Tabelle UserRechte

 

ID | UserName | Tabelle | Status

1    UserA      TabA      TRUE

2    UserA      TabB      TRUE

3    UserA      TabC      TRUE

4    UserA      TabD      FALSE

5    UserA      TabE      TRUE

6    UserB      TabA      FALSE

7    UserB      TabB      TRUE

8    UserB      TabC      TRUE

9    UserB      TabD      FALSE

10   UserB      TabE      TRUE

11   UserB      TabA      TRUE

12   UserB      TabB      TRUE

 .

 :

ich will jetzt die Spalte UserName durchgängig sortiert nach ASC abfragen und in ein Array schrieben. Wie mache ich das? Fragt mich bitte nicht wieso? Das würde wohl den Rahmen sprengen... ich hatte es mit...

$query = "SELECT * FROM UserRechte order by UserName ASC";

$result = mssql_query($query);

print "RESULT: $result<br>";

versucht, bekomme aber immer

$result = "Resource id #2" zurück.

THX4HELP

Geschrieben

So weit wars schon richtig, in result wird der inhalt der db geschrieben mit

$row=mysql_fetch_row($result)

liest du einzelne Reihen aus ueber die du dann mit

row[spalte] darauf zugreifen kannst.

In deinem fall

while($row=mysql_fetch_row($result)) /*list solange bis alle Reihen abgearbeitet sind*/

$user=$row[0]

.

.

.

Hoffe ich konnte dir helfen

Geschrieben

Einfacher weil lesbarer:

while($row=mysql_fetch_object($result)) {

echo $row->UserName;

...

}

mysql_fetch_object macht den ausgelesenen Array sehr viel lesbarer und spart Verwirrung bei vielen auszulesenden Spalten.

Geschrieben

Noch einfacher:

$result = mysql_fetch_row(mysql_query(...,...));

die Elemente sind dann über $result[0] bis $result[n] ansprechbar.

über array_length($result) kannst du dann auch herausfinden wievile Elemente im Array sind.

MfG:)

Geschrieben
Original geschrieben von DanielH

die Elemente sind dann über $result[0] bis $result[n] ansprechbar.

:)

Ich weiß leider nicht, was daran einfacher sein soll, den Array mit mit Zahlen anzusprechen. Wenn Du 10 Felder hast und am Ende vielleicht noch hinzufügst, kannst Du sehen, wie Du die Zahlen in die richtige Reihen folge bekommst.

mysql_fetch_object() macht die Sache wesentlich einfacher.

Oder schonmal versucht anderer Leute Quelltext zu lesen und zu entschlüsseln, wofür die Elemente der Arrays stehen? :)

Geschrieben
Original geschrieben von Valium

Ich weiß leider nicht, was daran einfacher sein soll, den Array mit mit Zahlen anzusprechen. Wenn Du 10 Felder hast und am Ende vielleicht noch hinzufügst, kannst Du sehen, wie Du die Zahlen in die richtige Reihen folge bekommst.

mysql_fetch_object() macht die Sache wesentlich einfacher.

Oder schonmal versucht anderer Leute Quelltext zu lesen und zu entschlüsseln, wofür die Elemente der Arrays stehen? :)

ist schon richtig, um eindeutig und nachvollziehbar zu arbeiten muß man die Daten dann noch eindeutige Varialennamen geben.

Aber wenn man seine Dtenbanken kennt, dann ist das durchaus schneller, weil man sich dann die Zuweisung über z.B. $irgenwas = $row[0] oder gar $row -> bezeichnung spart. Macht beim ausführen keine Unterschiede, aber beim schreiben :D

MfG

Geschrieben

also da muss ich DanielH schon zustimmen...

für meinen Fall brauche ich die Daten nicht expliziet zu weisen sondern für eine schnelle Auswertung die immer dynamisch ist und nicht fest dadurch ist für mich ein fester Variablenname nicht von Vorteil.

Aber ich habe schon wieder nen Prob.

Mein Code ist:


$query = "SELECT * FROM UserRechte order by UserName ASC";

print "QUERY: $query<br>";

$result = MSSQL_FETCH_ROW(MSSQL_QUERY($query));

print "$result<br>";


$length = array_length($result);

for ($i=0;$i==$length;$i++)

{

  echo "RESULT: $result[$i]<br>";

}

aber nun habe ich 2 Probleme

1. der Befehl $length = array_length($result); ist unbekannt

2. statt nach length die schleife abzufragen wollte ich Testweise mal bist 10 laufen lassen aber sie wurde nicht durchlaufen, wieso?

DePlague

Geschrieben

Ähm Moment mal ich glaube wir reden am Thema vorbei ich will nicht nach UserRechte die Zeilen in ein Array schreiben.

Sondern die ganzen Usernamen (UserName) in ein Array bekommen und das sortiert nach ASC.

Also nicht die ROW (Zeile) sonderen die Column (Spalte) von UserName...

da ich gerade mitbekommen habe das ich immer die Zeile einlesen, das war nicht das was ich brauch sondern alle Werte in der Spalte von Username.

Ich weiß damit komm ich jetzt ziehmlich früh aber ich konnte erst seit ca. 2 Stunden den Code von euch testen...

und hab gerade mitbekommen das ich immer die Werte von einer Zeile ins Array schreibe. :(

Sorry :rolleyes:

NEED HELP :confused:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...