Volgens mij moet ik je mijn excuses aanbieden. Ik haal 2 dingen door elkaar...quote:Op maandag 18 mei 2009 21:48 schreef Light het volgende:
[..]
Ja, of je leest even terug wie wat heeft gepost.
En dan? Dan heb je een lijstje met de maanden. Niet echt nuttig.quote:Op maandag 18 mei 2009 21:31 schreef cablegunmaster het volgende:
kan er geen distinct bij worden gebruikt dat hij de maanden distinct?
dan zou de maand geval wel werken.
SELECT DISTINCT maand FROM nieuws
bron:
http://www.1keydata.com/sql/sqldistinct.html
Kan gebeurenquote:Op maandag 18 mei 2009 21:54 schreef beerten het volgende:
[..]
Volgens mij moet ik je mijn excuses aanbieden. Ik haal 2 dingen door elkaar...
Sorry, ik zie dat je WEL code hebt gepost.
Die code mis ik ook.quote:Damn, Deutsche Bratwurst brengt niet alleen mijn darmen van slag merk ik....
Ik mis de code van de pizzahut...
alsof je daar niet een select met nieuws erbij kan halenquote:Op maandag 18 mei 2009 22:13 schreef Light het volgende:
[..]
En dan? Dan heb je een lijstje met de maanden. Niet echt nuttig.
zo deed ik het vroeger, is in de praktijk rete-onpraktischquote:Op donderdag 14 mei 2009 00:22 schreef Sar2007 het volgende:
Als ik meertalig programmeer, doe ik dit meestal met een language bestand.
Gewoon een standaad php bestand, met variabelen erin.
ex nl.php:
[ code verwijderd ]
ex en.php:
[ code verwijderd ]
1 2 | <a href="#eenurl"><?php echo translate('actions.done') ?></a> |
1 2 3 4 | $query = ('SELECT id, datum, titel FROM nieuws WHERE actief = 1 GROUP BY datum ORDER BY datum DESC') or die ('Query Error'); ?> |
Je zit dan nog steeds met het punt dat je al je tekst in variabelen moet gaan zetten, en dat vind ik nogal onpraktisch....quote:Op maandag 18 mei 2009 23:48 schreef super-muffin het volgende:
Ook raar. Ik heb gewoon een template voor alles, een centrale Translate class die een key => value bij houd van de huidige taal.
Die roep ik in mijn viewController of soms zelfs in de view:
[ code verwijderd ]
1 2 3 4 5 6 7 8 | $query['domains'][1] = $dbh->prepare("SELECT * FROM domains WHERE (domain = :domainname AND status = 1) LIMIT 1"); $query['domains'][1]->bindParam(':domainname', $domain, PDO::PARAM_STR, 12); $query['domains'][1]->execute(); if ($domain_info = $query['domains'][1]->fetch(PDO::FETCH_ASSOC)){ ?> |
quote:
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | $sql = "SELECT distinct datum FROM nieuws"; $uitvoer = mysql_query($sql); $maand = mysql_assoc_fetch($uitvoer) for($i = 0; 12;$i++) { foreach($maand == $maand){ $squuel = "SELECT id,datum,titel from nieuws where actief = 1 and datum = $maand } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <head> <title>vrienden agenda</title> <link rel="stylesheet" type="text/css" href="kalender.css"> </head> <body> <? if(isset($_POST['hmaand'])) { $maand = $_POST['hmaand']; // Maand dat wordt ingegeven $jaar = $_POST['hjaar']; // Jaar dat wordt ingegeven } else { $maand = date('m'); // Maand NU $jaar = date('Y'); // Jaar NU } if(isset($_POST['volgende'])) { $maand++; // Volgende Maand if($maand == 13) // Als maand 13 is dan +1 jaar { $maand = 1; $jaar++; } } if(isset($_POST['vorige'])) { $maand--; // Vorige Maand if($maand == 0) // Als maand 0 is dan -1 jaar { $maand = 12; $jaar--; } } if(isset($_POST['naarvandaag'])) // Naar de Juiste maand gaan { $maand = date('m'); $jaar = date('Y'); } $maanden = array (1 => "Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"); // Maanden $datum = mktime(0, 0, 0, $maand, 1, $jaar); // functie time() bereken $datum = $maanden[date('n', $datum)].' '.date('Y', $datum); // Nederlandse Maand Jaar $srv = $_SERVER['PHP_SELF']; // Link naar waar hij moet gaan in ons geval deze pagina ?> <form action="<? echo $srv; ?>" method="post"> <table id="navigatie"> <tr> <td><input type="submit" name="vorige" value="<<" /></td> <td></td> <td><? echo $datum; ?></td> <td><input type="submit" name="naarvandaag" value="Nu" /></td> <td><input type="submit" name="volgende" value=">>" /></td> </tr> </table> <input type="hidden" name="hmaand" value="<? echo $maand; ?>"/> <input type="hidden" name="hjaar" value="<? echo $jaar; ?>"/> </form> <? function eersteDagInMaand($maand, $jaar) { // Functie Eerste Dag In De Maand $eerste = mktime(0, 0, 0, $maand, 0, $jaar); $edag = date('w', $eerste); return $edag; } function dagenInMaand($maand, $jaar) { // Functie totaal aantal dagen in de maand $laatste = mktime(0, 0, 0, $maand, 1, $jaar); $ldag = date('t', $laatste); return $ldag; } function restDagen($edag, $ldag) { // De rest van de dagen de lege vakjes berkenen $rest = ( $edag + $ldag ) % 7; if($rest != 0) { $rest = 7 - $rest; } return $rest; } function printMaand($maand, $jaar) // Maand laten zien { $edag = eersteDagInMaand($maand, $jaar); $ldag = dagenInMaand($maand, $jaar); $rest = restDagen($edag, $ldag); $vandaag = mktime(0,0,0,date('n',time()),date('d', time()), date('Y', time())); $weekdag = array('Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'); echo "\n".'<table id="agenda"><tr>'; foreach($weekdag as $dag) { echo '<td class="dagen">'.$dag.'</td>'; } echo '</tr><tr>'."\n"; for($i = 0; $i < ( $edag + $ldag + $rest ); $i++) { if($i < $edag || $i >= ( $edag + $ldag )) { echo '<td> </td>'."\n"; } else { if(date('d', $vandaag) == ($i - ($edag - 1)) && date('m') == $maand && date('Y') == $jaar) { echo '<td bgcolor="#651a9a">'. ($i -($edag - 1)) .'</td>'."\n"; } else { echo '<td>'. ($i -($edag - 1)) . "<textarea id='nieuwetekst'" . ($i -($edag - 1)) . "> tekstblablabla </textarea>" . '</td>'."\n"; } if(($i + 1) % 7 == 0) { echo '</tr><tr>'."\n"; } } } echo '</tr></table>'; } printMaand( $maand, $jaar ); ?> </body> </html> |
Je probleem ligt dus bij het database-ding?quote:Op dinsdag 19 mei 2009 12:03 schreef saaw het volgende:
Ik ben voor school bezig met een kalender in PHP waar je data kunt toevoegen.
Heb ondertussen wel iets bij elkaar dat de maand goed berekent en een textarea aanmaakt maar hoe ik de tekst die je daar in vult ook daadwerkelijk in de database krijgt, die deze bij herladen ook weer uitleest, is mij een raadsel.
[ code verwijderd ]
Zie hier voor de css en hier voor hoe het er tot nu toe uitziet.
Hopelijk kunnen jullie mij helpen.
ja ik zie voor me dat die textarea's van nu klikbaar zijn zodat je kan typen [is nu ook al het geval] en dan een submit knop oid zodat het idd opgeslagen word in de database. alleen tekst, geen naam of andere data.quote:Op dinsdag 19 mei 2009 12:18 schreef beerten het volgende:
[..]
Je probleem ligt dus bij het database-ding?
Voorbeeld: maak een link met "toevoegen"
Bijvoorbeeld een button.
Als er op geklikt wordt topon je een venster met invoervelden. Naam, omschrijving, jaar, maand, dag, uur, minuut. whatever.
Als de gebruiker op "opslaan" klikt vang je de gegevens af en stop je die in een database
Weet je iets van mysql?
De Group By levert de problemen op. Die heb je alleen nodig als je de database wilt laten tellen hoeveel items er aan een bepaalde voorwaarde voldoen. Je krijgt dan per datum 1 rij (dat gebeurt met DISTINCT() ook, dus die moet je ook niet gebruiken) en de velden id en titel worden wel gevuld met een artikel die bij die datum hoort, maar je kunt vooraf niet voorspellen welk artikel wordt gekozen (aangenomen dat je meer artikelen op een dag hebt).quote:
1 2 3 4 | $query = ('SELECT id, datum, titel FROM nieuws WHERE actief = 1 ORDER BY datum DESC') or die ('Query Error'); ?> |
Je zou ook kunnen overwegen een .txt bestandje te gebruiken.quote:Op dinsdag 19 mei 2009 16:01 schreef Darkomen het volgende:
Ja maar je weet de dag, de maand en het jaar, die zet je om naar een unix timestamp
Btw, ik ben ook maar een php-hobby-prutser :d
Chandler, WyriHaximus, Light en lassie hebben vast veel betere ideen
Ja dat weet ik, maar dan krijg ik niet:quote:Op dinsdag 19 mei 2009 16:35 schreef Light het volgende:
[..]
De Group By levert de problemen op. Die heb je alleen nodig als je de database wilt laten tellen hoeveel items er aan een bepaalde voorwaarde voldoen. Je krijgt dan per datum 1 rij (dat gebeurt met DISTINCT() ook, dus die moet je ook niet gebruiken) en de velden id en titel worden wel gevuld met een artikel die bij die datum hoort, maar je kunt vooraf niet voorspellen welk artikel wordt gekozen (aangenomen dat je meer artikelen op een dag hebt).
[ code verwijderd ]
Zo krijg je wel alle nieuwsberichten uit de database.
Kan je je databasestructuur voor de betreffende tabellen eens posten?quote:Op woensdag 20 mei 2009 15:09 schreef Pizzahut het volgende:
[..]
Ja dat weet ik, maar dan krijg ik niet:
April
- 1
- 2
Maart
- 1
- 2
id intquote:Op woensdag 20 mei 2009 19:20 schreef beerten het volgende:
[..]
Kan je je databasestructuur voor de betreffende tabellen eens posten?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |