login  Naam:   Wachtwoord: 
Registreer je!
 Forum

0 weergeven als er geen match is

Offline Outerslam - 01/05/2008 23:08
Avatar van OuterslamNieuw lid Hallo,

Ik heb zowat van alles geprobeerd, voor zover ik met php kan werken maar het wil me niet lukken!

Mijn bedoeling is dus om per naam een aantal punten weer te geven die in de database staan.

Per naam heb je een verschillend aantal deelnemers, één persoon kan alle wedstrijden mee doen en een ander maar een paar wedstrijden.

Hoe ik het nu heb gedaan, krijg ik mooi de namen en de wedstrijden MAAR ik heb eigenlijk een probleem met de personen die maar een paar wedstrijden meedoen want , deze gegevens worden uiteraard maar weergegeven voor het aantal wedstrijden dat ze hebben mee gedaan.

Nu wil ik dat bij bv wedstrijd 1 een 0 staat als die persoon toen niet heeft meegedaan
Ik hoop dat ik jullie hulp kan inschakelen want ik wordt er stilletjesaan een beetje gek van :-)

Dit hieronder is mijn gepruts
Hier is een link zodat je het ook kan zien

Achter de naam staat de hoeveelste wedstrijd de persoon voor de eerste keer mee heeft gedaan en achter de vetgedrukte cijfers staat de plaats waar dit eigenlijk zou moeten komen te staan

http://www.riet...avond_klas

  1. $wedtype = 2; // wedstrijdtype opgeven -> 2 = vrije wedstrijden!
  2.  
  3. //
  4. $main .="<hr />";
  5.  
  6.  
  7. $main .="<table width=\"750\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
  8. <tr>
  9. <th scope=\"col\">Naam &amp; voornaam</th>\n";
  10. $sql1 = mysql_query ("SELECT * FROM wedstrijdkalender WHERE wedstrijdtypeID = ".$wedtype." GROUP BY hoeveelsteID ASC" ) or die (mysql_error());
  11. while ($dag = mysql_fetch_assoc($sql1)){// het aantal wedstrijden ophalen
  12. $main .="<th scope=\"col\"><a href=\"http://www.rietvissers.be/hengelsport/index.php?action=".$dag['maandID']."&dag=".$dag['dag']."\">".$dag['hoeveelsteID']."&eacute;</a></th>\n"; }
  13.  
  14.  
  15.  
  16. $query = mysql_query("SELECT count(*) FROM wedstrijdkalender WHERE wedstrijdtypeID = ".$wedtype."");
  17. $aantal .= mysql_result($query, 0 ,0);
  18. global $aantal;
  19.  
  20. $main .="<th scope=\"col\">Totaal</th>\n </tr>\n";
  21.  
  22.  
  23.  
  24. $sqlid =mysql_query ("SELECT *
  25. FROM vissers s
  26. RIGHT JOIN wedstrijduitslagen wu ON (wu.visserID = s.visserID)
  27. LEFT JOIN wedstrijdkalender wk ON (wu.wedstrijdID = wk.wedstrijdID)
  28. WHERE wk.wedstrijdtypeID = 2
  29. GROUP BY wu.visserID ORDER BY wu.plaats, s.visserID, wk.wedstrijdID
  30. ") or die(mysql_error());
  31.  
  32.  
  33.  
  34.  
  35. while ($visID = mysql_fetch_array ($sqlid)) {
  36.  
  37.  
  38.  
  39.  
  40. $main .="<tr>";
  41. $main .="<td>".$visID["achternaam"]."&nbsp;".$visID["voornaam"]."| ".$visID["hoeveelsteID"]."</td>";
  42.  
  43. $sqlpunten =mysql_query ("SELECT *
  44. FROM wedstrijduitslagen wu
  45. LEFT JOIN wedstrijdkalender wk ON (wu.wedstrijdID = wk.wedstrijdID)
  46. WHERE wk.wedstrijdtypeID = 2 AND wu.visserID = ".$visID["visserID"]."
  47. ORDER BY wu.visserID, wk.wedstrijdID
  48. ") or die(mysql_error());
  49.  
  50.  
  51.  
  52.  
  53. while($punten = mysql_fetch_array($sqlpunten)){
  54.  
  55. $main .="<td><strong>".$punten['plaats']." </strong>".$punten['hoeveelsteID']."</td>";
  56.  
  57.  
  58.  
  59.  
  60. }
  61. $main .="</tr>\n";
  62.  
  63.  
  64. }
  65.  
  66. $main .="
  67. </table>";

5 antwoorden

Gesponsorde links
Offline thomasje - 02/05/2008 08:24 (laatste wijziging 02/05/2008 08:26)
Avatar van thomasje MySQL beginner Hier een voorbeeld:
  1. if(.$visID["visserID"].> "0") { echo .$visID["visserID"].}
  2. if(.$visID["visserID"]. == '') { echo "0"; }



Ik weet niet of het helemaal klopt maar dit is het principe.
Offline Rens - 02/05/2008 11:20
Avatar van Rens Gouden medaille

Crew algemeen
Dan moeten in ieder geval die punten weg die er bij staan...
Offline Outerslam - 02/05/2008 15:01
Avatar van Outerslam Nieuw lid spijtig genoeg werkt het zo niet,
ik krijg enkel de gegevens die aanwezig zijn te zien, dat is dus het probleem,
Ik begrijp er niets meer van nu,
Ik zou iets moeten hebben van ,

persoon 1,
dag 1 meegedaan (geef punten )
dag 2 niet meegedaan ( 0 )
dag 3 meegedaan ( geef punten )
dag 4 meegedaan ( geef punten )

persoon 5,
dag 1 niet meegedaan (0)
dag 2 niet meegedaan (0)
dag 3 meegedaan ( geef punten )
dag 4 niet meegedaan (0)

Offline Joost - 03/05/2008 02:00 (laatste wijziging 03/05/2008 02:02)
Avatar van Joost PHP expert
  1. <?
  2.  
  3. $sql = mysql_query("SELECT * FROM `wedstrijduitslagen` WHERE `wedstrijdID`='".$dag['hoeveelsteID']."' AND `visserID`='".$punten['visserID']."' ");
  4. if(mysql_num_rows($sql) > 0){
  5. // echo resultaten
  6. } else {
  7. echo "0";
  8. }
  9.  
  10. ?>


Ik heb niet de tijd om te kijken of alles klopt, maar ik denk dat zoiets wel klopt.(of je op weg zal helpen:P).
Offline Outerslam - 03/05/2008 08:13 (laatste wijziging 03/05/2008 08:14)
Avatar van Outerslam Nieuw lid idd, hier kan ik misschien wel iets mee doen denk ik,
Het is echt lastig dat je iets probeerd en het niet wil lukken maar daar zullen jullie niet zo veel last van hebben door de ervaring 

Ik heb verschillende forums afgegaan met een klein beetje resultaat.
Een vraagje , men zegt altijd om te gaan normaliseren als ik mijn tabel uitslagen laat zien!

  1. CREATE TABLE `wedstrijduitslagen` (
  2. `uitslagID` int(3) NOT NULL AUTO_INCREMENT,
  3. `plaats` tinyint(4) NOT NULL,
  4. `visserID` int(11) NOT NULL,
  5. `koppelvisserID` int(11) NOT NULL,
  6. `weeg1` varchar(7) NOT NULL,
  7. `weeg2` varchar(7) NOT NULL,
  8. `weeg3` varchar(7) NOT NULL,
  9. `weeg4` varchar(7) DEFAULT NULL,
  10. `wedstrijdID` int(11) DEFAULT NULL,
  11. PRIMARY KEY (`uitslagID`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CHECKSUM=1 AUTO_INCREMENT=237


De weeg 1,2,3 en 4 lijkt dan niet goed te zijn maar het zijn waardes die steeds verschillend zijn.
of is het de benaming die dan niet goed is? moet ik het dan weeg_een weeg_twee weeg_drie weeg_vier benoemen?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s