login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Selectieprobleem

Offline Sonaryr - 26/11/2008 19:41
Avatar van SonaryrNieuw lid ik heb 4 families met 6,2,2,5 mensen in. iedere familie moet een naam trekken uit een andere familie, maar soms loopt dit fout omdat eruiteindelijk maar 2 mensen uit dezelfde familie overblijven
de code:
  1. if($p=="trek")
  2. {
  3. $query="select * from firmthegame_be.kerst where naam='".$_POST['naam']."'";
  4. $result=mysql_query($query,$link);
  5. if(mysql_num_rows($result)=="0")
  6. {
  7. echo "Deze naam is niet gevonden";
  8. }
  9. else
  10. {
  11. $rij=mysql_fetch_array($result);
  12. if($rij['gekocht']!=1)
  13. {
  14. $nr=rand(1,15);
  15. $query2="select * from firmthegame_be.kerst where id=".$nr;
  16. $result2=mysql_query($query2,$link);
  17. $rij2=mysql_fetch_array($result2);
  18. while ($rij2[fam_id]==$rij[fam_id] || $rij2['test']!="0")
  19. {
  20. $nr=rand(1,15);
  21. $query2="select * from firmthegame_be.kerst where id=".$nr;
  22. $result2=mysql_query($query2,$link);
  23. $rij2=mysql_fetch_array($result2);
  24. echo $query2."<br>";
  25. }
  26. echo $nr;
  27. echo "jouw uitverkorene is geworden: ".$rij2['Naam'];
  28. $query3="update firmthegame_be.kerst set koper_id='".$rij['id']."', test=1 where id='".$rij2['id']."'";
  29. echo $query3;
  30. mysql_query($query3,$link);
  31. $query3="update firmthegame_be.kerst set gekocht=1 where id='".$rij['id']."'";
  32. mysql_query($query3,$link);
  33. mysql_close($link);
  34. }
  35. else
  36. {
  37. echo "Jij hebt al een naam getrokken";
  38. }
  39. }
  40. }

database:
  1. -- phpMyAdmin SQL Dump
  2. -- version 2.11.6
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- Host: localhost
  6. -- Generatie Tijd: 26 Nov 2008 om 19:40
  7. -- Server versie: 5.0.51
  8. -- PHP Versie: 5.2.6
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12. --
  13. -- Database: `firmthegame_be`
  14. --
  15.  
  16. -- --------------------------------------------------------
  17.  
  18. --
  19. -- Tabel structuur voor tabel `kerst`
  20. --
  21.  
  22. CREATE TABLE `kerst` (
  23. `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  24. `Naam` text NOT NULL,
  25. `verlang1` text NOT NULL,
  26. `verlang2` text NOT NULL,
  27. `verlang3` text NOT NULL,
  28. `koper_id` tinyint(4) NOT NULL,
  29. `test` tinyint(4) NOT NULL DEFAULT '0',
  30. `gekocht` tinyint(4) NOT NULL DEFAULT '0',
  31. `fam_id` tinyint(4) NOT NULL,
  32. PRIMARY KEY (`id`)
  33. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
  34.  
  35. --
  36. -- Gegevens worden uitgevoerd voor tabel `kerst`
  37. --
  38.  
  39. INSERT INTO `kerst` (`id`, `Naam`, `verlang1`, `verlang2`, `verlang3`, `koper_id`, `test`, `gekocht`, `fam_id`) VALUES
  40. (1, 'Maarten', '', '', '', 0, 0, 0, 1),
  41. (2, 'Jan', '', '', '', 0, 0, 0, 1),
  42. (3, 'Ann', '', '', '', 0, 0, 0, 1),
  43. (4, 'Dirk', '', '', '', 0, 0, 0, 1),
  44. (5, 'Sofie', '', '', '', 0, 0, 0, 1),
  45. (6, 'Kelly', '', '', '', 0, 0, 0, 1),
  46. (7, 'Moeke', '', '', '', 0, 0, 0, 2),
  47. (8, 'Peter', '', '', '', 0, 0, 0, 2),
  48. (9, 'Erik', '', '', '', 0, 0, 0, 3),
  49. (10, 'Linda', '', '', '', 0, 0, 0, 3),
  50. (11, 'Ilya', '', '', '', 0, 0, 0, 4),
  51. (12, 'Els', '', '', '', 0, 0, 0, 4),
  52. (13, 'William', '', '', '', 0, 0, 0, 4),
  53. (14, 'Margot', '', '', '', 0, 0, 0, 4),
  54. (15, 'Roel', '', '', '', 0, 0, 0, 4);

2 antwoorden

Gesponsorde links
Offline darkdrag0n20 - 01/12/2008 23:05
Avatar van darkdrag0n20 Nieuw lid Ik heb even uitgerekend en kom op het zelfde probleem er zijn 2 over.
maar als je de grote familie van 6 in 2 van 3 deelt, werkt het wel maar dan kan min 1 van de in 2en gedeelde familie iemand uit de zelfde familie trekken.
Offline Kr4nKz1n - 02/12/2008 09:00
Avatar van Kr4nKz1n Onbekend Het zou voor mij en ook voor andere handiger zijn als je variabele een normale naam zouden hebben. Zodat we aan de naam van de variabele al kunnen zien wat de waarde daarvan zou kunnen zijn.

Dus geen result, query en rij gebruiken.

Leest veel makkelijker en zo kunnen we het beter om spitten.

Des on danks weet ik 'nog' niet wat de oplossing voor jouw probleem is.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.31s