Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Alle Selects ungleich? (PHP) (https://www.delphipraxis.net/12191-alle-selects-ungleich-php.html)

fkerber 22. Nov 2003 16:32


Alle Selects ungleich? (PHP)
 
Hi!

Ich habe folgendes Problem, dass ich mit PHP zu lösen hätte:
Auf der Ausgangsseite sind 10 Selects, alle gleich:

Code:
<select name="check01" size="1" id="check01">
   <option>- -</option>
   <option>1</option>
   <option>2</option>
   <option>3</option>
   <option>4</option>
   <option>5</option>
   <option>6</option>
   <option>7</option>
   <option>8</option>
   <option>9</option>
   <option>10</option>
</select>
Es soll überprüft werden, ob bei den Selects nie das gleiche ausgewählt werden darf. Also wenn in Check01, "2" ausgwewählt wurde, darf es in keinem anderen ausgewählt werden (also schon ausgewählt werden, aber es soll mir gesagt werden, dass was doppelt ist)

Wie kann ich das realisieren?

Ciao und danke!
fkerber

Wormid 22. Nov 2003 18:09

Re: Alle Selects ungleich? (PHP)
 
Vielleicht noch optimierungsfähig, aber als Denkansatz ganz brauchbar, denke ich. :stupid:

Code:
  // Durchsucht alle geposteten Selects mit dem Namen "checkXX", wobei XX eine
  // laufende Nummer von 1 bis 10 ist, nach Dubletten ab. Bricht nach dem Fund
  // der ersten Dublette die Ausführung ab...
  function IsSelectUnique() // Korrekter wäre AreSelectsUnique... sieht aber kacke aus. ;-)
  {
    $myArray = array();
    for ($i = 1; $i <= 10; $i++)
    {
      $selectName = 'check' . sprintf('%02d', $i);
      if (array_key_exists($selectName, $_POST))
      {
        if (!array_key_exists($_POST[$selectName], $myArray))
        {
          $myArray[$_POST[$selectName]] = $selectName;
        }
        else
        {
          // Hier könnte man ansetzen, wenn man ausgeben will, wo was doppelt ist...
          // Feld 1: $myArray[$_POST[$selectName]]
          // Feld 2: $selectName
          return false;
        }
      }
    }
    return true;
  }

  // Aufruf der Funktion...
  if (!IsSelectUnique()) echo 'Werte doppelt angegeben!';

fkerber 23. Nov 2003 11:05

Re: Alle Selects ungleich? (PHP)
 
Hi!

Erstmal :thuimb: :thuimb: :thuimb:

Dann meine Frage :lol:

Also es funktioniert, das seh ich, aber wie? Werde nicht schlau daraus, was das script macht!
Und aus deinem Ansatz mit der Ausgabe, werde ich leider auch nicht schlau!

Noch ne Frage *sorry*

Geht es, das "- -" auszuschließen, also dass das öfter vorkommen kann?

Ciao fkerber

fkerber 23. Nov 2003 11:56

Re: Alle Selects ungleich? (PHP)
 
Hi!

Nach längerem Überlegen habe ich die Funktionsweise doch herrausbekommen. Habe nur noch die folgende Frage, sollte man besser

Code:
$_POST

oder

$HTTP_POST_VARS
verwenden?

Ciao fkerber

P.S. achja und noch die Sache mit dem Ausschließen von "- -"!

[EDIT] Problem mit Ausschluss gelöst [/EDIT]

Wormid 23. Nov 2003 23:42

Re: Alle Selects ungleich? (PHP)
 
Nimm auf jeden Fall $_POST! $HTTP_POST_VARS existiert nur noch aus Gründen der Abwärtkompatibilität, wird aber in der nächsten Zeit irgendwann wegfallen.

Gruß

Wormid

fkerber 24. Nov 2003 05:10

Re: Alle Selects ungleich? (PHP)
 
ooh!

Ok, danke, dann werde ich ab sofort $_POST verwenden!
Danke für deine Hilfe!

Ciao fkerber


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr.

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