Ergebnis 1 bis 11 von 11
Thema: einlesen von feld namen
-
05-02-2003, 14:02 #1
einlesen von feld namen
*umguck* bin ich hier richtig php *g*
jop....hab mich jetzt mal in diese sache verlaufen....
zum thema:
hab ein formular, alle felder mit eine name betitelt.
feld0, feld1,feld2........usw
nun will ich aber nicht für jede variable ein echo schreibe....
somit hab ich zuerst die variablen in ein array gepakt
felder = array($feld0,$feld1,$feld2.......);
und mit foreach ausgeben lassen, das klappt!
doch ist mir das auch viel zu blöd immer, falls ein inputfeld dazu kommt, den neuen feldnamen in das array zu schreiben.
drum möchte ich sie mit einer for schleife einlesen lassen.
und zwar so:
PHP-Code:$felder = array();
for ($i=0;$i<=6;$i++)
{
$felder[$i] = $feld+$i;
}
PHP-Code:foreach ($felder as $field)
{
echo "ausgabe: $field<br>";
}
steht.....
jo, die berühmte frage, was mach ich falsch?oder gibts eine methode die die beiden variablen zusammen führt zu einer, damit ich sie ausgeben kann?
thx
-
05-02-2003, 14:47 #2
Eroberer
- registriert
- 18-12-2001
- Beiträge
- 71
vielleicht so:
$felder = array();
for ($i=0;$i<=6;$i++)
{
$felder[$i] = "feld".$i;
}
odyss
-
05-02-2003, 14:52 #3
Routinier
- registriert
- 13-01-2003
- Beiträge
- 338
Du kannst die Zeile $felder=new Array(); sogar weglassen. Vielleicht muss man das auch. Habe so etwas nämlich bei php noch nie gesehen. Arbeite aber niicht viel damit
-
05-02-2003, 15:06 #4
@odyss
hab ich auch schon probiert.....da gibt er mir nur die feld0,feld1,feld2....aus....
gibts nicht eine methode die ein string in variablen umwandelt?
@abn
joah geht auch so.....
-
05-02-2003, 15:30 #5
Eroberer
- registriert
- 18-12-2001
- Beiträge
- 71
ich weis nicht genau was du willst.
Weshalb willst Du Variablen ausgeben?
Wenn Dein Formularfeld so ist:
name = bla,
dann wandelt php in der aufgerufenen Seite das um in
$bla = hjgh..
oder noch genauer
$_GET['bla']= hjgi..
oder $_POST..
odyss
-
05-02-2003, 16:25 #6
ja eben ich will einfach nicht jeden feldnamen als varaible aufführen....bin ich zu falu zu!
will also nicht
echo $feld0;
echo $feld1;
echo $feld2;
echo $feld3;
.......
schreiben, sondern die variablen in ein array einlesen lassen.
wenn ich das so mache :
$felder = array($feld0,$feld1,$feld2,......);
und es ausgeben lasse geht es.
aber das ist mir immer noch zuviel schreibarbeit....
deswegen will ich sie so:
$felder = array();
for ($i=0;$i<=6;$i++)
{
$felder[$i] = $feld+$i;
}
einlesen lassen....
in js geht sowas wunderbar.....
naja....
gleich noch ne andere frage, kann man die foreach-schleife erweitern? also wie bei der for-schleife!
bei der forschleife geht das so....
for ($i=0,$ii=5; $i<5,$ii>5; $i++,$ii--)
wie kann man das also mit der foreach-schleife machen....??
foreach ($felder as $field)
-
05-02-2003, 17:14 #7
hallo,
also hier ist glaub ich der Fehler:Code:$felder[$i] = $feld+$i;
dann müsstest du es mit foreach ausgeben können....
probiers einfach noch mal
planet4.
-
05-02-2003, 17:48 #8
Hallo wom!
Wie macht man das in JS ???? -> funktioniert genauso 'eval'..:::Andi:::..
-
05-02-2003, 17:50 #9
Noch was:
Wenn du die felder einfach alle feld[] benennst bekommst du auf der Zielseite ein array $feld[]...:::Andi:::..
-
05-02-2003, 23:40 #10
also mit eval hab ich das auch schon probiert das war ja mein erster ansatzpunkt, aber das geht auch nicht, fehler!
egal, aber das mit dem "feld[]" is geil! und klappt super! und ist sogar schön kurz und knapp!
dank dir comet und auch dir odyss und planet4
na das kann ja lustig werden mit php
-
06-02-2003, 17:56 #11
du hast zwar schon eine lösung, aber ich zeige dir doch noch die lösung zu deinem ursprünglichen problem:
ich schreibe auch immer $varname = array(); es wird zwar nicht wirklich gebraucht, aber ich finde, der code wird sauberer.
PHP-Code:// mit register_globals = on
$felder = array();
for ($i=0;$i<=6;$i++) {
$felder[] = ${$feld.$i};
}
// mit register_globals = off
$felder = array();
for ($i=0;$i<=6;$i++) {
$felder[] = $_POST[$feld.$i]; // bzw. $_GET, $_COOKIE, $_FILES, $_SERVER, $_ENV
}
Lesezeichen