php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Variable erhöhen!


 
Chemo
09-04-2003, 08:32 
 
Hi,

Also ich habe variablen von $list1 bis $list'n', kann ich die Variabel über eine schleife erhöhen???
So das dann zb.: echo $list1; echo $list2; echo $list3; echo $list'n'; ausgegeben wird!!!
:confused:

 
Günni
09-04-2003, 08:45 
 
ja, natürlich ist dies möglich.

for($i=0;$i<10;$i++)
{
echo list.$i;
}

 
MelloPie
09-04-2003, 08:46 
 
benutz lieber ein Array ansonsten musst Du mit irgendwelchen Hilfskonstrukten arbeiten...

@günni: das is jawohl Blödsinn????

 
Günni
09-04-2003, 08:51 
 
MelloPie hat recht, nutze lieber einen array.

@MelloPie
Sorry, bin mal wieder irgendwie voll verpeilt. Hab die woche grade mal bis jetzt 4 std geschlafen...

 
Chemo
09-04-2003, 09:09 
 
mm ja hä!

und wie mache ich das mit nem Array??
soll ich etwa $listeNEU="$list.$i" ???
oder wie meint ihr das??

 
MelloPie
09-04-2003, 09:12 
 
statt $liste1 machst Du $liste[1]
dann schauste Dir alle array funktionen an dies so gibt...

 
Günni
09-04-2003, 09:13 
 
Neuen Array erstellen: http://www.php.net/manual/de/function.array.php
Alle funktionen: http://www.php.net/manual/de/ref.array.php

 
Chemo
09-04-2003, 10:14 
 
muss ich den array vorher noch deklarieren??
den das klappt ni der gibt nix aus nich mal nen Fehler!! bei $list[$ID] = LEER
und bei $list2 = gibt er was aus wobei $ID = 2 ist!!

 
Günni
09-04-2003, 10:17 
 
Zeig mal ein wenig code, damit man besser nachvollziehen kann...

 
Chemo
09-04-2003, 10:38 
 
also
hier wird über select ausgewählt!

$test = die ID von der Datensätzen
<form name=eintrag$test method=post action=eintrag.php?ID=$test>";
//ausgabe
echo "<td width=22%><select "; echo "name=list$test"; echo " size=1 onChange=javascript:document.eintrag$test.submit()>
//option´s
</select></td>
</tr></form> ";

dann wird die auf der seite eintrag verarbeitet!!



$eintrag = mysql_query("UPDATE tabelle SET Status = '$list[$ID]' WHERE ID LIKE '$ID' ");


so ist nen verständlicher!! mit den code schnipsel!!

 
Günni
09-04-2003, 10:53 
 
Ne du, nicht wirklich.
Aber bei dem SQL-Statment würde ich das like nicht reinsetzten.
Würde es so machen:

$eintrag = mysql_query("UPDATE tabelle SET Status = '$list[$ID]' WHERE ID = '$ID' ");

da ansonst alle datensätze geändert würden die z. B. 7 enthalten. Also 7,17,27,...

 
Günni
09-04-2003, 10:57 
 
Würde das Formular wie du es hast auch ein wenig ändern, da dies nicht so ganz logisch ist für mich wie du das machst...


<?php
$test = die ID von der Datensätzen
?>

<form name="eintrag" method="post" action="eintrag.php">
<input type="hidden" name="ID" value=<?php echo $test ?>
<td width="22%">
<select name="auswahl">
//options
</select>
</td>
</form>

 
Chemo
09-04-2003, 11:33 
 
ja hab ich mir auch scon gedacht aber wie sieht es mit dem array aus bei

$eintrag = mysql_query("UPDATE tabelle SET Status = '$list[$ID]' WHERE ID = '$ID' "); $list[$ID] er nimmt nicht die übergebene $ID

 
Günni
09-04-2003, 11:36 
 
Versuch es mal so:
$eintrag = mysql_query("UPDATE tabelle SET Status = '".$list[$ID]."' WHERE ID = '$ID' ");
Sollte dies auch nicht gehen, dann lass dir mal den Inhalt von der Variable ID ausgeben

 
Chemo
09-04-2003, 12:44 
 
das klappt auch nicht die $ID überträgt er ja einwanfrei!!!
nur mal das wir uns richtig verstehen!!
ich schicke auf der rsten seite über form die variable $list1 und die $id rüber zur zweiten seite schicke!!!
dann will ich auf der zweiten seite die varibale $list1 zusammen drch
$list und $ID zusammen bringen da ich ja nicht weiß wieviele datensätz es werden!!

 
wahsaga
09-04-2003, 12:53 
 
Original geschrieben von Chemo
dann will ich auf der zweiten seite die varibale $list1 zusammen drch
$list und $ID zusammen bringen da ich ja nicht weiß wieviele datensätz es werden!!
wofür denn?

du bekommst eine unbekannte anzahl datensätze zurückgeliefert, na und?

du kannst ja beim abarbeiten des db-ergebnisses in einer schleife einen zähler mitlaufen lassen, dann weisst du anschliessend wie viel datensätze es waren.

oder, wenn du diese info vorher brauchst, fragst du halt mit mysql_num_rows() ab, wie viele datensätze dein ergebnis hat.


also ich verstehe ehrlich gesagt nicht, wo dein problem liegt.

 
Chemo
09-04-2003, 13:02 
 
so schwer kann das den nicht sein!
also ich lasse mir auf der Index alle datensätze ausgeben diese dann in einem formular (jeder datensatz einzel) eingebunden sind.
und wen ich im select meüListe was ändere wird die seite einträge aufgerufen und die Variable ID(eintraege.php?ID=10) mit übergeben dazu kommt noch in dem formular die variable $list+id zb.: $list10, nun will ich dann halt die spalte LISTE Updaten mit dem Wert der in der $list10 steht. da ich ja nicht weiß welche $list übergeben wird nehme ich die ID mit und will das aus $list und $ID zusammen sätzen !!

nun verständlich!!!??:confused: :rolleyes:

 
wahsaga
09-04-2003, 13:13 
 
Original geschrieben von Chemo
nun verständlich!!!??:confused: :rolleyes:
bei dem satzbau!?!

und wen ich im select meüListe was ändere wird die seite einträge aufgerufen und die Variable ID(eintraege.php?ID=10) mit übergeben dazu kommt noch in dem formular die variable $list+id zb.: $list10, nun will ich dann halt die spalte LISTE Updaten mit dem Wert der in der $list10 steht. da ich ja nicht weiß welche $list übergeben wird nehme ich die ID mit und will das aus $list und $ID zusammen sätzen !!
also, ich versuche mal nachzuvollziehen was du willst:

auf der ersten seite hast du ein select-feld.
durch ein auswahl in diesem gelangt man auf eine folge-seite, die nur den gerade eben ausgewählten datensatz beinhaltet.
und dann willst du die spalte LISTE updaten.

-> wo willst du die spalte LISTE updaten - bei allen datensätzen, oder nur bei dem einen speziellen der gerade bearbeitet wird?


ach, jetzt verstehe ich glaube ich was du sagen willst...
von der ersten seite aus übergibst du also die id (z.b. 15), und dann dazu das feld list15.
und jetzt willst du also auf den inhalt von feld list15 zugreifen?

dann kannst du mit variablen variablen arbeiten.

$listfeld = "list"+ $id; // ergibt den string "list15"
echo $$listfeld; // greift durch das doppelte $-zeichen auf die variable zu, deren name in $listfeld steht

 
Chemo
09-04-2003, 13:19 
 
sorry für den satzbau aber muss noch neben bei nen Netzwerkaufbauen!!
vielleicht sollt man imme rnur eins machen!!

ja so ist aber ich möchte nur bei den ausgewählten datensatz Die spalte Liste Updaten, deswegen nehm ich ja die ID mit damit ich einmal den Datensatz auswähle kann und die Variable damit entsprechend zusammen setzten kann!(wenn es den überhaupt geht) wie ein Formularnur das ich in der eintrag.php noch nicht weiß welche Datensatz |liste| geupdatet werden soll!!

 
wahsaga
09-04-2003, 13:36 
 
Original geschrieben von Chemo
vielleicht sollt man imme rnur eins machen!!
das klingt auf jeden fall schon mal vernünftig :-)
[...] und die Variable damit entsprechend zusammen setzten kann!(wenn es den überhaupt geht)
ja, es geht.
wie habe ich im edit meines letzten beitrages geschrieben, ich nehme mal an dass du das noch nicht gelesen hattest.

 
Chemo
09-04-2003, 14:00 
 
mm ne so richitg klappt das ni nicht!!!
ist da irgend was falsch??

nich mal das klappt!

<?php
$id = "2";

$listfeld = "list"+ $id;
echo $$listfeld;

 
Chemo
09-04-2003, 14:30 
 
so hab es hinbekommen das er die Variable in der Variablen zusammen stellt aber er arbeitet nicht mit der zusammengestelten Variablen!!
<?php
$id = 2;

$listfeld = "list$id" ;
echo "$$listfeld";
?>
und wie bekommich es hin das er mit der Variablen die in der Variablen steckt arbeitet??

 
Chemo
09-04-2003, 14:33 
 
ok alles klar hab es durch!!!
'".$$listfeld."'
hinbekommen!!! Danke für eure Arbeit!! :D


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