ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
1577
1577
EMPFEHLEN
-
26.01.07 10:07 #1
- Registriert seit
- Feb 2003
- Ort
- Österreich / Feldkirch
- Beiträge
- 135
Hallo,
die SQL Query:
Gibt mir folgende Tabelle aus:PHP-Code:SELECT id FROM doc_desc ORDER BY id
id
1
2
4
Nun kann ich mit mssql_fetch_array nur auf die erste Zeile darauf zugreifen. Ich möchte aber auf alle Zeilen darauf zugreifen können.
Nun such ich ein SQL Statment mit der ich folgende ausgabe erhalte:
id id#2 id#3
1 2 4
Somit könnte ich mit mssql_fetch_array wie gewohnt auf das ergebniss zugreifen. Weiß jemand wie ich das mache?
mfg Briefkasten
-
26.01.07 10:12 #2
Ich kann dir nur einen Gedankenanstoß mit mysql und php geben
TobeePHP-Code:$sql = "SELECT `id` FROM `doc_desc` ORDER BY id";
$result = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $result ) )
{
// inhalt
}
-
26.01.07 10:49 #3
- Registriert seit
- Feb 2003
- Ort
- Österreich / Feldkirch
- Beiträge
- 135
Hi,
das Problem ist das ich hier mssql_fetch_array (es gibt keinen unterschied zwischen mysql_fetch_array oder mssql_fetch_array bis auf den verwendeten Dbserver) nicht verwenden kann.
row gibt bei var_dump() folgendes aus:
array(2) { [0]=> int(1) ["id"]=> int(1) }
Das liegt daran, dass bei mssql_fetch_array() ein Array zurück gegeben wird in dem die erste Zeile gespeichert ist mit allen dazugehörigen Spalten.
$row[0] wäre die erste Spalte also id
Auf $row[1] bekomme ich, dann logischerweise die Meldung unknow offset. da ja keine 2te spalte laut sql query ($sql = "SELECT `id` FROM `doc_desc` ORDER BY id"; ) vorhanden ist.
(1spalte 3 zeilen)
Deshalb möchte ich gerne mit sql die Tabellenzeilen auf eine "zusammenlegen" damit ich, dann über die Spalten bzw. mssql_fetch_array darauf zugreifen kann.
-
26.01.07 10:54 #4So hast du alle id's in einem Array. Wenn ich dich richtig verstanden habe?PHP-Code:
$sql = "SELECT `id` FROM `doc_desc` ORDER BY id";
$result = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $result ) )
{
$ids[] = $row[0];
}
Tobee
-
26.01.07 11:25 #5
- Registriert seit
- Feb 2003
- Ort
- Österreich / Feldkirch
- Beiträge
- 135
Hallo,
danke tobee. Allerdings versteh ich nicht ganz......wo mein Denkfehler ist. Werde es mir nochmal genauer anschauen. Falls ich das richtig verstanden habe ist in dem Array $orw[0] wieder ein Array.
DankeGeändert von Briefkasten (26.01.07 um 11:28 Uhr)
-
26.01.07 12:10 #6
- Registriert seit
- Mar 2006
- Beiträge
- 1
Hallo,
row[0] enthält selbst kein array, aus diesem Grund kannst du dir, wie von Tobee vorgschlagen ein Array erzeugen, in dem du alle Zeilen der Tabelle per Fetch und While-Schleife in eines einliest.
Die Funktion mssql_fetch_array lädt immer nur "eine" Zeile einer Tabelle in ein Array.
Tabelle X (Spalte1,Spalte2,....,Spalte n)
Per mssql_fetch_array erhälst du das Array row mit:
Row[0]=Spalte1, Row[1]=Spalte 2, ... , Row[n-1]=Spalte n
und zwar jeweils immer den Inhalt der aktuellen Zeile.
In deinem Fall besteht die Tabelle nur aus einer Spalte (ID) somit auch das Array row nur aus einem Element.
Jedes Element des Array enthält immer nur den Inhalt der aktuell gefetchten Zeile, per Fetch holst du dir dann dann jeweils die nächste Zeile.
Es gibt je nach DB System aber auch Funktionen, die dir zu einer Spalte ein Array fetchen können.
Gruss
Ähnliche Themen
-
sql Ausgabe in 1 Zeile
Von ploRa im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 17.07.09, 10:48 -
Ausgabe von nur EINER zeile
Von gello im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 15.06.07, 11:10 -
Ausgabe einer Zeile in SQL ?
Von Sergo im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 04.01.06, 21:43 -
filetype() gibt weder Fehler noch irgendeine Adere Ausgabe zurück!
Von the snake II im Forum PHPAntworten: 1Letzter Beitrag: 05.10.04, 21:08 -
zeile einer db-Ausgabe löschen
Von kesnw im Forum PHPAntworten: 6Letzter Beitrag: 16.04.04, 02:42





Zitieren
Login





