opvragen van winnars uit een tabel
Ik zal gelijk met de voet in huis vallen..
ik heb een tijd geleden een zeer mooi script gevonden hier geloof ik of op een andere site..
het heet Cijfer lijst en is zeer mooi in elkaar gezet
.. Dat script bracht me op het idee om dat gene te maken wat ik nodig had en dat is het laten posten van results door hosts die een tournement hebben gehost en dus die results ...( winnar , 2de plaats,,enz ) te kunnen posten en vervolgens weer terug kunnen zien op een result site.
Dit heb ik inmiddels allemaal gemaakt
( men kan nu 1ste plaats en naam ,2deplaats en naam, 3 plaats en naam. 4de plaats en naam en host naam en automatish datum ) posten
en tevens kan men de results eventueel die fout zijn gepost ook weer terug halen en editten..
Dit hele verhaal heb ik weer in een login script verwerkt met sessies
zodat ongenodigen niet zomaar kunnen gaan klooien in results
Dus level 1 mag een Room naam aanmaken
level 2 mag results posten
en level 3 mag results editten
( een wonder met mijn schaarse kennis lol dat dit alles uberhoupt werkt)
affijn
nu wil ik eigenlijk de mogelijkheiden wat uitbreiden
ik zou willen dat men bv op een winnar kan clicken en dan al de results van die persoon kan opvragen
en dus is dit tevens mijn vraag.
Winnar naam is dus een onbekend gegeven die een host heeft gepost,.
in results pagina zie je dat terug met deze code ".$list->winnar."
vraag is hoe zou ik dit kunnen aanpakken zodat ik winnar kan opvragen en al zijn gewonnen of verloren games met bij behorende punten apart kan zien.
aangezien ik weet hoe belangrijk het is aangaande het nemen van credits voor gemaakte scripts wil ik dus benadrukken dat ik niet dat script heb gemaakt. alleen maar aangepast voor mijn behoefte.
het originel script is van een student die een cijfer lijst maakte .
voorbeeld van de result pagina kun je hier terug vinden
http://www.herbyssite.nl/test/results.php
indien men ook wil inloggen om de diverse mogelijkheden te zien zal ik dat erbij zetten. en natuurlijk indien er interresse is zal ik het script zoals ik hem nu heb met anderen delen.
Zou je misschien even de huidige opzet van je datamodel (dus de indeling van je tabellen in de database) kunnen weergeven?
hier komt ie..
CREATE TABLE `cijfers` (
`id` int(11) NOT NULL auto_increment,
`firstplacepoints` int(11) NOT NULL default '0',
`secondplacepoints` int(11) NOT NULL default '0',
`thirdplacepoints` int(11) NOT NULL default '0',
`fourthplacepoints` int(11) NOT NULL default '0',
`datum` int(11) NOT NULL default '0',
`winnar` text NOT NULL,
`runnerup` text NOT NULL,
`thirdplacename` text NOT NULL,
`fourthplacename` text NOT NULL,
`hostname` text NOT NULL,
`vak` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
en dan maar gelijk de results erbij zodat het ietswat duidelijk is. want ik heb de tabbel naam niet veranderd dus zou dat misleidend kunnen zijn
..
je kunt ook zien dat ik een deel van het script zo gelaten heb zoals ie oorspronkelijk was
INSERT INTO `cijfers` (`id`, `firstplacepoints`, `secondplacepoints`, `thirdplacepoints`, `fourthplacepoints`, `datum`, `winnar`, `runnerup`, `thirdplacename`, `fourthplacename`, `hostname`, `vak`) VALUES (1, 40, 30, 20, 10, 1161182742, 'wonderdice', 'mice', 'dog', 'kat', '+rengameshost', 14);
===============================
CREATE TABLE `vakken` (
`id` int(11) NOT NULL auto_increment,
`vak` varchar(100) NOT NULL default '',
`leraar` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=88 DEFAULT CHARSET=latin1 AUTO_INCREMENT=88 ;
INSERT INTO `vakken` (`id`, `vak`, `leraar`) VALUES (13, 'Backgammon', '+bg'),
(15, 'POKER', '+POKERMANIA+'),
(14, 'Spades rated room1', '+Spades');
=========================
ik ben zo te werk gegaan.. ik heb db velden aangepast.
en in het script zelf heb ik alles hernoemd zoals de db het nu ook heeft..
natuurlijk daar gelaten wat ik niet hernoemde heb ik in het script ook zo gelaten zodat ik geen errors krijg. ik had uiteindelijk beter vanaf het begin alles moeten hernoemen dat snap ik nu ook .. maar ondertussen was ik zo ver met het script bezig dat het een eigenlijk super werkt en alles doet het.
alleen nu besef ik dus wat ik nog graag zou willen hebben en ben ik bang dat het hele script opnieuw moet worden aangepast .. maar ja ik wacht wel af op de reacties.
Gewijzigd op 01/01/1970 01:00:00 door herman
Kortom, ga je eens verdiepen in normalisatie, daar zul je nog een hele hoop plezier en tijdswinst aan beleven.
En vergeet niet dat de MyISAM-enige geen foreignkey's ondersteund. Dit heeft weer tot gevolg dat de tabellen, en dus het datamodel, als los zand aan elkaar hangt. Gebruik in elk geval de innoDB-engine of stap zelfs over op PostgreSQL.
Succes!
( even voor de duidelijkheid waarvoor het script dient frank..
Hosts kunnen een game hosten ongeacht de game soort .
dus mensen gaan aan tafel zitten en uiteindelijk hou je 4 man over
in backgammon geld dat ook zo want je krijgt 1ste 2de plaats enz.
,. het enige wat de hosts nu doen is naar deze site gaan en vervolgens de gegevens invoeren en dat was het.. het staat los van iedere game of welke andere database dan ook.. werkt gewoon met zijn eigen database)
tja ik spreek zo'n beetje 3 talen waarvan engels zo;n beetje 24 uur per dag.
dus soms maak ik wel eens een taal fout.
wat je schreef zal best hoor.. ik snap het eerlijk gezegd niet helemaal want het script staat op mijn webspace zoals je ziet en werkt prima
je kan results posten en editten indien nodig..
en alles doet het prima geen crashes of niks en ik heb het uitvoerig getest
.. ik denk dat je refereert naar mijn vraag hoe ik 1 persoon zou kunnen laten zien met zijn gewonnen en verloren games in beeld kan krijgen..
en dan zul je denk ik gelijk hebben aangezien ik niet zover ben als jij.. dus neem ik dat ook aan dat zoals het script er nu staat , dat het dan niet mogelijk is,,
toch wil ik dan graag weten wat ik eventueel zou kunnen veranderen om dat als nog te kunnen bereiken zonder alles opnieuw te moeten bouwen..
Gewijzigd op 01/01/1970 01:00:00 door herman