login  Naam:   Wachtwoord: 
Registreer je!
 Forum

wedstrijd formulier (Opgelost)

Offline Braatje - 12/08/2008 08:26
Avatar van BraatjeMySQL interesse Ik wil een wedstrijd fromulier maken en toevoegen aan de database waarna ik die kan uitlezen en op datum van wedstrijd kan sorteren.
Ik heb een paar dingen gemaakt en vraag of jullie even willen kijken wat goed of fout is.
De mysql code: http://www.plaatscode.be/15564/
Het formulier: http://www.plaatscode.be/15565/

Mijn Vraagje(s):

*Bij het vakje datum hoe kan ik daar het beste een datum invoeren zodat deze goed in de database komt te staan. en dat ik deze er ook weer goed uit krijg?

32 antwoorden

Gesponsorde links
Offline marten - 12/08/2008 08:46
Avatar van marten Beheerder Bekijk de datum en tijd tutorials onder de mysql sectie eens.
Offline Braatje - 12/08/2008 09:55
Avatar van Braatje MySQL interesse Ik ben niet zo goed thuis in dat gebied.
Maar daar staat toch niet bij hoe ik nu een willekeurige datum kan selecteren zodat ik mijn wedstrijden bij de juiste datum kan.Of zie ik iets over het hoofd?
Offline Tuinstoel - 12/08/2008 11:26
Avatar van Tuinstoel PHP expert Het formulier is sowieso fout want die staat nog binnen de php tags, kleinigheidje ;).

DATE in MySQL heeft het volgende formaat: yyyy-mm-dd

De invoer moet dus ook zo zijn. Wat ik zelf altijd doe is gewoon 3 verschillende invoerboxjes voor dag, maand en jaar. Hieronder een stuk code van mij:

  1. <?php
  2. $aMaanden = array(1=>'januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
  3. ?>
  4. <tr><td>Datum:</td><td><select name="iDag"><?php for($iDag=1;$iDag<31;$iDag++) { echo '<option value="'.$iDag.'">'.$iDag.'</option>'; } ?></select>-<select name="iMaand"><?php foreach($aMaanden as $iKey => $sValue) { echo '<option value="'.$iKey.'">'.$sValue.'</option>'; } ?></select>-<select name="iJaar"><?php for($iJaar=date('Y');$iJaar>(date('Y')-100);$iJaar--) { echo '<option value="'.$iJaar.'">'.$iJaar.'</option>'; } ?></select></td></tr>


Dan krijg je 3 resultaten als je hem post
$_POST['iDag'], iMaand en iJaar. Die kun je elk voor elk controleren na submitten van het formulier indien dat gewenst is. Als je ze in de database wil gooien dan moet je ze even aan elkaar "plakken"
  1. <?php
  2. $sDatum = $_POST['iJaar'].'-'.$_POST['iMaand'].'-'.$_POST['iDag']; ?>


Succes.
Offline Braatje - 12/08/2008 11:43
Avatar van Braatje MySQL interesse oke bedankt voor je reactie.
Maar heb ik nu in mijn database genoeg aan die datum of moet ik nu voor die jaar dag en maand ook een tabel in mijn sql aanmaken?
Of word die door die laatste code bij elkaar gevoegd?
Offline Simax - 12/08/2008 11:47
Avatar van Simax Onbekend Je hebt alleen een veld 'datum' nodig waar je $sDatum invoert..
Offline Braatje - 12/08/2008 12:08 (laatste wijziging 12/08/2008 12:12)
Avatar van Braatje MySQL interesse Ik heb mijn code even aangepast.
http://www.plaatscode.be/15574/
Klopt deze zo beter?
Maar waar moet ik nu deze code plaatsen?
  1. <?php
  2. $sDatum = $_POST['iJaar'].'-'.$_POST['iMaand'].'-'.$_POST['iDag']; ?>

Ik dacht zelf ergens bij regel 40 alleen ik krijg hem daar niet tussen zodat het werkt. 
Alvast bedankt
Offline Joost - 12/08/2008 12:13
Avatar van Joost PHP expert
  1. <?php
  2. $sDatum = $_POST['iJaar'].'-'.$_POST['iMaand'].'-'.$_POST['iDag'];
  3.  
  4. mysql_query("INSERT INTO wedstrijden (datum,naam,lengte,start,finish) VALUES ('".$sDatum."','".addslashes($_POST['naam'])."','".$_POST['lengte']."', '".addslashes($_POST['start'])."', '".addslashes($_POST['finish'])."')") or die (mysql_error());
  5. ?>
Offline Braatje - 12/08/2008 12:31 (laatste wijziging 12/08/2008 12:32)
Avatar van Braatje MySQL interesse Oke dat is duidelijk alleen nu moet ik mijn foutmelding even aanpassen en nu wil dat weer niet lukken 
Dit was het alleen die datum notificatie is nu anders geworden, en ik kom er niet meer uit
  1. #
  2. $aFouten = array();
  3. #
  4. if($_POST['datum'] == '')
  5. #
  6. {
  7. #
  8. $aFouten[] = 'Je hebt geen datum ingevuld';


Zou iemand hier ook nog even mee kunnen helpen?  
Offline Seawolf1979 - 12/08/2008 12:38
Avatar van Seawolf1979 Nieuw lid IK heb op mijn website een wedstrijdkalender, misschien is het dat mss wat je zoekt?
Kijk eens op www.bovovc.be en kijk onder de rubriek "Ploegen kalender"
Offline jc2 - 12/08/2008 13:29
Avatar van jc2 PHP interesse @seawolf: Erg leuke website. Ikzelf zou alleen die data toch via php naar dd-mm-yyyy terugzetten.

@ts: tevens kun je ook een timestamp in je database zetten en deze zo converteren:
  1. $timestamp=$database['datum']; // bijv. timestamp: 1218562020.
  2. $NLdate=date("d-m-Y",$timestamp);
  3. echo $NLdate; // resultaat: 12-08-2008.
Offline Braatje - 12/08/2008 14:00
Avatar van Braatje MySQL interesse Ik heb die foutcontrole maar even eruit gelaten.
Maar ik heb nu weer een stukje geschreven om de gegevens uit de database te lezen en in een tabel te tonen. alleen daar gaat het mis.

http://www.plaatscode.be/15582/

Ik wil dat onder datum de datum komt te staan onder naam wedstrijd de naam etc. dat is wel duidelijk denk ik.
Alleen voor iedere nieuwe regel met gegevens komt er ook weer opnieuw datum naam etc boven te staan.
Hoe komt dat wat is er fout
Offline jc2 - 12/08/2008 14:06 (laatste wijziging 12/08/2008 14:17)
Avatar van jc2 PHP interesse
  1. <?php
  2.  
  3. $db = mysql_connect("localhost", "root", "");
  4. mysql_select_db("wedstrijden") or die ("FOUT: Openen database mislukt");
  5. ?>
  6. <table>
  7. <tr>
  8. <td>Datum</td>
  9. <td>Naam wedstrijd</td>
  10. <td>Lengte</td>
  11. <td>Start</td>
  12. <td>Finish</td>
  13. </tr>
  14. <?
  15. $query = "SELECT datum, naam, lengte, start, finish FROM wedstrijden ORDER BY datum DESC";
  16. $result = mysql_query($query) or die(mysql_error());
  17. while ($row = mysql_fetch_assoc($result))
  18. {
  19. $datum=$row['datum'];
  20. $datum2=explode("-",$datum);
  21. $NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
  22. ?>
  23. <tr>
  24. <td><? echo $NLdate ?></td>
  25. <td><? echo $row['naam'] ?></td>
  26. <td><? echo $row['lengte'] ?></td>
  27. <td><? echo $row['start'] ?></td>
  28. <td><? echo $row['finish'] ?></td>
  29. </tr>
  30. <?
  31. }
  32. ?>
  33. </table>


Probeer het nu nog eens 
Offline Braatje - 12/08/2008 14:10 (laatste wijziging 12/08/2008 14:26)
Avatar van Braatje MySQL interesse Oke nu werkt het wel goed.
Thx ik ga weer even verder met knutselen.
Offline jc2 - 12/08/2008 14:17
Avatar van jc2 PHP interesse Ik heb je code in mijn vorige post wat leesbaarder gemaakt en je miste een ; in je code op plaatscode lijn 18.
Offline Braatje - 12/08/2008 14:26 (laatste wijziging 12/08/2008 15:16)
Avatar van Braatje MySQL interesse Ja ik zag het thx in ieder geval.
Maar ik heb weer eens een vraagje( 2 zelfs )

Vraag 1:
Als ik nu bijv wil weergeven dat het in maanden verdeeld word.
dan bedoel ik als er wedstrijden zijn in maart mei en juni dat dan eerst de maand word uitgelezen.
voorbeeldje
Maart
datum wedstrijd lengte etc.

En als er geen wedstrijd in die maand is dat die maand er dan ook niet bij staat.
Hoe doe ik dat?

Tweede vraag:
Ik heb hier ergens iets gevonden om de regels om en om van kleur te wisselen. Nu heb ik de volgende code http://www.plaatscode.be/15586/
Alleen de kleurcode's werken niet echt wat is er fout?
Hij geeft de kleuren blauw en lichter blauw weer ipv grijs en wit?
Offline jc2 - 12/08/2008 16:23
Avatar van jc2 PHP interesse Ik heb hem niet uit kunnen testen, maar volgens mij moet het zo wel lukken:
Plaatscode: 15593
Offline Braatje - 12/08/2008 16:32 (laatste wijziging 12/08/2008 16:40)
Avatar van Braatje MySQL interesse Krijg een foutmelding
Parse error: parse error, unexpected $end in H:\Program Files\xampp\htdocs\test\test1.php on line 59

.
Offline WouterPSV - 12/08/2008 16:36 (laatste wijziging 12/08/2008 16:39)
Avatar van WouterPSV Lid line 44 /45 ff voor }

<?php zetten  

EDIT 1:

  1. 44. </tr>
  2. 45. <?php
  3. 46. }
  4. 47. ?>
  5. 48. <tr bgcolor='<?php echo $kleur; ?>'>


--------------------------------

EDIT 2:

je moet je in line 53 ff > achter je </tr zetten.
Offline Braatje - 12/08/2008 16:40 (laatste wijziging 12/08/2008 16:46)
Avatar van Braatje MySQL interesse Dat had ik ook ontdekt ja haha thx voor de moeite alleen nu deze nog


Alleen die naam van de maand werkt zo nog niet 
Krijg deze melding
Notice: Undefined index: 05 in H:\Program Files\xampp\htdocs\test\test1.php on line 43
Dat is deze regel:
  1. <b><? echo $maandarray[$curmonth]; ?></b>


Citaat:
Als ik nu bijv wil weergeven dat het in maanden verdeeld word.
dan bedoel ik als er wedstrijden zijn in maart mei en juni dat dan eerst de maand word uitgelezen.
voorbeeldje
Maart
datum wedstrijd lengte etc.
Mei
datum wedstrijd lengte etc.
juni
datum wedstrijd lengte etc.

En als er geen wedstrijd in die maand is dat die maand er dan ook niet bij staat.
Hoe doe ik dat?
Offline WouterPSV - 12/08/2008 16:44
Avatar van WouterPSV Lid Mijn gevoel zegt dat je quotes moet gebruiken:

  1. <b><? echo $maandarray['$curmonth']; ?></b>
Offline Braatje - 12/08/2008 16:48
Avatar van Braatje MySQL interesse nee dat werkt helaas niet.

Citaat:
Als ik nu bijv wil weergeven dat het in maanden verdeeld word.
dan bedoel ik als er wedstrijden zijn in maart mei en juni dat dan eerst de maand word uitgelezen.
voorbeeldje
Maart
datum wedstrijd lengte etc.
Mei
datum wedstrijd lengte etc.
juni
datum wedstrijd lengte etc.

En als er geen wedstrijd in die maand is dat die maand er dan ook niet bij staat.
Hoe doe ik dat?
Offline jc2 - 12/08/2008 17:02 (laatste wijziging 12/08/2008 17:48)
Avatar van jc2 PHP interesse Ik weet al waar de fout door veroorzaakt wordt.

De index moet 5 zijn (voor mei) en wordt nu als 05 doorgegeven.
De 0 moet dus verdwijnen, dan zou die wel moeten werken.
Even denken hoor.

@wouterpsv: je moet in php NOOIT quotes gebruiken als je een variabele wilt weergeven.

Maak er eens dit van:
  1. <?
  2. if(in_array($datum2[1],$datumarray)){
  3. }
  4. else{
  5. if($datum2[1]<10){
  6. $curmonth=substr($datum2[1],-1);
  7. }
  8. else{
  9. $curmonth=$datum2[1];
  10. }
  11. ?>
  12. <tr>
  13. <td colspan="5">
  14. <b><? echo $maandarray[$curmonth]; ?></b>
  15. </td>
  16. </tr>
  17. <?
  18. }
  19. ?>
Offline Braatje - 12/08/2008 17:23 (laatste wijziging 12/08/2008 17:29)
Avatar van Braatje MySQL interesse http://www.plaatscode.be/15596/


Warning: Wrong parameter count for strlen() in H:\Program Files\xampp\htdocs\test\test1.php on line 33

Warning: Wrong parameter count for strlen() in H:\Program Files\xampp\htdocs\test\test1.php on line 33

Notice: Undefined index: $curmonth in H:\Program Files\xampp\htdocs\test\test1.php on line 48

deze meldingen krijg ik nu
Offline jc2 - 12/08/2008 17:48
Avatar van jc2 PHP interesse Sorry, verkeerd gekeken.

strlen moet substr zijn dan werkt hij wel.
Offline Braatje - 12/08/2008 17:52
Avatar van Braatje MySQL interesse Het werkt nu wel alleen de weergave nog niet goed.
Hij geeft bij augustus september weer en bij mei juni.
Dus iedere keer 1 maand tever wat moet ik nog veranderen
Offline jc2 - 12/08/2008 18:10 (laatste wijziging 12/08/2008 18:12)
Avatar van jc2 PHP interesse
  1. <?
  2. if(in_array($datum2[1],$datumarray)){
  3. }
  4. else{
  5. if($datum2[1]<10){
  6. $curmonth=substr($datum2[1],-1);
  7. }
  8. else{
  9. $curmonth=$datum2[1];
  10. }
  11. $curmonth=$curmonth-1;
  12. ?>
  13. <tr>
  14. <td colspan="5">
  15. <b><? echo $maandarray[$curmonth]; ?></b>
  16. </td>
  17. </tr>
  18. <?
  19. }
  20. ?>

Offline Braatje - 12/08/2008 20:01 (laatste wijziging 13/08/2008 10:09)
Avatar van Braatje MySQL interesse thx Het werkt nu zoals ik wilde.
Ik ga weer verder met knutselen  en als er weer iets is dan horen jullie hetwel weer 
EDIT:
Het werkt toch niet zoals het moet.
Heb even een voorbeeld online gezet
Wedstrijden invoeren
Wedstrijden weergave

http://www.plaatscode.be/15655/

Ik hoop dat mijn bedoeling duidelijk is.
Dus de wedstrijd weergave moet om en om

Offline Tuinstoel - 13/08/2008 10:51
Avatar van Tuinstoel PHP expert Let op wat je kopieert met je plaatscode aan login gegevens...

$kleur = ($i++%2) ? '#FFF' : 'FF0000';
Ik moet zeggen dat dit een vreemde fout is.
Offline Braatje - 13/08/2008 11:15
Avatar van Braatje MySQL interesse Wil niet zo heel lastig doen Maar zoals je kunt zien is de kleur nog steeds niet om en om?

http://www.plaatscode.be/15659/
Offline jc2 - 13/08/2008 11:16 (laatste wijziging 13/08/2008 11:18)
Avatar van jc2 PHP interesse Ik zie dat je er nog aan bezig bent, maar maak er even dit van:
  1. if($i%2==0){ // hier moest nog ==0 achter!
  2. $kleur="#FF0000";
  3. }
  4. else{
  5. $kleur="#FFFFFF";
  6. }


Mocht hij het zo nog niet doen, probeer dan dit ook eens:
  1. <tr style='background-color:<?php echo $kleur; ?>;'>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.328s