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?
Scripts die je vanaf de commandline uit moet voeren ja (veelal cronjobs), interactieve shell scripts nee.quote:Op vrijdag 22 mei 2009 21:10 schreef WyriHaximus het volgende:
Zeg vraagje bouwt iemand van jullie wel een shell scripts in PHP? (Gewoon puur intresse aangezien het hier vooral over websites gaat.)
Cronjobs doe ik erg veel tegenwoordig ipv het tijdens een page request te doen werkt veel beter. Interactieve nog nooit gedaanquote:Op vrijdag 22 mei 2009 21:13 schreef GlowMouse het volgende:
[..]
Scripts die je vanaf de commandline uit moet voeren ja (veelal cronjobs), interactieve shell scripts nee.
Had ik gepost in het volgende topic: Dagcijfers Actietopic! Alle hulp is welkom!quote:Op zaterdag 23 mei 2009 00:34 schreef The_Terminator het volgende:
Ik wou vandaag voor het eerst het script in de shell draaien maar dat ging niet goed. Ik gebruik (omdat ik PHP4 heb) cURL om de data op te halen en het uiteindelijke bericht te plaatsen. Nu lijkt het echter niet mogelijk om cURL vanuit een shellscript te draaien, er worden geen topics opgehaald.
Iemand toevallig een idee hoe dit wel werkende te krijgen is?
Het gaat fout bij cURL, daar ben ik heel zeker van. Het script print bij elke stap een regel, en nadat cURL is aangeroepen stopt hij omdat er niets is ontvangen. Ook van de init functie krijg ik niets terug... Ik heb het script nu even in een browser geopend, eens zien of dat goed gaat.quote:Op zaterdag 23 mei 2009 01:05 schreef GlowMouse het volgende:
cURL zou prima moeten werken vanuit een shellscript, dus ik zou kijken waarom dat foutgaat. Het werkt niet anders dan wanneer je het script via de browser opvraagt.
Het is dezelfde pc inderdaad. cURL vannuit een php script aanroepen gaat wel goed zolang die door Apache geserveerd wordt. Of moet er iets ingesteld worden als cURL wordt gebruikt buiten Apache om?quote:Op zaterdag 23 mei 2009 01:29 schreef GlowMouse het volgende:
Is het dezelfde pc? En curl is wel enabled? Error Reporting staat aan? En er is geen firewall of iets anders dat verkeer blokkeert? Het lijkt me nu echt standaard debugwerk want cURL werkt uiteraard ook gewoon via de commandline mits goed ingesteld.
Ik heb zo geen oplossing, maar is het niet handiger om PHP5 te gebruiken ipv PHP4? Als ik je posts goed begrijp, werkt het wel in PHP5.quote:Op zaterdag 23 mei 2009 01:00 schreef The_Terminator het volgende:
Iemand hier een idee:
[..]
Had ik gepost in het volgende topic: Dagcijfers Actietopic! Alle hulp is welkom!
In PHP5 is cURL overbodig gezien daar al functies in zitten voor het verkrijgen of posten van data. Helaas lukt het me niet om PHP5 geinstalleerd te krijgen op mijn Suse 10 bak...quote:Op zaterdag 23 mei 2009 02:16 schreef Light het volgende:
[..]
Ik heb zo geen oplossing, maar is het niet handiger om PHP5 te gebruiken ipv PHP4? Als ik je posts goed begrijp, werkt het wel in PHP5.
Da's vreemd. Is daar niet gewoon een of ander standaardpakket voor?quote:Op zaterdag 23 mei 2009 13:27 schreef The_Terminator het volgende:
Helaas lukt het me niet om PHP5 geinstalleerd te krijgen op mijn Suse 10 bak...
Heb hier al veel tijd aan besteed. Hij mist bepaalde dependencies. Suse 10 is waarschijnlijk al te oud om dit werkende op te krijgen. En de server herinstalleren met een andere distro heb ik helaas geen tijd voor...quote:Op zaterdag 23 mei 2009 13:41 schreef Light het volgende:
[..]
Da's vreemd. Is daar niet gewoon een of ander standaardpakket voor?
Via de webserver:quote:Op zaterdag 23 mei 2009 13:35 schreef GlowMouse het volgende:
Vergelijk phpinfo() op de commandline eens met die op je webserver. Als je shelltoegang kunt geven, wil ik ook wel even zoeken.
Via de shell:quote:CURL support enabled
CURL Information libcurl/7.15.5 OpenSSL/0.9.7g zlib/1.2.3 libidn/0.5.9
Exact hetzelfde dus...quote:curl
CURL support => enabled
CURL Information => libcurl/7.15.5 OpenSSL/0.9.7g zlib/1.2.3 libidn/0.5.9
Ben ik al mee bezig. Even een testcase maken en kijken wat cURL precies doet en of deze uberhaupt wordt uitgevoerd. Het lijkt er namelijk op dat cURL niet wordt uitgevoerd, gezien de init functie ook niets terug geeft...quote:Op zaterdag 23 mei 2009 15:11 schreef GlowMouse het volgende:
Ik zou zeggen, probeer toch met een kleiner script te debuggen.
Staat safemode aan? Zoja, dan moet je eens met chown de owner wijzigen.quote:Op zaterdag 23 mei 2009 15:27 schreef The_Terminator het volgende:
Ik ben erachter waar de fout zit, namelijk bij het inlezen van de cookie... Ik heb net even het volledige pad naar de cookie opgegeven maar dat werkt ook niet, ook CHMODDEN naar 777 heeft niet mogen baten helaas...
Zie edit. En nee, safemode is uitquote:Op zaterdag 23 mei 2009 15:30 schreef GlowMouse het volgende:
[..]
Staat safemode aan? Zoja, dan moet je eens met chown de owner wijzigen.
Misschien had jouw user geen +x rechten op de directory waar de cookiefile eerst instondquote:Op zaterdag 23 mei 2009 15:34 schreef The_Terminator het volgende:
[..]
Zie edit. En nee, safemode is uit![]()
Toch bedankt voor het meedenken, ik kom er zo wel uit
De cron wordt uitgevoerd door 'root', en ik had al geprobeerd de dir te chmodden naar 777. Het zou eigenlijk geen rechtenprobleem kunnen zijn. Ik blijf het wel vreemd vinden dat hij het cookie niet leest als deze in een andere dir staat dan het script zelf.quote:Op zaterdag 23 mei 2009 15:36 schreef GlowMouse het volgende:
[..]
Misschien had jouw user geen +x rechten op de directory waar de cookiefile eerst instondZou niet nodig moeten zijn, maar zou wel een verklaring kunnen zijn.
1 2 3 4 5 6 7 | if(!setcookie("session", $ses, $time, "/", ".".$conf['host'])) { trigger_error("Geen cookie geset"); exit(); } echo join(", ", array("session", $ses, $time, "/", ".".$conf['host'])); ?> |
Kijk even met http://nl2.php.net/manual/en/function.headers-list.php wat er precies verstuurd wordt; het is waarschijnlijk de client die bokt.quote:Return Values
If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.
quote:Op zaterdag 23 mei 2009 18:08 schreef GlowMouse het volgende:
[..]
Kijk even met http://nl2.php.net/manual/en/function.headers-list.php wat er precies verstuurd wordt; het is waarschijnlijk de client die bokt.
1 2 3 4 5 6 7 8 | [0] => X-Powered-By: PHP/5.2.8 [1] => Set-Cookie: session=9b90ceb47c92817e61874a7c1a670002; expires=Sun, 23-May-2010 16:18:19 GMT; path=/; domain=.dareaper ) |
Bij mij doet http://dareaper het welquote:Op zaterdag 23 mei 2009 18:21 schreef GlowMouse het volgende:
.dareaper is dan ook geen domeinnaam. Althans, als ik naar http://dareaper ga, dan zie ik niksPlus dat je geen cookies kunt zetten voor een TLD.
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 | <head> <link rel="stylesheet" type="text/css" href="mijnstijl.css" /> </head> <body> <table border="0"> <tr align=left> <th>Ondertekend door:</th> </tr> <?php mysql_connect("serverl", "bla", "blaaaaa"); mysql_select_db("jaja"); $sql = "select * FROM jos_jdusers WHERE id <> '62' and id <> '63'"; $res = mysql_query($sql); $i=0; while ($row = mysql_fetch_object($res)) { echo "<tr><td> " . $row->name. "</td></tr></br>"; } ?> </font> </table> <//body> </html> |
1 2 3 4 | TABLE { border: 0px solid #C0C0C0; background-color: #FFFFFF; font-family: Verdana; font-size: 12;} TD { border: 0px solid #C0C0C0; font-family: Verdana; font-size: 12; } |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |