Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Funktion schreiben (https://www.delphipraxis.net/14171-%5Bphp%5D-funktion-schreiben.html)

Killer 3. Jan 2004 19:35


[PHP] Funktion schreiben
 
Hi ich hab folgenden Code, aus dem ich eine Funktion machen will, da der Code sich 7x wiederholt und nur geringfügig ändert...

Hier der Code:

Code:
   if ([color=red]$contentinfo['content_rate_layout'][/color]==[color=red]'1'[/color]) $rate[color=red]1_1[/color]=' selected';
   elseif ([color=red]$contentinfo['content_rate_layout'][/color]==[color=red]'2'[/color]) $rate[color=red]1_2[/color]=' selected';
   ...
   elseif ([color=red]$contentinfo['content_rate_layout'][/color]==[color=red]'10'[/color]) $rate[color=red]1_10[/color]=' selected';

Nächste Schleife
   if ([color=red]$contentinfo['content_rate_design'][/color]==[color=red]'1'[/color]) $rate[color=red]2_1[/color]=' selected';
...
Anmerkung: Rote Stellen ändern sich!

Nun hab ich mir gedacht, am einfachsten wäre glaub ich wenn ich als Eingabeparameter der Funktion ein String setzen würde, der $contentinfo['content_rate_layout'] ersetzt und dann 2 FOR-Schleifen, die 1te zählt von 1 bis 10 und überprüft per IF ob die obige Variable gleich dem Wert dahinter ist. Und wenn die Schleife fertig iss zählt die 2te Schleife 1 weiter und die nächste 1te Schleife fängt an.

Was meint ihr? Isses so realisierbar?

[edit=sakura] [pre]-Tags gesetzt. Mfg, sakura[/edit]

Killer 3. Jan 2004 20:07

Re: [PHP] Funktion schreiben
 
Habs schon fast gelöst, meine Frage nun wie kann man in PHP Variablen und Strings verknüpfen. Ich möchte zb. die Stringvariable $wert mit der Integervariable $i verknüpfen und dazwischen noch ein String aber irgendwie geht das nicht.

Code:
$wert . '1' . $i;
Wieso geht das nicht so?

RobertS 3. Jan 2004 20:10

Re: [PHP] Funktion schreiben
 
Code:
$var = "hallo ".$text." das ist eine Variable...Schleifendurchlauf nr: ".$i."";

mirage228 3. Jan 2004 20:11

Re: [PHP] Funktion schreiben
 
Code:
$myvar = $mystr . "abc" . $myint;
so gehts glaub ich.

EDIT: Da war wohl jemand schneller ^^

mfG
mirage228

Killer 4. Jan 2004 12:17

Re: [PHP] Funktion schreiben
 
Danke aber ich hab noch ein Problem und zwar hab ich hier wieder Code:
Code:
   if ($contentinfo['content_rate_layout']=='1') $rate1_1=' selected';
   elseif ($contentinfo['content_rate_layout']=='2') $rate1_2=' selected';
   elseif ($contentinfo['content_rate_layout']=='3') $rate1_3=' selected';
   elseif ($contentinfo['content_rate_layout']=='4') $rate1_4=' selected';
   elseif ($contentinfo['content_rate_layout']=='5') $rate1_5=' selected';
   elseif ($contentinfo['content_rate_layout']=='6') $rate1_6=' selected';
   elseif ($contentinfo['content_rate_layout']=='7') $rate1_7=' selected';
   elseif ($contentinfo['content_rate_layout']=='8') $rate1_8=' selected';
   elseif ($contentinfo['content_rate_layout']=='9') $rate1_9=' selected';
   elseif ($contentinfo['content_rate_layout']=='10') $rate1_10=' selected';

   if ($contentinfo['content_rate_design']=='1') $rate2_1=' selected';
   elseif ($contentinfo['content_rate_design']=='2') $rate2_2=' selected';
   elseif ($contentinfo['content_rate_design']=='3') $rate2_3=' selected';
   elseif ($contentinfo['content_rate_design']=='4') $rate2_4=' selected';
   elseif ($contentinfo['content_rate_design']=='5') $rate2_5=' selected';
   elseif ($contentinfo['content_rate_design']=='6') $rate2_6=' selected';
   elseif ($contentinfo['content_rate_design']=='7') $rate2_7=' selected';
   elseif ($contentinfo['content_rate_design']=='8') $rate2_8=' selected';
   elseif ($contentinfo['content_rate_design']=='9') $rate2_9=' selected';
   elseif ($contentinfo['content_rate_design']=='10') $rate2_10=' selected';

   if ($contentinfo['content_rate_gameplay']=='1') $rate3_1=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='2') $rate3_2=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='3') $rate3_3=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='4') $rate3_4=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='5') $rate3_5=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='6') $rate3_6=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='7') $rate3_7=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='8') $rate3_8=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='9') $rate3_9=' selected';
   elseif ($contentinfo['content_rate_gameplay']=='10') $rate3_10=' selected';
Insgesamt hab ich 7 solche Blöcke, die sich eigentlich recht ähnlich sind. Kann mir jemand sagen wie ich das am besten in eine Funktion packe? Ich schaffs irgendwie nicht recht.

Chewie 4. Jan 2004 12:33

Re: [PHP] Funktion schreiben
 
OK, hast recht, ich hab gemerkt, das geht doch so nícht. Es liegt daran, dass bei variablen Variablennamen anscheinend der ganze Name variabel sein muss und nicht einen konstanten und einen variablen Teil haben kann. Also probiers mal so:

Code:
if (($contentinfo['content_rate_layout'] >= 1) && ($contentinfo['content_rate_layout'] <= 10))
{
  $varname = 'rate1_' . $contentinfo['content_rate_layout'];
  $$varname = ' selected';
}

if (($contentinfo['content_rate_design'] >= 1) && ($contentinfo['content_rate_design'] <= 10))
{
  $varname = 'rate2_' . $contentinfo['content_rate_design'];
  $$varname = ' selected';
}

if (($contentinfo['content_rate_gameplay'] >= 1) && ($contentinfo['content_rate_gameplay'] <= 10))
{
  $varname = 'rate3_' . $contentinfo['content_rate_gameplay'];
  $$varname = ' selected';
}
So sollte es gehen.

Aber Arrays sind ganz einfach zu benutzen. Du brauchst das Array nicht vorher zu erstellen und kannst via [Index] einfach auf einen Wert des Arrays zugreifen.
Außerdem benutzt du ja bereits Arrays: $contentinfo ist ein Array, wenn auch ein assoziatives, also mit Strings anstelle von Zahlen als Indizierung.

Killer 4. Jan 2004 13:37

Re: [PHP] Funktion schreiben
 
@Chewie:

So geht das leider auch nicht, dann zeigt er mir in der ComboBox nur den Standardwert an :(

Und mit nem Array da wirds für mich wieder zu kompliziert, vor allem weil ich in PHP nich grad der Profi bin...

Chewie 4. Jan 2004 13:57

Re: [PHP] Funktion schreiben
 
Ups, ich hab ausversehen auf "Edit" anstatt auf "Zitat" geklcikt :oops:

Die Antwort auf diesen Post befindet sich also weiter oben :wink:

Killer 5. Jan 2004 12:20

Re: [PHP] Funktion schreiben
 
Super danke jetzt gehts :)

Vielen Dank für deine Hilfe! Wegen den Arrays da hast du schon recht, aber ich benutz sie nur wenns unbedingt sein muss...


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz