login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Controleren op dubbele waarden in loop

Offline DRW - 23/10/2008 11:21
Avatar van DRWNieuw lid Hoi,

Ik heb nu een scriptje gemaakt, waarmee ik adhv een getal (stel nu even 5) een aantal 'SELECT' (HTML) velden tevoorschijn tover dmv een 'for' loop.

Deze SELECT velden heb elk een unieke naam meegekregen alsook de <option> (die word uitgelezen dmv van een while loop uit de DB).

Kortom; dit is het stukje script in de for en in de while loop, hetgene dus 5x getoond word, met de verschillende waarden als options uit de DB

  1. <SELECT class="input2" name="<? echo "Data" .$i; ?>">
  2. <?
  3. while ($Data = mysql_fetch_assoc($DataX)) {
  4. ?>
  5. <option value="<? echo $Data['id']; ?>"><? echo $Data['status']; ?>
  6. </option>
  7. <?
  8. }
  9. ?>
  10. </SELECT>


Na dit word het formulier gepost en ga ik door naar een volgende. Hier zit mijn probleem. Aangezien er 5 velden zijn, met een dropdownlist met dezelfde items in elke lijst, zou ik graag controleren of er items 2x of meer zijn aangeduid, zoja -> error..
Indien niet; -> Input in DB.

Dit heb ik al:

  1. for ($i=1; $i<=$_POST['fields']; $i++) //Bij fields geeft hij het aantal velden aan, zodat hij weet hoeveel x hij de loop max. mag herhalen.
  2. {
  3. $Data[$i] = $_POST['Data'. $i]; //Hier zet ik Data1, Date2 in een andere var, waarmee ik nadien Data 1, 2, 3 met elkaar vergelijken
  4. }


En dat lukt mij nu niet echt.. Hoe vergelijk ik Data 1, Data 2, Data 3 met elkaar IN die loop? (Of eruit als dat de oplossing is  )

Het is moeilijk uitgelegd, maar hoop dat je er een beetje aan uit kan  

3 antwoorden

Gesponsorde links
Offline Wim - 23/10/2008 15:34
Avatar van Wim Crew algemeen array maken en dan controleren met PHP.net: in_array

Misschien is het ook wel interessant om hier gebruik te maken van javascript, zodat de gebruiker onmiddelijk weet of hij een foute invoer gekozen heeft... Dan maak je gebruik van een onChange.
Offline DRW - 23/10/2008 23:08
Avatar van DRW Nieuw lid Hoe pas ik die in_array dan toe in mijn als ik $Data[$i] met $Data[$i] wil vergelijken? Heb al naar beschrijven en voorbeelden van in_array() gezocht, maar iets echt toepasbaar op mijn situatie kan ik er niet uithalen..
Offline Rens - 23/10/2008 23:11
Avatar van Rens Gouden medaille

Crew algemeen
  1. <?PHP
  2. $Values = array();
  3. while ($Data = mysql_fetch_assoc($DataX))
  4. {
  5. if(!In_Array($Values, $Data['status']))
  6. {
  7. $Values['status'] = $Data['id'];
  8. }
  9. }

En dan vervolgens met PHP.net: foreach uitlezen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.409s