Meowsalot: Bestimmten Wert ausblenden

Hallo alle,

ist es möglich in einem <select> einen bestimmten Wert auszublenden wenn

$User->kuerzel != $array['ersteller']

ist? Es geht um folgende Ausgabe:

<select class="form-control" name="status" id="status">

 <?php foreach($todoStatus as $array){ ?>
 
 <option value="<?php echo htmlspecialchars($array['id']); ?>" 
                <?php echo ($status == $array['id'] ? "selected" : "");?>>
                <?php echo htmlspecialchars($array['titel']); ?>
 </option>

 <?php } ?>

</select>

Es geht um diesen Wert, der nicht angezeigt werden soll

<option value="302fa36fca330e8faf9a5fe9f6ca5637">erledigt</option>

Bis bald!
Meowsalot (Bernd)

  1. "auszublenden" oder "gar nicht erst an den Client senden?"

    Ausblenden:

    In HTML5 gibt es das Attribut "hidden". das kann man durch PHP, aber auch durch Javascript setzen: objectOption.hidden=true;

    Gar nicht erst an den Client senden:

    Im PHP ein if und dann die Bedingung notieren... sodann was ausgegeben werden soll.

  2. @@Meowsalot

    ist es möglich in einem <select> einen bestimmten Wert auszublenden wenn

    $User->kuerzel != $array['ersteller']
    

    Wo genau ist dein Problem, die Abfrage einzubauen?

    <select class="form-control" name="status" id="status">
    
    	<?php foreach($todoStatus as $array): ?>
    		<php if (…): ?>
    
    			<option
    				value="<?php echo htmlspecialchars($array['id']); ?>" 
    				<?php echo ($status == $array['id'] ? "selected" : "");?>
    			>
    				<?php echo htmlspecialchars($array['titel']); ?>
    			</option>
    
    		<?php endif; ?>
    	<?php endfor; ?>
    
    </select>
    

    Die Bedingung bekommst du selbst gefüllt?

    Ich hab gleich mal die geschweiften Klammern durch die alternative Syntax ersetzt. Aus Gründen; siehe Diskussion.

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
    1. Hallo Gunnar,

      Wo genau ist dein Problem, die Abfrage einzubauen?

      naja dieses $User->kuerzel != $array['ersteller'] einzubauen ist kein Problem, das hätte ich selbst hinbekommen. Aber wenn dieses if zutrifft, dann soll ein option erst gar nicht angezeigt werden.

      <select class="form-control" name="status" id="status">
      
      	<?php foreach($todoStatus as $array): ?>
      		<php if ($User->kuerzel != $array['ersteller']): ?>
      
      			<option
      				value="<?php echo htmlspecialchars($array['id']); ?>" 
      				<?php echo ($status == $array['id'] ? "selected" : "");?>
      			>
      				<?php echo htmlspecialchars($array['titel']); ?>
      			</option>
      
      		<?php endif; ?>
      	<?php endfor; ?>
      
      </select>
      

      Bis bald!
      Meowsalot (Bernd)

      1. Hallo,

        hab es direkt in der Funktion gelöst

        if ($User->kuerzel != $array['ersteller']) {
        $todoStatus = todoStatus($mysqli, "1");
        } else {
        $todoStatus = todoStatus($mysqli);
        }
        

        Bis bald!
        Meowsalot (Bernd)

      2. @@Meowsalot

        naja dieses $User->kuerzel != $array['ersteller'] einzubauen ist kein Problem, das hätte ich selbst hinbekommen. Aber wenn dieses if zutrifft, dann soll ein option erst gar nicht angezeigt werden.

        Du willst also abfragen, ob dieses $User->kuerzel nicht ein bestimmtes ist und ob die Option ($array['id']) eine bestimmte ist

        LLAP 🖖

        --
        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
        1. Hallo Gunnar,

          genau!

          Bis bald!
          Meowsalot (Bernd)