Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP - Script (werte in ein Array schreiben)

Empfohlene Antworten

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

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

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.

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:)

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? :)

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

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

Oh

ich bereue... :D

es heisst natürlich count($result)... :rolleyes:

woher hat ich nur arry_length ?

MfG :)

Ä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:

Okay THX an alle für die Hilfe... habs rausbekommen!

Und alle die wissen wie ich's machen muss und jetzt sagen so ein OberDAU haben wohl recht :D

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.