Nein, soll eben _nicht_ für alle gleich sein! Nur für die letzten 6 Einträge ganz unten.
Ankündigung
Einklappen
Keine Ankündigung bisher.
einzelne <option></option> auf disabled setzen
Einklappen
Neue Werbung 2019
Einklappen
X
-
Dann bau dir eine Funktion, die dir für eine übergebene ID zurückliefert, ob sie disabled ist oder nicht. Aber wie gesagt, mit einer Schleife wäre das einfacher und logischer.[I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]
Kommentar
-
Hier habe ich es in der Schleife, es ändert sich aber überhaupt nichts. Es ist doch egal ob ich es von Hand oder in einer Schleife zusammen bau?
PHP-Code:
// Das Projekt welches ich aus der Datenbank auslese hat den Stauts 0
$Status = 0;
// Das Projekt welches ich aus der Datenbank auelse hat den Projekt-Staus, siehe unten
$p_status = "904895f93ccb9f1f44479582c9d4bd4e";
// Hier prüfe ich ob das Projekt folgenden Status hat
if ($p_status != "a3e18039dbdaa14cc52bbaa3d4e4a4c7" OR
$p_status != "5da361ecee7c0c71971dab119a9babce" OR
$p_status != "54a556b805869244d18fe0dc0c19c4ce" OR
$p_status != "3018babe7d2a1fbeb43c3bae0fcd532f" OR
$p_status != "2afeb8b8f86e17862748b6402da01db6" OR
$p_status != "6e623de7c366c92accd2b4a7ee49ad2a") {
// Wenn ja, soll geshcuat werden ob das Projekt den Status 0 hat, wenn ja setzte den Wert disabled="disabled
if ($Status == 0) {
$disabled = 'disabled="disabled"';
} else {
$disabled = 'hallo';
}
}
?>
<form action="" method="POST">
<select name="p_status" id="p_status" style="width: 15em; background-color: #efefef;">
<?php
$projektstatus = projektstatus($mysqli);
foreach($projektstatus as $array){ ?>
<option
value="<?php echo $array['ps_code'];?>"<?php echo ($p_status == $array['ps_code'] ? "selected" : "");?> <?php echo $disabled; ?>>
<?php echo $array['ps_titel'];?>
</option>
<?php } ?>
</select>
</form>
Kommentar
-
Es ist doch egal ob ich es von Hand oder in einer Schleife zusammen bau?[I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]
Kommentar
-
Ich habe es
PHP-Code:
// Das Projekt welches ich aus der Datenbank auslese hat den Stauts 0
$Status = 0;
// Das Projekt welches ich aus der Datenbank auelse hat den Projekt-Staus, siehe unten
$p_status = "904895f93ccb9f1f44479582c9d4bd4e";
?>
<form action="" method="POST">
<select name="p_status" id="p_status" style="width: 15em; background-color: #efefef;">
<?php
$projektstatus = projektstatus($mysqli);
foreach($projektstatus as $array){
if ($array['ps_code'] == "a3e18039dbdaa14cc52bbaa3d4e4a4c7" OR
$array['ps_code'] == "5da361ecee7c0c71971dab119a9babce" OR
$array['ps_code'] == "54a556b805869244d18fe0dc0c19c4ce" OR
$array['ps_code'] == "3018babe7d2a1fbeb43c3bae0fcd532f" OR
$array['ps_code'] == "2afeb8b8f86e17862748b6402da01db6" OR
$array['ps_code'] == "6e623de7c366c92accd2b4a7ee49ad2a") {
// Wenn ja, soll geshcuat werden ob das Projekt den Status 0 hat, wenn ja setzte den Wert disabled="disabled
if ($Status == 0) {
$disabled = 'disabled="disabled"';
} else {
$disabled = '';
}
}
?>
<option
value="<?php echo $array['ps_code'];?>"<?php echo ($p_status == $array['ps_code'] ? "selected" : "");?> <?php echo $disabled; ?>>
<?php echo $array['ps_titel'];?>
</option>
<?php } ?>
</select>
</form>
Kommentar
-
Also eine von den beiden If-Abfragen kannst du dir sparen. $Status ist immerhin immer 0, wird ja im Laufe des Scripts bin inkl. der Schleife nicht mehr verändert.
Den Standard-Wert musst du schon vor den If-Abfragen definieren, sonst wird die Variable nicht definiert wenn der Datensatz nicht zu den 6 speziellen gehört.
PHP-Code:foreach($projektstatus as $array){
$disabled = '';
if ($array['ps_code'] == "a3e18039dbdaa14cc52bbaa3d4e4a4c7" OR
$array['ps_code'] == "5da361ecee7c0c71971dab119a9babce" OR
$array['ps_code'] == "54a556b805869244d18fe0dc0c19c4ce" OR
$array['ps_code'] == "3018babe7d2a1fbeb43c3bae0fcd532f" OR
$array['ps_code'] == "2afeb8b8f86e17862748b6402da01db6" OR
$array['ps_code'] == "6e623de7c366c92accd2b4a7ee49ad2a")
{
$disabled = 'disabled="disabled"';
}
[COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
[URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]
Kommentar
-
Also du meinst so?
PHP-Code:
foreach($projektstatus as $array){
$disabled = '';
$array_status = array(
"3018babe7d2a1fbeb43c3bae0fcd532f",
"2afeb8b8f86e17862748b6402da01db6",
"6e623de7c366c92accd2b4a7ee49ad2a",
"602c5602d0a86003a925951b46a012b4",
"5555d1be56a4b410da755026783b4d9e");
if ( in_array($array['ps_code'], $array_status) ) {
$disabled = 'disabled="disabled"';
}
Kommentar
-
PHP-Code:<?php
// Das Projekt welches ich aus der Datenbank auslese hat den Stauts 0
$Status = 0;
// Das Projekt welches ich aus der Datenbank auelse hat den Projekt-Staus, siehe unten
$p_status = "904895f93ccb9f1f44479582c9d4bd4e";
$disabled_status = array(
"3018babe7d2a1fbeb43c3bae0fcd532f",
"2afeb8b8f86e17862748b6402da01db6",
"6e623de7c366c92accd2b4a7ee49ad2a",
"602c5602d0a86003a925951b46a012b4",
"5555d1be56a4b410da755026783b4d9e");
$projektstatus = projektstatus($mysqli);
?>
<form action="" method="POST">
<select name="p_status" id="p_status" style="width: 15em; background-color: #efefef;">
<?php
foreach($projektstatus as $array){
$disabled = "";
$selected = "";
if (in_array($array['ps_code'], $disabled_status)) {
$disabled = 'disabled="disabled"';
}
if ($p_status === $array['ps_code']) {
$selected = "selected";
}
?>
<option
value="<?= $array['ps_code'] ?>"
<?= $selected ?>
<?= $disabled ?>
>
<?= $array['ps_titel'] ?>
</option>
<?php } ?>
</select>
</form>
Ich finde auch, dass sich die For-Schleife und die IF-Abfrage besser lesen lassen.
Sobald du das Array mit den Status-Codes noch irgendwo anders braucht spart es dann eben auch Arbeit, weil du die Daten nicht mehrfach bearbeiten musst wenn sich da mal was ändert.[COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
[URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]
Kommentar
-
Und bitte htmlspecialchars() nicht vergessen!
BTW.. ad Lesbarkeit:
PHP-Code:$disabled_status = array(
"3018babe7d2a1fbeb43c3bae0fcd532f",
"2afeb8b8f86e17862748b6402da01db6",
"6e623de7c366c92accd2b4a7ee49ad2a",
"602c5602d0a86003a925951b46a012b4",
"5555d1be56a4b410da755026783b4d9e");
PHP-Code:$disabled_status = [
"3018babe7d2a1fbeb43c3bae0fcd532f",
"2afeb8b8f86e17862748b6402da01db6",
"6e623de7c366c92accd2b4a7ee49ad2a",
"602c5602d0a86003a925951b46a012b4",
"5555d1be56a4b410da755026783b4d9e"
];
The string "()()" is not palindrom but the String "())(" is.
Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
PHP.de Wissenssammlung | Kein Support per PN
Kommentar
Kommentar