| Suchen | |
|
#1
|
|||
|
|||
|
Hallo Leute,
bin wieder mal rumprobieren aber komme nicht weiter... ![]() Ich habe eine Datenbankabfrage, die mir genau eine Spalte liefert. Je nach dem wie die Abfrage ausschaut sind es eine oder mehrere Zeilen. Demnach sollen sich automatisch variablen erstellen, also je nach Anzahl der Zeilen. Wenn bspw. das Ergebnis der Abfrage 2 Zeilen hat, dann sollen 2 Variablen erstellt werden, die mittels eines Zählers benannt werden: Variable0, Variable1 usw. Im nächsten Schritt soll der Wert aus der ersten Zeile der erstellten variable0 zugewiesen werden. Bisher habe ich das so: $result = pg_query($conn, $query); $row = pg_fetch_row($result); $submodule1 = $row[0]; $submodule2 = $row[1]; Soweit so gut! Aber da ich nicht wieß wie viele Zeilen es immer je nach Fall sind, brauche ich das ganze dynamisch. Also etwas wie in der Richtung: for ($i = 0 ; $i < $rows; $i++){ $myVarNames[$i] = "Submodule".$i;} Ich wäre echt super dankbar wenn mir jemand helfen könnte eine Technik zu finden bzw. sagen könnte wie ich das Problem auch anders lösen kann. ...Vielen Dank |
|
#2
|
|||
|
|||
|
PHP Quellcode:
|
|
#3
|
|||
|
|||
|
Ja so hat ich es ursprünglich:
while ($row = pg_fetch_row($result)) { $submodule1 = $row[0]; $submodule2 = $row[1]; } Jetzt würde ich aber gerne den variablennamen $submodule1, $submodule2 usw.. automatisch erstellen lassen, damit das so aussieht: $submodule.$i = $row[$i]; damit ich als ergebnis habe: $submodule0 = Wert $submodule1 = Wert1 ... und das in Abhängigkeit davon wie viel Zeilen ich habe... |
|
#4
|
|||
|
|||
|
aktueller Stand ist:
PHP Quellcode:
while ($row = pg_fetch_row($result)) {
$i = 0; $submodule.$i = $row[$i]; echo("Submodule" . $i . ":" . $submodule.$i); echo("<br>"); $i++; } Ausgabe ist: Submodule261058: 261058 Submodule261180: 261180 Ich will aber: Submodule0: 261058 Submodule1: 261180 ...Danke [Quellcodeformatierung hinzugefügt - hellbringer] Geändert von hellbringer (21.07.2010 um 19:11 Uhr). |
|
#5
|
|||
|
|||
|
variable Variablenbezeichnungen sind schlecht und unnötig.
Nimm doch ein Array. Das kannst dann mit foreach durchlaufen: PHP Quellcode:
// in mysql_num_rows steht die Anzahl der gelieferten Datensätze
$results = array(); while ($row = pg_fetch_row($result)) { //tu was $results[] = $row; } // Auswertung foreach($results as $key => $value){ } wieso machst Du innerhalb der while-Schleife $i = 0 ???? PHP Quellcode:
lern bitte die Grundlagen.
__________________
Der Kopf ist rund, damit das Denken die Richtung wechseln kann. Geändert von Bernd456 (21.07.2010 um 13:27 Uhr). |
|
#6
|
|||
|
|||
|
ok...und wie gebe ich das jetzt aus,dass ich :
1.Position im Array = der Wert; 2.Position im Array = der Wert; habe. Und wie kann ich damit dann weiter arbeiten? Ich müsste im nächsten Schritt den Wert in ein SQL Statement einbauen.. Also, "Select bla bla ...where Tabellenname = "1.Position"... |
|
#7
|
|||
|
|||
|
Bitte beschäftige Dich mit dem Stichwort SQL-Joins. Das was Du willst ist nicht notwendig.
Gruß Jens
__________________
Schleichwerbung I - Schleichwerbung II - Schleichwerbung III - Schleichwerbung IV |
|
#8
|
|||
|
|||
|
PHP Quellcode:
echo $results[0][0];
gibt den ersten Eintrag im Array aus. PHP Quellcode:
echo $results[1][0];
den zweiten usw.... Ich nehme hiermit an, dass sich der Wert im Index 0 befindet. PHP Quellcode:
foreach($results AS $key => $value) {
echo $value[0]; } geht das gesamte Array durch und gibt es aus. Mit PHP Quellcode:
Wie dich Bernd456 auch schon darauf hingewiesen hat, sind das Grundlagen, daher:
__________________
www.freundepunkt.de Bitte beachte, dass ich des öfteren meine Beiträge nochmals editiere. ![]() Es werden keine Fragen per PM beantwortet! Geändert von wassy92x (21.07.2010 um 18:16 Uhr). |
|
#9
|
|||
|
|||
|
Also nochmal damit jeder das Problem versteht!
Meine SQL Abfrage lautet: PHP Quellcode:
$submodulesSql = "SELECT submodule FROM submodule, module,teachingunit WHERE pk_teachingunit_sm = pk_teachingunit_m AND title = '$ModuleName' ";
Dabei bekomme ich zwei Zeilen! Jetzt möchte ich diese beiden Zeilen in seperaten variablen gespeichert haben, also PHP Quellcode:
$meinErsterWert = 'WertZeile1';
$meinZweiterWert = 'WertZeile2'; ... Da es aber sein kann, dass ich eventuell auch Fünf zeilen bekommen kann, müssten dynamisch neue Variablen bzw. das Array gefüllt werden. PHP Quellcode:
$meinErsterWert = 'WertZeile1';
$meinZweiterWert = 'WertZeile2'; $meinDritterWert = 'WertZeile3'; $meinVierterWert = 'WertZeile4'; $meinFünfterWert = 'WertZeile5'; Demnach benötige ich also ein mechanismus, dass erst einmal herausfindet wie viel Zeilen die Abfrage hat: PHP Quellcode:
Das ist die Anzahl wieviele Variablen ich benötige bzw. wie groß das Array sein soll. In jeder Variable sollen nacheinander die Werte gespeichert werden. So dass ich einzeln auf diese zugreifen kann, um das nächste SQL Statemant zu starten. ?? [Quellcodeformatierung hinzugefügt - hellbringer] Geändert von hellbringer (21.07.2010 um 19:05 Uhr). |
|
#10
|
|||
|
|||
|
Noch mal: Bitte lerne Grundlagen! Zu diesem Zweck gibt es Joins. Du brauchst keine zwei Selects und Du brauchst auch keine durchnummerierten Variablen.
Außerdem bitte beachten: Gruß Jens
__________________
Schleichwerbung I - Schleichwerbung II - Schleichwerbung III - Schleichwerbung IV |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Erstellung von Variablen mit fortlaufender Nummer | RolfsPHP | PHP | 11 | 15.11.2009 22:48 |
| Automatische Variablen POSTen und Verarbeiten | da_jackster | PHP | 40 | 22.11.2007 16:00 |
| ' oder " für Zuweisung und Abfragen von Variablen | Mercyful | PHP | 21 | 11.10.2007 16:10 |
| Automatische Weiterleitung / http-Adresse steht in einer Variablen | BCFactory | PHP | 1 | 01.10.2007 16:00 |
| Unterschiedlicher Variablen Wert | HoMi1982 | PHP | 2 | 17.10.2006 21:30 |