login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array_shift

Offline Stefan14 - 15/06/2008 19:32
Avatar van Stefan14PHP gevorderde Naar aanleiding van dit topic: http://www.site...bingokaart

doordat ik controleer of het getal al getrokken is blijkt de array_shift reeds een getal op te schuiven waardoor de getallen die getrokken zijn niet meer op de kaart gezet worden.
Ik heb het getal juist bewust in een aparte variabele gezet, maar dat blijkt niet te helpen, wat moet ik doen?

script:
  1. <?php
  2. $query1 = "SELECT * FROM bingonu WHERE username = '".$user."' AND kaartnr = 1 AND ronde = '".$rondea."' ORDER BY getallen ASC LIMIT 0,25";
  3. $result1 = mysql_query($query1) or die (mysql_error());
  4. while ($row = mysql_fetch_assoc($result1))
  5. {
  6. $cijfers[] = $row['getallen'];
  7. }
  8.  
  9. for ($p = 1; $p <= 5; $p++)
  10. {
  11. echo '<tr><td style="background-color: #0066FF;">&nbsp;</td>';
  12. for ($i = 1; $i <= 5; $i++)
  13. {
  14. // echo van de td
  15. if ($i == 3 && $p == 3) //controleren of de geldzak weergegeven moet worden
  16. {
  17. echo '<td style="background-image: url(images/yellow_space.png); background-repeat:no-repeat; background-position: center;" width="50" height="50" align="center" valign="middle"><img src="images/moneybag.png" border="0" /></td>';
  18. }
  19. else
  20. {
  21. $cijfer = array_shift($cijfers); //volgende getal in de array aanspreken
  22. //controleren of dit getal getrokken is
  23. $query2 = "SELECT COUNT(*) AS aantal FROM trekking WHERE getal = ".$cijfer;
  24. $result2 = mysql_query($query2) or die (mysql_error());
  25. $trekking = mysql_result($result2,0,'aantal');
  26.  
  27. if ($trekking > 0)
  28. {
  29. echo '<td style="font-weight: bold; background-image: url(images/yellow_space.png); background-repeat:no-repeat; background-position: center;" width="50" height="50" align="center" valign="middle">'.array_shift($cijfers).'</td>';
  30. }
  31. else
  32. {
  33. echo '<td style="background-image: url(images/yellow_space.png); background-repeat:no-repeat; background-position: center;" width="50" height="50" align="center" valign="middle">'.$cijfer.'</td>';
  34. }
  35. }
  36.  
  37. echo '</td>';
  38. }
  39. echo '<td style="background-color: #0066FF;">&nbsp;</td></tr>';
  40. }
  41. ?>

1 antwoord

Gesponsorde links
Offline skillat2 - 15/06/2008 23:27
Avatar van skillat2 HTML beginner Je zou natuurlijk alle getallen die al getrokken zijn in een array kunnen zetten. En vervolgens kijken of het volgende nummer al voorkomt.

Je moet alleen deze variable veranderen voor die van jou. Namelijk: $getrokken_getallen en $trekkings_nummer

  1. <?php
  2. # in jou geval is dat $cijfers ?
  3. # bijvoorbeeld deze array is gevuld met: array(1,15,7,4);
  4. $getrokken_getallen = array();
  5.  
  6. # checken of het volgende nummer al voorkomt
  7. if(in_array($trekkings_nummer,$getrokken_getallen)
  8. {
  9. # getal is al getrokken -> wordt niet op de kaart gezet
  10. }
  11. else
  12. {
  13. # getal komt nog niet voor -> wordt op de kaart gezet
  14. }
  15. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s