[GastForen Programmierung/Entwicklung PHP und MySQL dynamische variable - wie verknüpfe ich strings richtig?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

dynamische variable - wie verknüpfe ich strings richtig?

mucke
Beiträge gesamt: 4

15. Jan 2003, 13:43
Beitrag # 1 von 5
Bewertung:
(1165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich übergebe aus einem formular z. b. die werte $prod1, $prod3, $prod5 ...
da das formular dynamisch erstellt wird, weiß ich nie wie die variablen genau heißen. ich weiß nur dass der name jeweils aus "prod" und einem index (aus einer datenbank) zusammengestellt ist.

in der ausgabe möchte ich die übergebenen werte anzeigen lassen.

ich habe es die ganze zeit versucht mit:
...
while ($row = mysql_fetch_array($Result))
{
echo" $."prod".$row[id]";
}
...

natürlich stimmt da die syntax nicht. hab aber auch schon andere schreibweisen ausprobiert. wie kann ich die variable $prod+$id miteinander verknüpfen bzw. wie schreibe ich es richtig?
mfg mucke
X

dynamische variable - wie verknüpfe ich strings richtig?

Ollli
Beiträge gesamt: 458

15. Jan 2003, 16:14
Beitrag # 2 von 5
Beitrag ID: #21430
Bewertung:
(1165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
also folgendes müsste gehen:

while ($row = mysql_fetch_array($Result))
{
$temp = "prod".$row["id"];
echo $$temp;
}

ich schlage dir aber folgendes vor:

for ($i=1;$i<100;$i++) {
echo "<input type=\"text\" name=\"prod[".$i."]\">\n";
}

dann kannste die daten wie folgt handhaben:

while ($row = mysql_fetch_array($result)) {
echo $prod[$row["id"]];
}

Ollli


als Antwort auf: [#21403]

dynamische variable - wie verknüpfe ich strings richtig?

mucke
Beiträge gesamt: 4

15. Jan 2003, 17:06
Beitrag # 3 von 5
Beitrag ID: #21439
Bewertung:
(1165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
vielen vielen dank

das erste skript hat "fast" gleich funktioniert. musste aber noch eine zwischen-variable einbauen, damit die übergebenen werte auch ausgelesen werden:
...
while ($row = mysql_fetch_array($Result))
{
$temp = "prod".$row["id"];
$anzahl = $$temp;
echo" Sie möchten $anzahl $row[bezeichnung] bestellen?";
}
...
Ausgabe: Sie möchten 25 Briefumschläge bestellen?

OHNE zwischen-variable:
Ausgabe: Sie wollen $prod660 Briefumschläge bestellen?

das zweite skript funktioniert sicherlich auch (habs noch nicht probiert). hatte auch schon überlegt, das ganze in ein array zu packen und bei der ausgabe wieder auszulesen. wusste aber dann nicht so konkret wie ich das anpacken soll. außerdem wäre es für mein projekt eher umständlich.

nochmal danke. du kennst das sicher, wenn man stunden mit einem problem kämpft und dann feststellt, dass irgendwo nur ein punkt zu viel war.

mfg mucke


als Antwort auf: [#21403]

dynamische variable - wie verknüpfe ich strings richtig?

Ollli
Beiträge gesamt: 458

15. Jan 2003, 23:18
Beitrag # 4 von 5
Beitrag ID: #21473
Bewertung:
(1165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
In einem string funzt $$temp natürlich nicht, ich empfehle (Miro hat das auch mal soweit ich mich erinnern kann ;-)) die variablen nicht im String zu schreiben, sondern zu verketten:
echo "blablabla ".$$temp." weiters bla";

und btw:
jaja, die probs kenne ich ;-) - aber dazu sind ja die foren da!

Ollli


als Antwort auf: [#21403]

dynamische variable - wie verknüpfe ich strings richtig?

Miro Dietiker
Beiträge gesamt: 699

18. Jan 2003, 14:11
Beitrag # 5 von 5
Beitrag ID: #21720
Bewertung:
(1165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und weiter noch was wichtiges:

Arrayausgaben sollen immer so geschrieben werden:

echo $array["spalte"];
echo $array['spalte'];

Schreibst du:
echo $array[spalte];
Ist nie sicher ob PHP wirklich die Spalte ausgibt welche du willst...
Ausserdem ist es gut möglich (nach Dokumentation PHP) dass die
zuletzt (falsche/schlechte) geschriebene Variante in künftigen PHP-
Versionen nicht mehr unterstützt sein wird!

GrEeZ: Miro Dietiker


als Antwort auf: [#21403]
X