Suchen
 
Inside Forum
Nützliche Links
PHP News
 
phpforum.de UserMap
 
phpforum.de bei Facebook
 


phpforum.de bei Twitter
 
phpforum.de Tipp
PHP Test



werbung



Zurück   Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.07.2010, 04:29
serkan serkan ist offline
Besucher
 
Registriert seit: 03.05.2007
Beiträge: 38
Standard Automatische Variablen Erstellung und Wert Zuweisung

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;
$row = pg_fetch_row($result);
$myVarNames[$i] = $row[$i]; <- genau das funktioniert logischerweise nicht. Aber wie kann ich die Varible $myVarNames[$i] die ja eigentlich einen String beinhaltet als eine Variablenbezeichnung benutzen der ich den Wert $row[$i]; zuweisen kann?
}

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
Mit Zitat antworten
  #2  
Alt 21.07.2010, 05:08
Foggy Foggy ist offline
Forum-Mitarbeiter
 
Registriert seit: 10.01.2004
Ort: Schweiz
Beiträge: 10.352
Foggy eine Nachricht über Skype™ schicken
Standard AW: Automatische Variblen Erstellung und Wert zu weisung

PHP Quellcode:
while ($row = pg_fetch_row($result)) {
    //tu was
}
Mit Zitat antworten
  #3  
Alt 21.07.2010, 13:09
serkan serkan ist offline
Besucher
 
Registriert seit: 03.05.2007
Beiträge: 38
Frage AW: Automatische Variblen Erstellung und Wert zu weisung

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...
Mit Zitat antworten
  #4  
Alt 21.07.2010, 13:25
serkan serkan ist offline
Besucher
 
Registriert seit: 03.05.2007
Beiträge: 38
Standard AW: Automatische Variblen Erstellung und Wert zu weisung

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).
Mit Zitat antworten
  #5  
Alt 21.07.2010, 13:25
Bernd456 Bernd456 ist offline
Forum-Mitarbeiter
 
Registriert seit: 17.01.2006
Beiträge: 14.529
Bernd456 eine Nachricht über Skype™ schicken
Standard AW: Automatische Variblen Erstellung und Wert zu weisung

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:
while ($row = pg_fetch_row($result)) {
$i = 0;


lern bitte die Grundlagen.
Standardantwort/FAQ:
Wer lernen will zu programmieren, sollte wissen was er tut. Alles Andere führt zu Unmengen an Frust. Jeder, der sich ernsthaft mit PHP auseinandersetzen möchte und hier eine Frage stellt, sollte zumindest Kenntnisse über die Grundlagen vorweisen können.

» Das PHP Handbuch - zu Fragen über Funktionen und deren Anwendung
alternativ die englische Variante mit den Beiträgen der Nutzer beachten
» Die PHP FAQ - wiederkehrende Fragen und Probleme zu den Grundlagen
» Ein Grundlagen Tutorial - für jeden der sich mit PHP beschäftigt ist dieses Wissen Voraussetzung
» Ein OOP Tutorial - ein Einblick in weiterführende Themen
» Das MySQL Handbuch - zu Fragen über Syntax, Funktionen und co:
» Ein MySQL Grundlagen Tutorial - zwingend notwendig für die Verwendung von Datenbanken

Weiterführende Informationen, Links, Quellen und themenübergreifende Tutorials (zb HTML/CSS etc) finden sich im entsprechenden wiki Artikel: Dokumentationen und Tutorials
__________________
Der Kopf ist rund, damit das Denken die Richtung wechseln kann.

Geändert von Bernd456 (21.07.2010 um 13:27 Uhr).
Mit Zitat antworten
  #6  
Alt 21.07.2010, 17:34
serkan serkan ist offline
Besucher
 
Registriert seit: 03.05.2007
Beiträge: 38
Frage AW: Automatische Variblen Erstellung und Wert zu weisung

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"...
Mit Zitat antworten
  #7  
Alt 21.07.2010, 18:05
Jens Clasen Jens Clasen ist offline
Forum-Mitarbeiter
 
Registriert seit: 12.02.2005
Beiträge: 9.279
Standard AW: Automatische Variblen Erstellung und Wert zu weisung

Bitte beschäftige Dich mit dem Stichwort SQL-Joins. Das was Du willst ist nicht notwendig.

Gruß Jens
Mit Zitat antworten
  #8  
Alt 21.07.2010, 18:07
wassy92x wassy92x ist offline
Engagierter Besucher
 
Registriert seit: 30.04.2009
Ort: Göppingen
Beiträge: 291
Standard AW: Automatische Variblen Erstellung und Wert zu weisung

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:
print_r($results);
kannst du dir den Aufbau des Arrays bzw. das Array ausgeben lassen.

Wie dich Bernd456 auch schon darauf hingewiesen hat, sind das Grundlagen, daher:
Standardantwort/FAQ:
Wer lernen will zu programmieren, sollte wissen was er tut. Alles Andere führt zu Unmengen an Frust. Jeder, der sich ernsthaft mit PHP auseinandersetzen möchte und hier eine Frage stellt, sollte zumindest Kenntnisse über die Grundlagen vorweisen können.

» Das PHP Handbuch - zu Fragen über Funktionen und deren Anwendung
alternativ die englische Variante mit den Beiträgen der Nutzer beachten
» Die PHP FAQ - wiederkehrende Fragen und Probleme zu den Grundlagen
» Ein Grundlagen Tutorial - für jeden der sich mit PHP beschäftigt ist dieses Wissen Voraussetzung
» Ein OOP Tutorial - ein Einblick in weiterführende Themen
» Das MySQL Handbuch - zu Fragen über Syntax, Funktionen und co:
» Ein MySQL Grundlagen Tutorial - zwingend notwendig für die Verwendung von Datenbanken

Weiterführende Informationen, Links, Quellen und themenübergreifende Tutorials (zb HTML/CSS etc) finden sich im entsprechenden wiki Artikel: Dokumentationen und Tutorials
__________________
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).
Mit Zitat antworten
  #9  
Alt 21.07.2010, 18:33
serkan serkan ist offline
Besucher
 
Registriert seit: 03.05.2007
Beiträge: 38
Frage AW: Automatische Variblen Erstellung und Wert zu weisung

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:
$rows = pg_num_rows($result);

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).
Mit Zitat antworten
  #10  
Alt 21.07.2010, 18:52
Jens Clasen Jens Clasen ist offline
Forum-Mitarbeiter
 
Registriert seit: 12.02.2005
Beiträge: 9.279
Standard AW: Automatische Variblen Erstellung und Wert zu weisung

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:

Standardantwort/FAQ:
Im Normalfall übernimmt die Forensoftware die Gestaltung Deines Text-Layouts. Für das Posten von Quellcodes ist es aber wichtig, dass diese genauso dargestellt werden, wie z.B. in Deinem normalen Editor auf dem PC.

Um dies zu ermöglichen bietet die Forensoftware einige vbCode/bbCode-Tags:

[code][/code]für Quellcode allgemein
[php][/php]für PHP-Quellcode
[html][/html]für HTML-Quellcode
[sql][/sql]für SQL-Quellcode
.

Bei Verwendung der obigen Tags wird der Code vollständig und inklusive aller Einrückungen in einer Fixed-Width-Schrift dargestellt. Zusätzlich wird bei Verwendung der letzten drei Tags, der Inhalt farblich aufgearbeitet.

Weitere Informationen über die Formatierungsmöglichkeiten dieses Forums findest Du außerdem in der Hilfe zum Thema BB-Code hier im Forum.

Bitte nutze diese Möglichkeiten in Deinen Beiträgen, insbesondere wenn Du Quellcode postest. Uns Antwortern erleichtert es das Lesen Deiner Frage, und für Dich erhöht sich die Chance, schnell eine kompetente Antwort zu erhalten.


Gruß Jens
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Ä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


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:16 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC