Intrepidity | dinsdag 12 januari 2010 @ 22:50 |
 cd niet bijgeleverd
Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt 
Vorige delen: 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
Zie ook: PHP Dataverwerking Officiële PHP website PHP Documentatie MySQL Reference Manual Yet Another PHP Faq PHP Cheat Sheet PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc
Tutorials: W3Schools PHP W3Schools SQL
Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP |
Crutch | dinsdag 12 januari 2010 @ 22:52 |
<? echo $_POST["TVP"]; ?> |
Intrepidity | dinsdag 12 januari 2010 @ 22:52 |
quote: He viespeuk, niet zomaar direct tainted data outputten! |
Crutch | dinsdag 12 januari 2010 @ 22:53 |
 |
GlowMouse | dinsdag 12 januari 2010 @ 22:56 |
short tags! en ja ik las te snel  |
Crutch | dinsdag 12 januari 2010 @ 22:59 |
<php>
// hier weer een inhoudsloze reactie
</php> |
Intrepidity | dinsdag 12 januari 2010 @ 23:00 |
quote: Eerst <? gebruiken, vervolgens <php>.. What's next, <script language="php">?  Ohja, ik ben serieus een keer ASP-style tags tegengekomen in een PHP script dat een van onze developers gebakken had. Ik zie er nog steeds een psychiater over  |
Crutch | dinsdag 12 januari 2010 @ 23:04 |
quote: Op dinsdag 12 januari 2010 23:00 schreef Intrepidity het volgende:[..] Eerst <? gebruiken, vervolgens <php>.. What's next, <script language="php">?  Ohja, ik ben serieus een keer ASP-style tags tegengekomen in een PHP script dat een van onze developers gebakken had. Ik zie er nog steeds een psychiater over  "SELECT antwoord FROM antwoorden WHERE onderwerp = kut"
 |
Crutch | dinsdag 12 januari 2010 @ 23:05 |
Okay genoeg flauwekul nu. |
hamkaastosti | dinsdag 12 januari 2010 @ 23:07 |
include hamkaastosti.php; |
Crutch | dinsdag 12 januari 2010 @ 23:27 |
if (isset($_GET['degelijk_onderwerp'])) { $reactie = ; } else { $reactie = ; } echo $reactie; |
PiRANiA | woensdag 13 januari 2010 @ 01:07 |
$posts=count(*) FROM fok_posts; wordt 76749052.
DELETE FROM posts WHERE posttype=EenHoopOnzin;
Wat levert de count(*) nu op? |
Tiemie | woensdag 13 januari 2010 @ 01:12 |
0, maar dan zou een DROP of TRUNCATE sneller zijn . |
ursel | woensdag 13 januari 2010 @ 08:13 |
Ik doe gewoon een tvp hoor..  |
JortK | woensdag 13 januari 2010 @ 08:40 |
quote: Behalve dat DROP en TRUNCATE niet hetzelfde doen  |
Chandler | woensdag 13 januari 2010 @ 08:44 |
1 2 3 | <?php require_once 'chandler'; ?> |
Ik ga eens kijken naar array_reverse, helaas dat werkt dus niet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $cnt = count($argument); if ($cnt > 0) { $nArray = array(); for ($x = 0; $x < ($cnt); $x++) { $nArray[$x] = $argument[($cnt-1) - $x]; } }
print_r($argument); print_r($nArray); ?> |
uitkomsten
1 2 3 4 5 6 7 8 9 10 | Array ( [1] => categorie [0] => Vebsite ) Array ( [0] => categorie [1] => Vebsite ) |
2e is wat ik zoek, maar raar dat dat niet met een functie kan.
[ Bericht 75% gewijzigd door Chandler op 13-01-2010 08:52:33 ] |
Intrepidity | woensdag 13 januari 2010 @ 09:59 |
Wellicht omdat het niet bepaald een operatie is die vaak gedaan wordt. Eerlijkgezegd zou ik ook niet weten waarom.. |
Tiemie | woensdag 13 januari 2010 @ 10:15 |
quote: Duh. |
Darkomen | woensdag 13 januari 2010 @ 10:28 |
quote: |
Sitethief | woensdag 13 januari 2010 @ 11:08 |
Waarom zou je een array willen omdraaien, daar ben ik dan nieuwsgierig naar . |
Intrepidity | woensdag 13 januari 2010 @ 11:21 |
quote: Een array omdraaien is zo gek nog niet, daar bestaat dan ook gewoon array_reverse voor, maar het omdraaien van keys met het instand houden van de volgorde van waardes vind ik dan weer totaal onlogisch. Hoe dan ook, als ik het goed heb doet deze code wat je wilt:
1 2 3 4 5 6 7 8 9 10 11 | <?php $arr = array(0 => 'a', 1 => 'b'); $new_arr = array(); foreach($arr as $k => $v) { $k2 = sizeof($arr) - $k - 1; $new_arr[$k] = $arr[$k2]; }
$arr = array_reverse($new_arr, true); ?> |
[ Bericht 31% gewijzigd door Intrepidity op 13-01-2010 11:41:35 ] |
GlowMouse | woensdag 13 januari 2010 @ 11:40 |
quote: Op woensdag 13 januari 2010 11:21 schreef Intrepidity het volgende:[..] Een array omdraaien is zo gek nog niet, daar bestaat dan ook gewoon array_reverse voor, maar het omdraaien van keys met het instand houden van de volgorde van waardes vind ik dan weer totaal onlogisch. Hoe dan ook, als ik het goed heb doet deze code wat je wilt: [ code verwijderd ] lees de manual eens nauwkeuriger, en dan met name wat de tweede parameter doet codevoorbeeld is lekker verwarrend daar |
Intrepidity | woensdag 13 januari 2010 @ 11:42 |
Het wordt me inderdaad niet echt duidelijk wat de default-waarde van $preserve_keys is. False blijkbaar? Code hierboven aangepast  |
GlowMouse | woensdag 13 januari 2010 @ 11:46 |
je kunt jouw code vervangen door $arr = array_reverse($new_arr); |
Intrepidity | woensdag 13 januari 2010 @ 11:48 |
quote: Niet echt, want Chandler wil de volgorde van de waarden gelijk houden en alleen de keys omdraaien. Met array reverse draai je zowel keys als waarden om, waarbij je ze eventueel hernummert, maar dan blijven de orginele keys weer niet bewaard.. Maar afgezien daarvan zou ik geen situatie weten waarin je alleen de keys wilt omdraaien. Wat ik hierboven doe is element n aan arraygrootte-n toewijzen en hierna de hele array omdraaien. Dan heb je infeite alleen de keys omgedraaid. |
GlowMouse | woensdag 13 januari 2010 @ 11:50 |
oh nu zie ik het; $arr = array_flip($argument); $arr = array_reverse($arr, true); $arr = array_flip(arr);
 |
Intrepidity | woensdag 13 januari 2010 @ 11:52 |
quote: Op woensdag 13 januari 2010 11:50 schreef GlowMouse het volgende:oh nu zie ik het; $arr = array_flip($argument); $arr = array_reverse($arr, true); $arr = array_flip(arr);  Dan heb je ook je waarden omgekeerd  Flippen, reversen en weer flippen is exact hetzelfde als alleen reversen Flip is als het ware een horizontale spiegeling van je array en reverse een verticale.
1 2 3 4 5 6 | <?php $arr = array(0 => 'a', 1 => 'b', 2 => 'c');
print_r(array_reverse($arr, true)); print_r(array_flip(array_reverse(array_flip($arr), true))); ?> |
Dat geeft:
1 2 3 4 5 6 7 8 9 10 11 12 | Array ( [2] => c [1] => b [0] => a ) Array ( [2] => c [1] => b [0] => a ) |
Dan heb je dus niet alleen je keys maar ook waarden omgedraaid.
De code die ik hierboven heb neergezet doet:
1 2 3 4 5 6 | Array ( [2] => a [1] => b [0] => c ) |
Wat dus exact is wat Chandler wilde 
[ Bericht 18% gewijzigd door Intrepidity op 13-01-2010 12:01:31 ] |
GlowMouse | woensdag 13 januari 2010 @ 12:04 |
Volgens de documentatie zou het moeten werken 
1 2 3 4 5 6 | <?php $a = array('eerste', 'tweede'); foreach($a as $k => $v) echo $k . ' - ' . $v . "\r\n"; $a = array_reverse($a, false); foreach($a as $k => $v) echo $k . ' - ' . $v . "\r\n"; ?> |
de tweede parameter van array_reverse doet niks, wijzig hem maar in true. |
boem-dikkie | woensdag 13 januari 2010 @ 12:05 |
Meeleespost. |
Intrepidity | woensdag 13 januari 2010 @ 12:11 |
quote: Op woensdag 13 januari 2010 12:04 schreef GlowMouse het volgende:Volgens de documentatie zou het moeten werken :? [ code verwijderd ] de tweede parameter van array_reverse doet niks, wijzig hem maar in true. Lol, door jouw code kwam ik erachter dat dit ook doet wat Chandler wil:
1 2 3 | <?php $arr = array_reverse(array_reverse($arr, false), true); ?> |
Een keer reversen met en een keer zonder keybehoud doet de truuc ook :) Al hoewel gaten in de keyreeks dan wel wegvallen.. |
GlowMouse | woensdag 13 januari 2010 @ 12:15 |
quote: Op woensdag 13 januari 2010 12:11 schreef Intrepidity het volgende:[..] Lol, door jouw code kwam ik erachter dat dit ook doet wat Chandler wil: [ code verwijderd ] Een keer reversen met en een keer zonder keybehoud doet de truuc ook  Al hoewel gaten in de keyreeks dan wel wegvallen.. gek dat hier de tweede parameter wel goed werkt. |
PiRANiA | woensdag 13 januari 2010 @ 22:46 |
Welke van de volgende memcached clients is beter? pecl/memcache of pecl/memcached
 |
Chandler | woensdag 13 januari 2010 @ 22:48 |
Lol, we gaan eens spelen met jullie codes want die van mij lijkt nu zo belachelijk lang  |
GlowMouse | woensdag 13 januari 2010 @ 22:49 |
pecl/memcache; zo te zien is dat ook de enige die compressie ondersteunt. |
PiRANiA | woensdag 13 januari 2010 @ 23:00 |
quote: Gebruik je dit op FOK! ook? Dus memcache::add(iets) in plaats van memcached::add?  |
GlowMouse | woensdag 13 januari 2010 @ 23:04 |
quote: FOK! gebruikt een wrapper-class voor pecl/memcache  |
PiRANiA | woensdag 13 januari 2010 @ 23:05 |
quote: Okay. Wat doet die wrapper class in jullie geval? Wat voegt het toe? Ik ben er niet echt bekend mee . |
GlowMouse | woensdag 13 januari 2010 @ 23:07 |
quote: Op woensdag 13 januari 2010 23:05 schreef PiRANiA het volgende:[..] Okay. Wat doet die wrapper class in jullie geval? Wat voegt het toe? Ik ben er niet echt bekend mee  . Niet zoveel, maar het is wel handig voor als we ooit willen switchen van memcache naar een andere cache-oplossing (memcached of wat dan ook). |
Intrepidity | donderdag 14 januari 2010 @ 00:11 |
quote: Op woensdag 13 januari 2010 23:07 schreef GlowMouse het volgende:[..] Niet zoveel, maar het is wel handig voor als we ooit willen switchen van memcache naar een andere cache-oplossing (memcached of wat dan ook). Voor het switchen van memcache naar memcached is dat in principe niet nodig omdat ze van buitenaf gezien dezelfde interface hebben Maargoed, een wrapper is wel zo netjes inderdaad Waarom eigenlijk de keuze van memcache boven memcached? Memcached heeft afaik een stuk betere performance omdat hij direct bovenop libmemcache gebouwd is, in plaats van pure php zoals memcache..
Overigens een interessante collectie slides over distributed systems in php, waaronder door middel van memcached: http://www.slideshare.net/andreizm/all-the-little-pieces-1573862  |
GlowMouse | donderdag 14 januari 2010 @ 00:33 |
De historie ken ik niet. Ik zie nu dat memcached idd veel meer opties heeft. Heb je toevallig benchmarks van de performance? Switchen is overigens voor een grote site, ondanks wrapper class, nog steeds niet heel makkelijk. |
Crutch | donderdag 14 januari 2010 @ 00:34 |
Zeg Gloeimuis? Jij kan 't een en ander aanpassen hier op fok! toch? |
GlowMouse | donderdag 14 januari 2010 @ 00:35 |
quote:  |
Crutch | donderdag 14 januari 2010 @ 00:38 |
Nou, op de profielpagina staat onderaan => Hobbies/interesses:
Ik neem aan dat het al(lang) bekend is, maar dat moet toch echt hobby's zijn.
 |
GlowMouse | donderdag 14 januari 2010 @ 00:41 |
dat dit kan in Nederland |
Crutch | donderdag 14 januari 2010 @ 00:42 |
Ich bin ein Taalnazi jah  |
Crutch | donderdag 14 januari 2010 @ 00:48 |
HELD!
Weltrusten.  |
Intrepidity | donderdag 14 januari 2010 @ 09:39 |
quote: Op donderdag 14 januari 2010 00:33 schreef GlowMouse het volgende:De historie ken ik niet. Ik zie nu dat memcached idd veel meer opties heeft. Heb je toevallig benchmarks van de performance? Switchen is overigens voor een grote site, ondanks wrapper class, nog steeds niet heel makkelijk. Toevallig niet nee, ik heb zelf geen ervaring met memcache of memcached, heb er alleen iets teveel sprekers over gehoord  * Intrepidity is een regelmatig conferentiebezoeker |
Sitethief | donderdag 14 januari 2010 @ 10:13 |
1 2 3 4 5 6 7 8 9 | <?php $arrayData = array('0' => 'appel', '1' => 'banaan', '2' => 'annanas'); $counter = 3; foreach($arrayData as $ntpl=>$ftpl) { $arrayData[$counter]['FruitName'] = $ftpl; $arrayData[$counter]['FruitLink'] = 'http://images.google.nl/images?q='.$ftpl; $counter++; } ?> |
Als $counter op 0 staat krijg ik dit:
1 2 3 4 5 6 | Array ( [0] => hppel [1] => hanaan [2] => hnnanas ) |
En als hij op 3 staat dit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Array ( [0] => appel [1] => banaan [2] => annanas [3] => Array ( [FruitName] => appel [FruitLink] => http://images.google.nl/images?q=appel )
[4] => Array ( [FruitName] => banaan [FruitLink] => http://images.google.nl/images?q=banaan )
[5] => Array ( [FruitName] => annanas [FruitLink] => http://images.google.nl/images?q=annanas )
) |
Waarom vervangt hij niet gewoon de values in de array? Wat doe ik fout? |
Intrepidity | donderdag 14 januari 2010 @ 10:21 |
Het grappige is dat je een string ook kunt benaderen als $string[0] = bladiebla. Je vervangt daarmee dus karakter 0 door iets anders. Strings zijn in feite dus ook gewoon arrays, van karakters welteverstaan Doe eens het volgende: $arrayData[$counter] = array(); en vervolgens kun je gewoon $arrayData[$counter]['index'] = "Ananas" doen.  |
Sitethief | donderdag 14 januari 2010 @ 10:32 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $arrayData = array('0' => 'appel', '1' => 'banaan', '2' => 'annanas'); $array = array(); $counter = 0; foreach($arrayData as $ntpl=>$ftpl) { $array[$counter]['FruitName'] = $ftpl; $array[$counter]['FruitLink'] = 'http://images.google.nl/images?q='.$ftpl; $counter++; } // Parse body template $output .= $tplObject->outputRepeater('Loop', $array); ?> |
Of zo. Probleem was vooral dat het origi neel er zo uitzag:
1 2 3 4 5 6 7 8 9 10 | <?php $arrayData = array(); $counter = 0; foreach($tplObject->listThemes('themes/', false) as $ntpl=>$ftpl) { $arrayData[$counter]['ThemeName'] = $ftpl; $arrayData[$counter]['ThemeLink'] = 'example_file.php?theme='.$ftpl; $counter++; } $output .= $tplObject->outputRepeater('Loop', $arrayData); ?> |
Maar ik die function helemaal niet wil aanroepen. |
Intrepidity | donderdag 14 januari 2010 @ 10:35 |
1 2 3 4 5 6 7 8 9 10 | <?php $arrayData = array('0' => 'appel', '1' => 'banaan', '2' => 'annanas'); $counter = 0; foreach($arrayData as $ntpl=>$ftpl) { $arrayData[$counter] = array(); $arrayData[$counter]['FruitName'] = $ftpl; $arrayData[$counter]['FruitLink'] = 'http://images.google.nl/images?q='.$ftpl; $counter++; } ?> |
That'll do it :) |
Sitethief | donderdag 14 januari 2010 @ 10:39 |
Stom dat ik daar dan weer niet op kwam hé. Zal wel gebrek aan ervaring zijn .
Dank je Intrepidity! |
Intrepidity | donderdag 14 januari 2010 @ 10:45 |
Oh ja, en ananas schrijf je met 1 n  Overigens is hier in feite $ntpl je counter al, die $counter variabele is niet nodig.
[ Bericht 25% gewijzigd door Intrepidity op 14-01-2010 10:50:15 ] |
Intrepidity | donderdag 14 januari 2010 @ 12:38 |
Ik heb een abstracte klasse met een static property. Deze wil ik uitlezen in de overerfende klassen. Het probleem is: de inhoud van die property staat niet vast, maar is afhankelijk van o.a. wat configuratieinstellingen. Normaal zou ik die mooi in de constructor kunnen vullen, maar dat gaat natuurlijk niet op in een statische context. Dus ik dacht; dat los ik met __get() op. Alleen nu blijkt dat __get niet op statische oproepen reageert, en het gevolg is dat ik een error krijg dat mijn statische property niet bestaat.quote:Fatal error: Access to undeclared static property: Weide\Framework\Core\ModelBase::$tableName in C:\Program Files\xampp\htdocs\MailBasis\Gras\User\Models\User.php on line 153  Is hier een oplossing voor? of heb ik niet veel andere keus als een statische methode aanmaken die dit voor me doet? |
Crutch | donderdag 14 januari 2010 @ 12:48 |
Ik zoek een goede manier om een xls-bestand (MS Excel) te importeren in een database (mySQL). Hierbij wil ik een vooraf opgemaakte sheet hanteren waarbij alleen maar waarden hoeven worden toegevoegd.
Ik kan er helemaal niets over vinden....  |
Intrepidity | donderdag 14 januari 2010 @ 12:55 |
Het is geen optie dat mensen in Excel het bestand als CSV gaan opslaan? Want dan is het heel makkelijk op te lossen met de volgende query:quote:LOAD DATA INFILE 'path/file.txt' INTO TABLE your_table; |
Crutch | donderdag 14 januari 2010 @ 13:02 |
Dan zou ik liever een scriptje hebben dat xls-bestanden omzet naar csv zodat ik (via upload) meteen een excel kan verwerken in de database. |
GlowMouse | donderdag 14 januari 2010 @ 13:05 |
quote: Op donderdag 14 januari 2010 12:38 schreef Intrepidity het volgende:Ik heb een abstracte klasse met een static property. Deze wil ik uitlezen in de overerfende klassen. Het probleem is: de inhoud van die property staat niet vast, maar is afhankelijk van o.a. wat configuratieinstellingen. Normaal zou ik die mooi in de constructor kunnen vullen, maar dat gaat natuurlijk niet op in een statische context. Dus ik dacht; dat los ik met __get() op. Alleen nu blijkt dat __get niet op statische oproepen reageert, en het gevolg is dat ik een error krijg dat mijn statische property niet bestaat. [..]  Is hier een oplossing voor? of heb ik niet veel andere keus als een statische methode aanmaken die dit voor me doet? ik denk dat laatste http://nl.php.net/manual/en/language.oop5.overloading.phpquote: Op donderdag 14 januari 2010 13:02 schreef Crutch het volgende:Dan zou ik liever een scriptje hebben dat xls-bestanden omzet naar csv zodat ik (via upload) meteen een excel kan verwerken in de database. dat kan, er zijn genoeg xls-classes voor PHP. Dan hoef je de tussenstap met CSV ook niet te maken. |
Crutch | donderdag 14 januari 2010 @ 13:11 |
Thanks, ik heb weer wat info om mijn zoektocht ter hervatten. |
Intrepidity | donderdag 14 januari 2010 @ 13:23 |
Eigenlijk vreemd dat er in Pear alleen een Excel writer en geen Excel reader zit, die mis ik nog.. |
SharQueDo | donderdag 14 januari 2010 @ 13:28 |
 |
Chandler | donderdag 14 januari 2010 @ 18:23 |
Iets simpels; maar ik vind maar niet hoe; dus graag een zet in de goede richting.
MYSQL: alle data's van vandaag en later laten zien, maar niet data's van gisteren en ouder.
Hoe? heb unix_timestamp en cur_date geprobeerd maar geen succes  |
Intrepidity | donderdag 14 januari 2010 @ 18:52 |
SELECT * FROM table WHERE date >= CURRENT_DATE() zou moeten werken Zo niet, wat is het datatype van de kolom waar je je data in hebt staan? |
cablegunmaster | donderdag 14 januari 2010 @ 19:45 |
ik heb een ander dilemma ik was bezig met een datum query en nu vroeg ik me af  kan ik een sql query maken waarin eerst op jaar word gekeken. en daarna op maand? en dan pas op dag
zoiets als vb.
2010 januarie 2009 december november oktober |
GlowMouse | donderdag 14 januari 2010 @ 19:48 |
geef eens een tabel met data en daarna de output die je verwacht |
cablegunmaster | donderdag 14 januari 2010 @ 20:15 |
probleem: het veld dat ik gebruik is een datetime veld. genaamd date uit de tabel prefix_news. hierin word uiteindelijk de url opgevangen. De bedoeling was dat je een soort van overzicht krijgt met wat elke maand is gepost. een soort van per jaar per maan is dit er gepost. aan nieuwsberichten / blog berichten.
mijn eerste inval was;
1 2 3 | SELECT date,title FROM cable_news ORDER BY YEAR( date ) DESC , MONTH( date ) DESC , DAY( date ) DESC |
Result die hij nu geeft: date 2010-01-05 02:24:47 blablabla 2010-01-01 03:15:05 blablablab 2009-12-28 17:38:08 blablablbal
Resultaat die ik probeer te krijgen. ( ter test de datum er nog bij :p )
2010 januarie 2010-01-05 02:24:47 blablabla 2010-01-01 03:15:05 blablablbal 2009 december 2009-12-28 17:38:08 titel van het bericht.
Zo krijg ik hem wel op order, alleen hoe krijg ik het nog dat hij per jaar de gegevens neerzet ?en per maand? :p ik weet al hoe ik hem moet uitsplitsen en de datum kan omzetten in een maand tekst maar, dan zit ik nog met het probleem hoe ik bvb 3 datums kan Linken aan een maand. |
GlowMouse | donderdag 14 januari 2010 @ 20:18 |
Dat doe je in je code, dat kan een database niet. Maak er dus gewoon ORDER BY date DESC van. |
cablegunmaster | donderdag 14 januari 2010 @ 20:20 |
quote: Op donderdag 14 januari 2010 20:18 schreef GlowMouse het volgende:Dat doe je in je code, dat kan een database niet. Maak er dus gewoon ORDER BY date DESC van. ja ik zat al te twijfelen of in de sql of in de php.
zit te bedenken in de while statement
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 | <?php //Deze had ik nog :p kan best makkelijker denk ik? :p ging erom dat je een datum instopte ^^ een maand en //deze weer terug geeft in een naam <img class="rde_img_smiley" src="http://i.fok.nl/s/smile.gif" width="15" height="15" alt="" />. function GetMonthString($n) { $timestamp = mktime(0, 0, 0, $n, 1, 2005); return date("M", $timestamp); }
$sql = "SELECT date, title FROM cable_news ORDER BY YEAR( date ) DESC , MONTH( date ) DESC , DAY( date ) DESC"; $result = $db->query($sql); while($row = mysql_fetch_array($result)) { $datum = explode("-", $row['date']); $jaar = $datum[0]; $maand = GetMonthString($datum[1]); $tijd = explode(":", $row['tijd']); //echo " ".$tijd[0].":".$tijd[1]; //echo $datum[0].'-'.$datum[1].'-'.$datum[2].'|'; if(empty($year)) { $year = $jaar; echo $year."<br/>"; } if($year == $jaar) { if(empty($month)) { $month = $maand; echo $month."<br/>"; } if($month == $maand) { echo $row['title']; }else{ $month = $maand; echo $month; echo $row['title']; } }else{ $year = $jaar; $month = $maand; echo $year; echo $month; echo $row['title']; } } ?> |
Nog even zonder de Opmaak tags etc
Klopt dit ongeveer ?
Dit klopt nu nog de Tags aan brengen
nog 1 lastige vraag als ik nu wil weten hoeveel entry's er per maand zijn ? hoe moet ik dit dan mixen?
[ Bericht 36% gewijzigd door cablegunmaster op 14-01-2010 22:06:10 ] |
Chandler | donderdag 14 januari 2010 @ 20:36 |
quote: Op donderdag 14 januari 2010 18:52 schreef Intrepidity het volgende:SELECT * FROM table WHERE date >= CURRENT_DATE() zou moeten werken Zo niet, wat is het datatype van de kolom waar je je data in hebt staan? OMG! ik dacht weer eens te moeilijk!!! maar bedankt voor je inzicht!  |
Light | vrijdag 15 januari 2010 @ 00:18 |
quote: Op donderdag 14 januari 2010 20:20 schreef cablegunmaster het volgende:[..] ja ik zat al te twijfelen of in de sql of in de php. zit te bedenken in de while statement [ code verwijderd ] Nog even zonder de Opmaak tags etc :D Klopt dit ongeveer :)? Dit klopt nu nog de Tags aan brengen :P nog 1 lastige vraag als ik nu wil weten hoeveel entry's er per maand zijn :D ? hoe moet ik dit dan mixen? :o Tip: eerst de data verzamelen, daarna pas denken aan het tonen ervan.
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 | <?php $newsItems = array(); $sql = "SELECT date, title FROM cable_news ORDER BY YEAR( date ) DESC , MONTH( date ) DESC , DAY( date ) DESC"; $result = $db->query($sql); while($row = mysql_fetch_array($result)) { $datum = explode("-", $row['date']); $jaar = $datum[0]; $maand = $datum[1]; $newsItems[$jaar][$maand] = $row; }
$currentYear = 0; $currentMonth = 0; foreach($newsItems as $year => $yearItems) { if($year != $currentYear) { $currentYear = $year; echo $year.'<br/>'; $currentMonth = 0; } foreach($yearItems as $month => $item) { if($currentMonth != $month) { $currentMonth = $month; echo GetMonthString($month); } echo $item['title']; } } ?> |
Zoiets. Zoals meestal is ook deze code niet getest. |
cablegunmaster | vrijdag 15 januari 2010 @ 00:52 |
quote: Op vrijdag 15 januari 2010 00:18 schreef Light het volgende:[..] Tip: eerst de data verzamelen, daarna pas denken aan het tonen ervan. [ code verwijderd ] Zoiets. Zoals meestal is ook deze code niet getest. Slim aangepakt . ben zelf niet zo fan van foreach . Misschien ook omdat ik te klunzig ben om hem te gebruiken . Maarja, oefning baart kunst .
Hartelijk bedankt voor de hulp btw, Dit gaat me goed helpen . |
Trollface. | vrijdag 15 januari 2010 @ 14:29 |
TVP |
Intrepidity | vrijdag 15 januari 2010 @ 14:42 |
Gloeiende gloeiende Net een halfuur een AJAX-functie zitten debuggen om er later achter te komen dat ik 'return json_encode()' ipv 'echo json_encode()' had gedaan * Intrepidity voelt zich weer even een beginneling. |
DaFan | vrijdag 15 januari 2010 @ 16:57 |
Ik ben een beetje een noob hoor, maar here goes: We hebben veel maatwerk van een consultant gekregen, maar ik probeer nu wat eigen code te maken / aan te passen. Dit gaat prima maar ik loop nu hier tegen aan:
1 2 3 4 5 6 7 8 9 10 | REATE TABLE #TempVerzoekenMedewerker( EmpId int, datum varchar(12), id varchar(100), omschrijving varchar(200), type varchar(50), actie varchar(50), omgeving varchar(40), db varchar(5) ) |
Dit werkt prima (niet door mij gemaakt)
1 2 3 4 5 6 7 8 9 10 11 | CREATE TABLE #TempVerzoekenMedewerker( EmpId int, datum varchar(12), id varchar(100), omschrijving varchar(200), type varchar(50), actie varchar(50), omgeving varchar(40), db varchar(5), credit varchar(50) ) |
Dit werkt niet, want:quote:Msg 213, Level 16, State 7, Line 1 Column name or number of supplied values does not match table definition. Waarom niet, ik probeer gewoon een extra kolom in een niet-bestaande tabel aan te maken bij het CREATEn toch?
Edit; wacht de fout zit ergens in de rest van de code, waarschijnlijk omdat hij nog niets met die kolom doet. Het CREATE TABLE gedeelte kan ik wel gewoon runnen.
[ Bericht 2% gewijzigd door DaFan op 15-01-2010 17:03:31 ] |
ursel | vrijdag 15 januari 2010 @ 17:07 |
temp klinkt alsof het een temporary table is. wss wordt deze later naar een gelijkwaardige table gekopierd middels INSERT INTO SELECT * from TempVerzoekenMedewerker
Die andere table moet in dat geval exact matchen.  |
RJ3001 | vrijdag 15 januari 2010 @ 17:12 |
Hopelijk kan iemand mij als totale sql-analfabeet helpen. Ik zit met het volgende:
ik wil graag een SQL query wat resulteert in alle tabel-, en kolomnamen incl. foreignkeys.
Het is gelukt om een lijst te krijgen met alle columns zonder foreignkeys doormiddel van de volgende query:
1 2 3 | SELECT TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION FROM INFORMATION_SCHEMA.COLUMNS ORDER BY TABLE_NAME, ORDINAL_POSITION ASC |
Ook is het gelukt om alle foreignkeys te verzamelen met de volgende query
1 2 3 4 5 6 7 8 9 10 11 12 | SELECT tblALL.table_name AS PrimaryTableName, tblAll.column_name AS PrimaryTableColumn, tblFK.table_name AS ForeignKeyTable, tblFK.column_name AS ForeignKeyColumn FROM INFORMATION_SCHEMA.constraint_column_usage tblall INNER JOIN information_schema.referential_constraints tblAllFK ON tblAllFK.unique_constraint_name = tblAll.constraint_name INNER JOIN information_schema.constraint_column_usage tblFK ON tblAllFK.constraint_name=tblFK.constraint_name |
Graag zou ik deze twee willen combineren, waardoor ik met één query een overzicht heb met alle tabel- en kolomnamen, incl foreignkeys
voorbeeld:
1 2 3 4 5 | tabelnaam: kolomnaam: primarykey_table: primarykey_column: Adres ID Adres STRAAT Person ID Person adres_id adres ID |
Combineren doormiddel van UNION heb ik al geprobeerd, maar dat werkt alleen als beide query hetzelfde aantal resultaten heeft. En dat is niet het geval omdat niet alle kolommen een foreignkey hebben.
Kan iemand me verder helpen? alvast bedankt! |
ParvusM | vrijdag 15 januari 2010 @ 17:41 |
Ik hoop dat dit werkt voor je:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SELECT tblInfo.TABLE_NAME AS Info1, tblInfo.COLUMN_NAME AS Info2, tblInfo.ORDINAL_POSITION AS Info3, tblALL.table_name AS PrimaryTableName, tblAll.column_name AS PrimaryTableColumn, tblFK.table_name AS ForeignKeyTable, tblFK.column_name AS ForeignKeyColumn FROM INFORMATION_SCHEMA.COLUMNS tblInfo, INFORMATION_SCHEMA.constraint_column_usage tblall INNER JOIN information_schema.referential_constraints tblAllFK ON tblAllFK.unique_constraint_name = tblAll.constraint_name INNER JOIN information_schema.constraint_column_usage tblFK ON tblAllFK.constraint_name=tblFK.constraint_name
ORDER BY TABLE_NAME, ORDINAL_POSITION ASC |
*De 2 queries die je had aan elkaar gekoppeld, hoop dat het werkt* |
RJ3001 | vrijdag 15 januari 2010 @ 17:52 |
quote:Op vrijdag 15 januari 2010 17:41 schreef ParvusM het volgende:Ik hoop dat dit werkt voor je: [ code verwijderd ]  e 2 queries die je had aan elkaar gekoppeld, hoop dat het werkt* Bedankt voor je hulp. Helaas niet het gewenste resultaat.
Nu krijg ik te veel terug. Aantal records is nu aantal columns x aantal foreignkeys. Terwijl ik alle columns 1 x wil, met evt. een foreignkey erachter.
toch bedankt! |
GlowMouse | vrijdag 15 januari 2010 @ 18:09 |
quote: Op vrijdag 15 januari 2010 14:42 schreef Intrepidity het volgende:Gloeiende gloeiende  Net een halfuur een AJAX-functie zitten debuggen om er later achter te komen dat ik 'return json_encode()' ipv 'echo json_encode()' had gedaan * Intrepidity voelt zich weer even een beginneling. daar zijn sniffers voor  |
DaFan | vrijdag 15 januari 2010 @ 18:26 |
quote:Op vrijdag 15 januari 2010 17:07 schreef ursel het volgende:temp klinkt alsof het een temporary table is. wss wordt deze later naar een gelijkwaardige table gekopierd middels INSERT INTO SELECT * from TempVerzoekenMedewerker Die andere table moet in dat geval exact matchen.  Die zit weer in een andere stored procedure...anyway, ga wel vissen  Bedankt. |
Intrepidity | vrijdag 15 januari 2010 @ 18:38 |
quote: Meestal weet ik dit soort domme fouten te voorkomen door een flinke dosis koffie Maar een sniffer kan ook ja  |
Sitethief | vrijdag 15 januari 2010 @ 23:02 |
Weet iemand of php het aan kan dat ik een csv met +/- 25.000 lines wil parsen en in een db gooien? Ik ben nog redelijk nieuw in php dus ik vraag me af of variabelen van zulke grote wel gaan werken? |
PiRANiA | vrijdag 15 januari 2010 @ 23:09 |
quote: Op vrijdag 15 januari 2010 23:02 schreef Sitethief het volgende:Weet iemand of php het aan kan dat ik een csv met +/- 25.000 lines wil parsen en in een db gooien? Ik ben nog redelijk nieuw in php dus ik vraag me af of variabelen van zulke grote wel gaan werken? Moet kunnen, mogelijk moet je je memory limiet wat hoger zetten:quote:Edit the memory_limit parameter in the php.ini file (usually in a section called Resource Limits) memory_limit = 32M ; Maximum amount of memory a script may consume (32MB) |
Intrepidity | vrijdag 15 januari 2010 @ 23:12 |
quote: Met goed programmeren hoeft dat toch niet nodig te wezen? Je hoeft niet de hele inhoud in 1 keer in je geheugen te stampen. Als je dat gewoon regel voor regel doet en je rotzooi (variabelen) opruimt e.d. is er niks aan de hand. |
PiRANiA | vrijdag 15 januari 2010 @ 23:13 |
quote: Op vrijdag 15 januari 2010 23:12 schreef Intrepidity het volgende:[..] Met goed programmeren hoeft dat toch niet nodig te wezen? Je hoeft niet de hele inhoud in 1 keer in je geheugen te stampen. Als je dat gewoon regel voor regel doet en je rotzooi (variabelen) opruimt e.d. is er niks aan de hand. quote: Op vrijdag 15 januari 2010 23:02 schreef Sitethief het volgende:Weet iemand of php het aan kan dat ik een csv met +/- 25.000 lines wil parsen en in een db gooien? Ik ben nog redelijk nieuw in php dus ik vraag me af of variabelen van zulke grote wel gaan werken? |
Intrepidity | vrijdag 15 januari 2010 @ 23:15 |
Je hoeft het ook niet in 1 keer goed te doen Kwestie van trial-and-error en veel bloed, zweet en tranen. Anders leer je 't nooit  |
Sitethief | vrijdag 15 januari 2010 @ 23:46 |
Nou ja tis maar 3-4 mb, dus of php daar over struikelt betwijfel ik . En inderdaad, goeie oefening om te leren netjes te programmeren in php. |
ursel | zaterdag 16 januari 2010 @ 11:14 |
Tot 40k regeles met op iedere regel +/- 50 "velden" lukt prima.  De volledige file van 160k regels vond die tot nog toe niet goed.  |
hamkaastosti | zaterdag 16 januari 2010 @ 12:02 |
harghl.. in ben al 2 dagen aan het klooien met jquery en een autocomplete veld. De bedoeling is dat je in een input veld tekst typt waarna er een mysql query gedaan wordt met LIKE en een id uit een select field uit hetzelfde form. Nadat er een keuze uit de gemaakte json lijst is gemaakt wil ik de titel in het input veld weergeven en het id behorende bij het veld in een hidden field opslaan..
maar het werkt gewoon allemaal voor geen kont. ik snap niets van dat hele jquery gebeuren laat staan de wilgroei van autocomplete plugins die er is
snirfl  |
PiRANiA | zaterdag 16 januari 2010 @ 12:09 |
quote: Op zaterdag 16 januari 2010 12:02 schreef hamkaastosti het volgende:harghl.. in ben al 2 dagen aan het klooien met jquery en een autocomplete veld. De bedoeling is dat je in een input veld tekst typt waarna er een mysql query gedaan wordt met LIKE en een id uit een select field uit hetzelfde form. Nadat er een keuze uit de gemaakte json lijst is gemaakt wil ik de titel in het input veld weergeven en het id behorende bij het veld in een hidden field opslaan.. maar het werkt gewoon allemaal voor geen kont. ik snap niets van dat hele jquery gebeuren laat staan de wilgroei van autocomplete plugins die er is snirfl  http://docs.jquery.com/Plugins/Autocomplete#Example heb je daar iets aan? Het ziet er vij duidelijk uit volgens mij? |
hamkaastosti | zaterdag 16 januari 2010 @ 12:15 |
ik ben nu bezig met een meest simpele testcase om eea stap voor stap uit te werken. Is toch te dol dat ik hier niet uit kom 
http://morecowbell.net.au(...)lete-with-json-data/ dat gaat me wel helpen denk ik.
edit: ik ben maar van het json afgestapt voorlopig. de standaard plugin werkt ook prima voor wat ik wil. Er is alleen nog 1 ding wat ik nog niet werkend krijg.
1 2 3 4 5 6 7 8 9 10 11 | <script type="text/javascript"> $("#title").autocomplete('search.php?test=3',{ minChars: 3, width: 200 ;
$("#title").result(function(event, data, formatted){ if (data) $(this).parent().next().find("input").val(data[1]); ; </script> |
dit stukje haalt dus de data op van search.php en vult de eerstvolgende input met de bijbehorende id van de title. maar hoe krijg het nou voor elkaar dat ?test=3 veranderd naar de gekozen value van de select?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <form action="search.php" method="post" class="form"> <fieldset> <ol> <li> <label for="console">Optie</label> <select name="option" size="1"> <option value="1">optie 1</option> <option value="2">Optie 2</option> <option value="3">Optie 3</option> </select> </li> <li> <label for="title">Titel</label> <input type="text" id="title" name="title"> </li> <li> <label for="id">id</label> <input name="id"> </li> </ol> <input type="submit" name="submit" class="submit" value="Verzenden"> </fieldset> </form> |
[ Bericht 59% gewijzigd door hamkaastosti op 16-01-2010 13:38:06 ] |
Chandler | zondag 17 januari 2010 @ 13:43 |
Misschien door een simpele onchange in je select te hangen met een functie of een lapje code oa
1 2 3 4 | $("#title").autocomplete('search.php?test=' + $('jepulldownID').[$('jepulldownID').selectedIndex].value,{ minChars: 3, width: 200 ; |
oid? |
Sitethief | maandag 18 januari 2010 @ 11:38 |
Geniaal, ontwikkelomgeving is php 5, live omgeving is 4 ....... Heel handig als je met classes werkt |
Crutch | maandag 18 januari 2010 @ 11:41 |
Kan ik hier ook javascript vraagstukken neerplempen trouwens?  |
Trollface. | maandag 18 januari 2010 @ 11:45 |
quote: [Javascript] voor dummies (deel 9)  |
Intrepidity | maandag 18 januari 2010 @ 12:03 |
quote: Op maandag 18 januari 2010 11:38 schreef Sitethief het volgende:Geniaal, ontwikkelomgeving is php 5, live omgeving is 4  ....... Heel handig als je met classes werkt Welke baggerhoster is dat nou weer, die alleen nog 4.x aanbiedt? Dat kan echt niet meer anno 2010  |
Sitethief | maandag 18 januari 2010 @ 12:54 |
quote: Op maandag 18 januari 2010 12:03 schreef Intrepidity het volgende:[..] Welke baggerhoster is dat nou weer, die alleen nog 4.x aanbiedt? Dat kan echt niet meer anno 2010  het bedrijf waar ik zelf werk |
Intrepidity | maandag 18 januari 2010 @ 13:05 |
Ik moet onze hoster nodig eens op de flikker gaan geven dat ze nog geen 5.3 draaien, ze draaien nog op 5.2.6.. Ik wil namespaces, closures en late static binding  |
Crutch | maandag 18 januari 2010 @ 13:15 |
dankquote:  |
cablegunmaster | dinsdag 19 januari 2010 @ 00:17 |
quote: Op vrijdag 15 januari 2010 00:18 schreef Light het volgende:[..] Tip: eerst de data verzamelen, daarna pas denken aan het tonen ervan. [ code verwijderd ] Zoiets. Zoals meestal is ook deze code niet getest. hij was bijna goed ^^. hij pakte alles behalve tot dat hij maar 1 titel per maand pakte  even nog een extra array met de titels erbij gestopt + nog een foreach en het opgelost. Relaxte manier om Arrays te gebruiken . Weer iets geleerd . Klein probleempje om het news id er nog uit te halen .
ik snap nu dat je met elke foreach de array 1 opschuift :p.
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 | <?php $newsItems = array(); $sql = "SELECT date, title,news_id FROM cable_news ORDER BY YEAR( date ) DESC , MONTH( date ) DESC , DAY( date ) DESC"; $result = $db->query($sql); while($row = mysql_fetch_array($result)) { $datum = explode("-", $row['date']); $jaar = $datum[0]; $maand = $datum[1]; $news = $row['news_id']."-".$row['title']; $newsItems[$jaar][$maand][$news] = $row; } $currentYear = 0; $currentMonth = 0; foreach($newsItems as $year => $yearItems) { if($year != $currentYear) { $currentYear = $year; echo $year.'<br/>'; $currentMonth = 0; } foreach($yearItems as $month => $message) { if($currentMonth != $month) { $currentMonth = $month; echo GetMonthString($month)."<br/>"; } foreach($message as $title){ $lijn = explode("-", $title); echo "<a href='index.php?blog=".$lijn[0]."'>".$lijn[1]."</a><br/>"; } } } ?> |
ik denk dat ik hem zo wel goed heb weet niet of ik de laatste foreach nog beter kan doen . Dacht nog een array erachter maar als je nog een betere oplossing hebt . Vraag me af hoe je dit technisch op de beste manier doet ^^.
[ Bericht 26% gewijzigd door cablegunmaster op 19-01-2010 00:54:23 ] |
Keiichi | woensdag 20 januari 2010 @ 07:25 |
Ik ben in MySQL lekker aan het stoeien met subquery's. Maar bij het eerste de beste wat ik maak duurt het 15 minuten voordat ik resultaat heb
Mijn query:
1 | SELECT `w` FROM `w` WHERE `w`.`w` IN (SELECT `werknummer` FROM `w` WHERE GROUP BY w HAVING COUNT(*) > 1); |
Een EXPLAIN levert dit op:
1 2 3 4 5 6 | +----+--------------------+-------+-------+---------------+------+---------+------+-------+--------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+--------------------+-------+-------+---------------+------+---------+------+-------+--------------------------+ | 1 | PRIMARY | w | index | NULL | w | 4 | NULL | 23023 | Using where; Using index | | 2 | DEPENDENT SUBQUERY | w | range | w | w | 4 | NULL | 17678 | Using where | +----+--------------------+-------+-------+---------------+------+---------+------+-------+--------------------------+ |
Is MySQL niet zo geweldig met subqueries of doe ik ergens iets heel raars?
De echte tabelnamen en veldnamen heb ik even afgekort, maar hoeft niets voor de query uit te maken. |
Light | woensdag 20 januari 2010 @ 09:44 |
Het lijkt er op dat er een index ontbreekt in de tabel. |
GlowMouse | woensdag 20 januari 2010 @ 10:33 |
waarom is WHERE in je subquery leeg? |
Keiichi | woensdag 20 januari 2010 @ 10:42 |
quote: Oh foutje. Daar stond een kleine verfijning van: "WHERE `w` != 1" . Vergeten ook de WHERE weg te halen  |
GlowMouse | woensdag 20 januari 2010 @ 10:44 |
Geef je hele tabel is, want ik zie niet waarom w en werknummer aan elkaar gelijk moeten zijn  |
GlowMouse | woensdag 20 januari 2010 @ 10:47 |
Zoals je hem post, lijkt het ook geen dependent subquery. |
Sitethief | woensdag 20 januari 2010 @ 11:48 |
Wat is een simpele manier om een object dat uit simplexml_load_file komt in een array te zetten. Ik gebruik nu get_object_vars maar dat komt er dan zo uit te zien:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Array ( [book] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [id] =>1 ) [author] => Gambardella, Matthew [title] => XML Developer's Guide [genre] => Computer [price] => 44.95 [publish_date] => 2000-10-01 [description] => An in-depth look at creating applications with XML. ) |
Terwijl ik eigenlijk een array wil hebben die begint met id 1,2,3 etc. Dit is een beetje omslachtig om iedere keer output te geven.
Dit is de XML:
1 2 3 4 5 6 7 8 9 10 11 | <?xml version="1.0"?> <catalog> <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth look at creating applications with XML.</description> </book> </catalog> |
|
F4T4L_3RR0R | vrijdag 22 januari 2010 @ 19:43 |
Ik heb een PHP scriptje welke een SMS API included.
De berichten staan in $sms met een substr met 160 karakters limiet.
Nu wil ik de berichten ook "Tweeten" op mijn Twitter account. Heb al een substr genaamd $twitter met een 140 karakters limiet.
Alleen, hoe post ik dit op mijn Twitter account? De API's die ik op internet heb gevonden zijn veel te uitgebreid en vaak ook bedoeld om "Tweets" van anderen op te halen en weer te geven op een website.
Voor mijn doel hoeft er helemaal niets opgehaald of ge-echo'd te worden. |
GlowMouse | vrijdag 22 januari 2010 @ 19:45 |
http://www.justinrains.co(...)ate-twitter-php.html
een functie is snel gemaakt; |
F4T4L_3RR0R | vrijdag 22 januari 2010 @ 20:05 |
Dus in mijn geval dus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php // Set username and password $username = 'username'; $password = 'password';
// The twitter API address $url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); curl_close($curl_handle); ?> |
|
F4T4L_3RR0R | vrijdag 22 januari 2010 @ 20:32 |
Het gekke is dat dit niet werkt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php // Set username and password $username = "username"; $password = "password";
// The message you want to send $twitter = 'dit is een test';
// The twitter API address $url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); curl_close($curl_handle); ?> |
En dit juist weer wel, maar wil geen echo:
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 | <?php // Set username and password $username = "username"; $password = "password";
// The message you want to send $twitter = 'dit is een test';
// The twitter API address $url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); $buffer = curl_exec($curl_handle); curl_close($curl_handle); // check for success or failure if (empty($buffer)) { echo 'message'; } else { echo 'success'; } ?> |
Edit:
Fixed:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php // Set username and password $username = "username"; $password = "password";
// The message you want to send $twitter = 'dit is een test';
// The twitter API address $url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$twitter"); curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password"); curl_exec($curl_handle); curl_close($curl_handle); ?> |
|
SHERMAN | zondag 24 januari 2010 @ 13:18 |
Ik post hier even.. want ik heb straks een vraag.. |
Intrepidity | zondag 24 januari 2010 @ 13:20 |
Dan reserveer ik hierbij alvast een plekkie om het antwoord te posten  |
SHERMAN | zondag 24 januari 2010 @ 13:42 |
Ik moet een soort van resevering systeem opzetten. Dit mag zo basic mogelijk, er hoeft bijvoorbeeld geen login te komen.
De reseveringen zijn variabel (duur van de resevering kan verschillend) ook degene die het reseveert kan verschillen. Historie moet bewaard blijven.
Zoiets als:
Items 2010-01 2010-02 2010--3 Item1 klant1 klant1 - Item2 klant2 klant2 klant2 Item3 klant1 klant1 klant2
Vervolgens moet ik lijstje kunnen maken van: - per item, wie het wanneer had - per klant, hoeveel items op een willekeurig moment - in een maand zien wie wat heeft
Het maken van de overzichten gaat me opzich wel lukken.
Ik heb alleen geen idee hoe ik dit het beste in een database kan proppen.. Het kan natuurlijk gewoon in de tabel vorm die ik net post, maar ik vraag me af of dat iemand misschien een betere manier weet..? |
Chandler | zondag 24 januari 2010 @ 21:53 |
Hoe kun je er achter komen of session_start al gestart is? zonder daarvoor alle scripting te doorlopen?.
Kon namelijk geen functie vinden waarmee ik dit kan achterhalen.... zal er ongetwijfeld overheen hebben gekeken maar wie kan mij de juiste functie aanwijzen? |
Light | zondag 24 januari 2010 @ 22:15 |
quote: Op zondag 24 januari 2010 21:53 schreef Chandler het volgende:Hoe kun je er achter komen of session_start al gestart is? zonder daarvoor alle scripting te doorlopen?. Kon namelijk geen functie vinden waarmee ik dit kan achterhalen.... zal er ongetwijfeld overheen hebben gekeken maar wie kan mij de juiste functie aanwijzen? Waarom wil je weten of een sessie al gestart is? |
Intrepidity | zondag 24 januari 2010 @ 22:16 |
quote: Op zondag 24 januari 2010 21:53 schreef Chandler het volgende:Hoe kun je er achter komen of session_start al gestart is? zonder daarvoor alle scripting te doorlopen?. Kon namelijk geen functie vinden waarmee ik dit kan achterhalen.... zal er ongetwijfeld overheen hebben gekeken maar wie kan mij de juiste functie aanwijzen? als het resultaat van een aanroep naar session_id() een lege string is is er geen sessie gestart  Overigens kun je ook gewoon @session_start() aanroepen. Dit heeft geen effect op eventuele bestaande sessies. Er volgt alleen een E_NOTICE, die je dus met de @-operator onderdrukt.
[ Bericht 9% gewijzigd door Intrepidity op 24-01-2010 22:38:33 ] |
Light | zondag 24 januari 2010 @ 22:24 |
quote: Op zondag 24 januari 2010 13:42 schreef SHERMAN het volgende:Ik moet een soort van resevering systeem opzetten. Dit mag zo basic mogelijk, er hoeft bijvoorbeeld geen login te komen. De reseveringen zijn variabel (duur van de resevering kan verschillend) ook degene die het reseveert kan verschillen. Historie moet bewaard blijven. Zoiets als: Items 2010-01 2010-02 2010--3 Item1 klant1 klant1 - Item2 klant2 klant2 klant2 Item3 klant1 klant1 klant2 Vervolgens moet ik lijstje kunnen maken van: - per item, wie het wanneer had - per klant, hoeveel items op een willekeurig moment - in een maand zien wie wat heeft Het maken van de overzichten gaat me opzich wel lukken. Ik heb alleen geen idee hoe ik dit het beste in een database kan proppen.. Het kan natuurlijk gewoon in de tabel vorm die ik net post, maar ik vraag me af of dat iemand misschien een betere manier weet..? Als ik het zo snel bekijk, heb je drie tabellen nodig: klanten, items en reserveringen. Reserveringen is per klant, per item en bijvoorbeeld per dag. Als er dan een reserving wordt ingevoerd, voor je voor iedere dag van die reservering een rij in. Controle op beschikbaarheid is dan ook simpel. Andere optie is om bij de reserveringen een begindatum en einddatum op te slaan. Dan heb je 1 rij per reservering, maar de controle op beschikbaarheid kan wat lastiger zijn. |
Chandler | maandag 25 januari 2010 @ 09:41 |
quote: Een projectje  quote: Op zondag 24 januari 2010 22:16 schreef Intrepidity het volgende:als het resultaat van een aanroep naar session_id() een lege string is is er geen sessie gestart  Overigens kun je ook gewoon @session_start() aanroepen. Dit heeft geen effect op eventuele bestaande sessies. Er volgt alleen een E_NOTICE, die je dus met de @-operator onderdrukt. Ok, ik moet dus toch session_id gebruiken! want vind werken met @ erg vies!
-------------------------------------------------------------------------------------
Een andere vraag, stel ik heb een tabel met dit soort gegevens
A75 A76 A77 A78 A98 AA101 AA102 AA103 A37 A47 etc
Nu wil ik graag dat de uitkomst via mysql alles sorteert maar dan op deze manier
A37 A47 A75 A76 A77 A78 A98 AA101 AA102 AA103 etc
Hoe krijg ik dit voor elkaar? |
Intrepidity | maandag 25 januari 2010 @ 10:29 |
Ligt het nou aan mij of doet een doodnormale ORDER BY ASC precies wat je wilt? |
Chandler | dinsdag 26 januari 2010 @ 08:57 |
Nee, probeer het maar eens  |
SHERMAN | dinsdag 26 januari 2010 @ 09:13 |
quote:Op zondag 24 januari 2010 22:24 schreef Light het volgende:[..] Als ik het zo snel bekijk, heb je drie tabellen nodig: klanten, items en reserveringen. Reserveringen is per klant, per item en bijvoorbeeld per dag. Als er dan een reserving wordt ingevoerd, voor je voor iedere dag van die reservering een rij in. Controle op beschikbaarheid is dan ook simpel. Andere optie is om bij de reserveringen een begindatum en einddatum op te slaan. Dan heb je 1 rij per reservering, maar de controle op beschikbaarheid kan wat lastiger zijn. Ik ga is even kijken of ik hier wat mee kan... Misschien dat ik nog met andere vragen kom.. 
Thanks in elk geval! |
Tiemie | dinsdag 26 januari 2010 @ 09:41 |
quote:Op maandag 25 januari 2010 09:41 schreef Chandler het volgende:[..] Een projectje :) [..] Ok, ik moet dus toch session_id gebruiken! want vind werken met @ erg vies! -------------------------------------------------------------------------------------Een andere vraag, stel ik heb een tabel met dit soort gegevens A75 A76 A77 A78 A98 AA101 AA102 AA103 A37 A47 etc Nu wil ik graag dat de uitkomst via mysql alles sorteert maar dan op deze manier A37 A47 A75 A76 A77 A78 A98 AA101 AA102 AA103 etc Hoe krijg ik dit voor elkaar? Casten naar een int, op die waarde sorteren
1 2 3 | SELECT veld, CAST( veld AS UNSIGNED) As order_veld FROM table ORDER BY order_veld ASC |
http://dev.mysql.com/doc/(...)s.html#function_cast |
Light | dinsdag 26 januari 2010 @ 10:56 |
quote: Ik zie niet waarom je zou moeten casten naar int. Stringsortering gaat (met de voorbeeldwaarden) ook goed. |
Chandler | dinsdag 26 januari 2010 @ 11:28 |
Hmm, dan loop ik de code nog eens door en kijk ik of ik toch een ASC oid? ben vergeten 
Een andere vraag m.b.t. een nieuw wachtwoord aanvragen voor gebruikers, ik zag ooit een script die je gemakkelijk kon misbruiken om een gebruiker 100000 emails te sturen voor aanvraag van een nieuw wachtwoord. Dit wil ik echter voorkomen.
Hoe zouden jullie dit oplossen? zelf zit ik te denken aan een veld in de gebruikerstabel met alleen de datum, dat men max 1x per dag een nieuw wachtwoord kunnen aanvragen, tenzijn nieuw wachtwoord gezet wordt dan wordt deze data weer in het verleden gezet. oid?
Jullie ideeen. |
mark_1980 | dinsdag 26 januari 2010 @ 12:08 |
Ik wil een waarde selecteren uit een database waarbij de waarde field_id een float is. Dit is mijn query:
1 | SELECT * FROM tabel where field_number = 5.3; |
Er komt echter geen resultaat terug uit de database. Heb al vanalles geprobeer:
1 2 3 4 | SELECT * FROM tabel where field_number = 5.3; SELECT * FROM tabel where field_number = '5.3'; SELECT * FROM tabel where field_number = 5,3; SELECT * FROM tabel where field_number = '5.3'; |
Maar het werkt allemaal niet! Iemand een idee hoe deze query moet draaien? |
Intrepidity | dinsdag 26 januari 2010 @ 12:23 |
Waarom is call-by-reference deprecated tegenwoordig? Als ik een parameter aan een closure meegeef met de ampersand ervoor krijg ikquote:Deprecated: Call-time pass-by-reference has been deprecated in \\V-PLUTO\CODE\WWW\wwwroot\dev\mailbasis\Framework\Core\ModelBase.php on line 207 De return-waarde van de closure wil ik gebruiken om te valideren of de operatie geslaagd is, maar tegelijkertijd moet de closure de meegegeven parameter kunnen wijzigen. Hoe los ik dat op? |
ParvusM | dinsdag 26 januari 2010 @ 15:00 |
quote: Omdat dit (als ik het goed heb vernomen) in PHP 5.x standaard gebeurt en dus is de ampersand niet meer nodig. |
Intrepidity | dinsdag 26 januari 2010 @ 15:01 |
quote: Op dinsdag 26 januari 2010 15:00 schreef ParvusM het volgende:[..] Omdat dit (als ik het goed heb vernomen) in PHP 5.x standaard gebeurt en dus is de ampersand niet meer nodig. Alleen met objecten afaik, niet met simpele typen.
1 2 3 4 5 6 7 8 9 10 11 | <?php echo phpversion() . "<br />"; $i = 3; foo($i); echo $i;
function foo($i) { $i++; } ?> |
Resultaat:quote:5.3.0 3 In 5.3.0 is dat zondermeer niet het geval  |
Intrepidity | dinsdag 26 januari 2010 @ 15:08 |
Ik snap 'm al Je moet je functie definieren met een ampersand, en deze vervolgens niet meer gebruiken in je aanroep.
Levert WEL een warning op:
1 2 3 4 5 6 7 8 9 | <?php $i = 3; foo(&$i);
function foo($i) { $i++; } ?> |
Levert GEEN warning op en werkt wel met een referentie:
1 2 3 4 5 6 7 8 9 | <?php $i = 3; foo($i);
function foo(&$i) { $i++; } ?> |
|
Darkomen | dinsdag 26 januari 2010 @ 15:40 |
1 2 3 4 5 6 7 | SELECT * FROM TMPCARD INNER JOIN TMPCARD_Uptime ON ( TMPCARD.id = TMPCARD_Uptime.cardid ) GROUP BY TMPCARD_Uptime.ip HAVING count( TMPCARD_Uptime.ip ) >=2 ORDER BY TMPCARD.timestamp, TMPCARD_Uptime.timestamp ASC LIMIT 0 , 10 |
Ik heb een probleem met de bovenstaande query, hopelijk kunnen jullie helpen. De eerste tabel TMPCARD is een tabel met gegevens van zo'n 1000 kaarten. De 2 de tabel is een tabel gevuld door een scan, deze kijkt of de uptime van die kaart meer of minder is dan de uptime in TMPCARD. Is het meer dan update hij TMPCARD.uptime Is het minder dan plaatst hij ook een entrie in TMPCARD_Uptime
Wat ik wil is per pagina de 10 kaarten welke 2 of meer dan 2 entries hebben in TMPCARD_Uptime.
Hoe doe ik dit op de juiste manier? Ik krijg dan wel de juiste kaarten maar niet met al hun entries in TMPCARD_Uptime.
[ Bericht 1% gewijzigd door Darkomen op 26-01-2010 15:52:31 ] |
cablegunmaster | woensdag 27 januari 2010 @ 01:57 |
quote: Op dinsdag 26 januari 2010 12:08 schreef mark_1980 het volgende:Ik wil een waarde selecteren uit een database waarbij de waarde field_id een float is. Dit is mijn query: [ code verwijderd ] Er komt echter geen resultaat terug uit de database. Heb al vanalles geprobeer: [ code verwijderd ] Maar het werkt allemaal niet! Iemand een idee hoe deze query moet draaien? is dit nog gelukt? want probeer tijdennr anders tussen quotes te zetten (enkele). Probeer anders even uit te testen met Phpmyadmin zat het alvast uit te zoeken maar ik kom niet echt ergens op problemen.  |
cablegunmaster | woensdag 27 januari 2010 @ 02:00 |
quote: Op dinsdag 26 januari 2010 15:40 schreef Darkomen het volgende:[ code verwijderd ] Ik heb een probleem met de bovenstaande query, hopelijk kunnen jullie helpen. De eerste tabel TMPCARD is een tabel met gegevens van zo'n 1000 kaarten. De 2 de tabel is een tabel gevuld door een scan, deze kijkt of de uptime van die kaart meer of minder is dan de uptime in TMPCARD. Is het meer dan update hij TMPCARD.uptime Is het minder dan plaatst hij ook een entrie in TMPCARD_Uptime Wat ik wil is per pagina de 10 kaarten welke 2 of meer dan 2 entries hebben in TMPCARD_Uptime. Hoe doe ik dit op de juiste manier? Ik krijg dan wel de juiste kaarten maar niet met al hun entries in TMPCARD_Uptime. ipv het sterretje in de select probeer eens de velden apart te benoemen in de select. is het probleem nu dat je velden mist? of dat je alleen enkele kaarten hebt? Want de GROUP BY methode zorgt er namelijk voor dat alle kaarten bijelkaar groupeert worden op TMPCARD_Uptime.ip en als ik van dat ip Meerdere kaarten wil zien dan wil dat niet. |
GlowMouse | woensdag 27 januari 2010 @ 08:55 |
quote: Op dinsdag 26 januari 2010 15:40 schreef Darkomen het volgende:[ code verwijderd ] Ik heb een probleem met de bovenstaande query, hopelijk kunnen jullie helpen. De eerste tabel TMPCARD is een tabel met gegevens van zo'n 1000 kaarten. De 2 de tabel is een tabel gevuld door een scan, deze kijkt of de uptime van die kaart meer of minder is dan de uptime in TMPCARD. Is het meer dan update hij TMPCARD.uptime Is het minder dan plaatst hij ook een entrie in TMPCARD_Uptime Wat ik wil is per pagina de 10 kaarten welke 2 of meer dan 2 entries hebben in TMPCARD_Uptime. Hoe doe ik dit op de juiste manier? Ik krijg dan wel de juiste kaarten maar niet met al hun entries in TMPCARD_Uptime. Het zoekwoord is denormalisatie. |
Darkomen | woensdag 27 januari 2010 @ 09:26 |
quote: En waarom? Het is niet dat de query traag loopt, ik wil enkel pagina;s toevoegen ipv 1 hele lange lijst.
Ik ga het anders doen, ik pak de hoofdtabel en zoek daar later wel de updates bij. |
GlowMouse | woensdag 27 januari 2010 @ 10:09 |
quote: Dat komt vanzelf als je veel kaarten krijgt. TMPCARD_Uptime.timestamp ASC lijkt me trouwens geen geldig iets om op te sorteren, zo na die group by. |
Darkomen | woensdag 27 januari 2010 @ 11:34 |
Joins en verder mysql kennis hebik helaas nog niet, vandaar de vragen. Ik dacht dat ik zoiets simpels als hieronder wel kon...
SELECT * FROM TMPCARD WHERE uptime<='172800' Waarom krijg ik hier ook hogere waarden terug? Bijvoorbeeld 10000930
Volgens mij is 10000930 toch echt groter dan 172800
Edit: ah, ORDER BY cast( uptime AS unsigned ) , id ASC
[ Bericht 13% gewijzigd door Darkomen op 27-01-2010 12:01:08 ] |
Light | woensdag 27 januari 2010 @ 12:17 |
quote: Waarom zou je een signed veld gebruiken als de waarde niet negatief kan zijn? Of kan die uptime wel negatief zijn? |
Darkomen | woensdag 27 januari 2010 @ 13:02 |
Nee die kan niet negatief zijn. Het veld is een varchar(11), verder niks bijzonder. |
woopehh | woensdag 27 januari 2010 @ 15:43 |
Weet iemand of er een manier is om te zorgen dat een record maar 1x uit een tabel wordt opgevraagd? Soort van SELECT en UPDATE/DELETE (om te laten zien dat het record al afgehandeld is) tegelijk.. |
Light | woensdag 27 januari 2010 @ 16:06 |
quote: Een varchar wordt alfabetisch gesorteerd. Dan komt 100 voor 17. Waarom niet gewoon een unsigned int gebruiken voor uptime? |
Darkomen | woensdag 27 januari 2010 @ 16:35 |
Bedankt, ik weet niet elke eigenschap van de verschillende velden. Een verkeerde keuze van mij dus. Het is nu aangepast, eens kijken wat ik er mee kan.
Edit: niks dus, krijg nu 1 entrie terug terwijl er echt veeeel meer zijn met meer dan 2 records in de 2de tabel.
[ Bericht 27% gewijzigd door Darkomen op 27-01-2010 16:45:01 ] |
Chandler | donderdag 28 januari 2010 @ 07:01 |
quote: Op dinsdag 26 januari 2010 11:28 schreef Chandler het volgende:Een andere vraag m.b.t. een nieuw wachtwoord aanvragen voor gebruikers, ik zag ooit een script die je gemakkelijk kon misbruiken om een gebruiker 100000 emails te sturen voor aanvraag van een nieuw wachtwoord. Dit wil ik echter voorkomen. Hoe zouden jullie dit oplossen? zelf zit ik te denken aan een veld in de gebruikerstabel met alleen de datum, dat men max 1x per dag een nieuw wachtwoord kunnen aanvragen, tenzijn nieuw wachtwoord gezet wordt dan wordt deze data weer in het verleden gezet. oid? Jullie ideeen. Iemand? |
Intrepidity | donderdag 28 januari 2010 @ 09:27 |
quote: Als het goed is genereer je voor het versturen van een mail iets als een activatiecode waarmee de gebruiker een nieuw wachtwoord kan instellen. Ik doe het zelf zo dat zolang dat veld gevuld is in de database er geen nieuw wachtwoord aangevraagd kan worden. Dus: 1. Gebruiker vraagt nieuw wachtwoord aan 2. Willekeurige activatiecode wordt gegenereerd en gemaild, hiermee kan de gebruiker een nieuw wachtwoord instellen 3. Gebruiker negeert mailtje 4. Gebruiker vraagt nogmaals een nieuw wachtwoord aan Dit werkt in dit geval niet, omdat het eerste mailtje niet gebruikt is. Heeft de gebruiker een ander emailadres, of het mailtje niet ontvangen of iets dergelijks --> contact met support opnemen. Activatiecode wordt na 1 maand ongebruikt te zijn tevens vanzelf verwijderd. |
Darkomen | donderdag 28 januari 2010 @ 10:32 |
quote: Op donderdag 28 januari 2010 09:27 schreef Intrepidity het volgende:[..] Als het goed is genereer je voor het versturen van een mail iets als een activatiecode waarmee de gebruiker een nieuw wachtwoord kan instellen. Ik doe het zelf zo dat zolang dat veld gevuld is in de database er geen nieuw wachtwoord aangevraagd kan worden. Dus: 1. Gebruiker vraagt nieuw wachtwoord aan 2. Willekeurige activatiecode wordt gegenereerd en gemaild, hiermee kan de gebruiker een nieuw wachtwoord instellen 3. Gebruiker negeert mailtje 4. Gebruiker vraagt nogmaals een nieuw wachtwoord aan Dit werkt in dit geval niet, omdat het eerste mailtje niet gebruikt is. Heeft de gebruiker een ander emailadres, of het mailtje niet ontvangen of iets dergelijks --> contact met support opnemen. Activatiecode wordt na 1 maand ongebruikt te zijn tevens vanzelf verwijderd. Zoiets, al zou ik de code binnen 24 uur laten verlopen.
mijn probleem heb ik mogeljik opgelost met
SELECT * FROM TMPCARD_Uptime INNER JOIN TMPCARD ON ( TMPCARD_Uptime.cardid = TMPCARD.id ) GROUP BY TMPCARD_Uptime.serial HAVING count(TMPCARD_Uptime.cardid) >=2 ORDER BY TMPCARD_Uptime.timestamp ASC LIMIT 0,10 |
hello_moto1992 | donderdag 28 januari 2010 @ 21:49 |
Ik gebruik PHP include om mijn HTML te includen. Maar nu staat deze in een map voor het bestand waar ik het include. Hoe verwijs ik dan toch naar die HTML? Include met URL is niet toegestaan. |
Intrepidity | donderdag 28 januari 2010 @ 21:53 |
quote: Op donderdag 28 januari 2010 21:49 schreef hello_moto1992 het volgende:Ik gebruik PHP include om mijn HTML te includen. Maar nu staat deze in een map voor het bestand waar ik het include. Hoe verwijs ik dan toch naar die HTML? Include met URL is niet toegestaan. 1 2 3 4 | <?php // Door de 2 puntjes ga je een map in de structuur omhoog include("../bestand.html"); ?> |
En ookal zou je HTTP-includes kunnen gebruiken, nooit doen, omdat:quote:If you are including a file from your own site, do not use a URL however easy or tempting that may be. If all of your PHP processes are tied up with the pages making the request, there are no processes available to serve the include. The original requests will sit there tying up all your resources and eventually time out.
[ Bericht 15% gewijzigd door Intrepidity op 28-01-2010 22:02:45 ] |
calamares | vrijdag 29 januari 2010 @ 00:43 |
quote: Ik heb in veel applicaties meerdere functies zitten die een mail verzenden, waar functies als 'Wachtwoord vergeten' er één van is. Voor al die mailfuncties heb ik meestal een tabel met e-mail templates (moeten in 99% van de gevallen muteerbaar zijn), daarnaast heb ik nog een tabel waar ik bijhoud wanneer welk mailtje (a.h.v. een template ID) verzonden is. Op die manier kun je al redelijk eenvoudig een query op die tabel loslaten, om te kijken hoe vaak een zelfde mailtje al aangevraagd is. En desnoods limiteren als dat aantal te hoog is.  |
Chandler | vrijdag 29 januari 2010 @ 06:57 |
calamares; dus je hebt een class die per verzonden email een tabel up to date houdt m.b.t. controle/inzien verzonden emails?
verder nog gelijk een andere vraag; stel je hebt een site die je stap voor stap uitbreid en dat is tevens ook zo voor alle instellingen. Passen jullie dan steeds de tabel aan van de instellingen of zorgen jullie dat toevoegen van instellingen zonder het aanpassen van tabellen mogelijk is?
(hopelijk duidelijk genoeg ) |
Trollface. | vrijdag 29 januari 2010 @ 13:12 |
quote:Op vrijdag 29 januari 2010 06:57 schreef Chandler het volgende:calamares; dus je hebt een class die per verzonden email een tabel up to date houdt m.b.t. controle/inzien verzonden emails? verder nog gelijk een andere vraag; stel je hebt een site die je stap voor stap uitbreid en dat is tevens ook zo voor alle instellingen. Passen jullie dan steeds de tabel aan van de instellingen of zorgen jullie dat toevoegen van instellingen zonder het aanpassen van tabellen mogelijk is? (hopelijk duidelijk genoeg  ) Ik heb een settings tabel zo ingesteld:
1 2 3 | NAME | VALUE ------------------------ Test | Test2 |
Dit gaan dan wel over sitewide-instellingen. Als er een instelling bijkomt, gewoon een INSERT INTO doen. |
hello_moto1992 | vrijdag 29 januari 2010 @ 15:32 |
Heren/dames,
1 2 3 4 5 6 7 8 9 | <?php while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>".$row['title']."</td>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">link</a>"; echo "</tr>"; } ?> |
Ik heb de volgende code. Deze werkt prima, er worden twee kolommen getoond: de title en een titel met als link met de aid er in. Maar nu zou ik dus graag willen dat de titel een link wordt. Dit is volgens mij niet al te moeilijk, maar het wil mij maar niet lukken. Iemand een suggestie?
Edit: ik heb het al Het moet natuurlijk zo:
1 2 3 | <?php echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">".$row['title']."</a>"; ?> |
[ Bericht 11% gewijzigd door hello_moto1992 op 29-01-2010 15:41:05 ] |
hello_moto1992 | vrijdag 29 januari 2010 @ 15:47 |
Weet iemand toevallig wel hoe je met SQL het eerste resultaat 'overslaat'? Dus dat je bij de eerste 5 resultaten de nieuwste weglaat. |
SHERMAN | vrijdag 29 januari 2010 @ 15:48 |
quote:Op vrijdag 29 januari 2010 15:47 schreef hello_moto1992 het volgende:Weet iemand toevallig wel hoe je met SQL het eerste resultaat 'overslaat'? Dus dat je bij de eerste 5 resultaten de nieuwste weglaat. Nieuwste of de eerste? Kan een wezenlijk verschil zijn namelijk. |
hello_moto1992 | vrijdag 29 januari 2010 @ 15:53 |
Dit is de query:
1 2 3 4 5 6 | <?php SELECT `aid` , `title` FROM `il7o_albums` ORDER BY `aid` DESC LIMIT 0 , 3 ?> |
Hij toont dus de albums met het hoogste aid (die zijn het laatst toegevoegd) Dus: album 100 album 99 album 98
Album 100 wil ik er uit zeven |
Light | vrijdag 29 januari 2010 @ 15:59 |
quote: Op vrijdag 29 januari 2010 15:47 schreef hello_moto1992 het volgende:Weet iemand toevallig wel hoe je met SQL het eerste resultaat 'overslaat'? Dus dat je bij de eerste 5 resultaten de nieuwste weglaat. quote:The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must both be nonnegative integer constants (except when using prepared statements).
With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1): Bron: http://dev.mysql.com/doc/refman/5.0/en/select.html
Dus met een simplele SELECT * FROM table WHERE 1 = 1 LIMIT 1,5 krijg je de resultaten 2 t/m 6. |
hello_moto1992 | vrijdag 29 januari 2010 @ 16:01 |
Ooh gewoon de LIMIT aanpassen dus Thnx 
Nu heb k eigenlijk nog iets waar k mee zit
1 2 3 4 5 6 7 8 | <?php while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">".$row['title']."</a>"; echo "</tr>"; } ?> |
Hier komt dus een link uitrollen. Deze mag echter maar een aantal tekens hebben. Dit kan met de functie wordwrap heb k al gezien. Maar hoe pas je zulkiets hier toe? |
Chandler | vrijdag 29 januari 2010 @ 16:10 |
quote: Op vrijdag 29 januari 2010 13:12 schreef Trollface. het volgende:[..] Ik heb een settings tabel zo ingesteld: [ code verwijderd ] Dit gaan dan wel over sitewide-instellingen. Als er een instelling bijkomt, gewoon een INSERT INTO doen. Op zich een goed idee, alleen zit ik mij dan af te vragen hoe ik dit moet gaan realiseren als er ook gegevens zijn die langer dan 255 karakters bevatten, of juist alleen INT.
Ideeen? |
Darkomen | vrijdag 29 januari 2010 @ 16:40 |
quote: Op vrijdag 29 januari 2010 16:01 schreef hello_moto1992 het volgende:Ooh gewoon de LIMIT aanpassen dus Thnx  Nu heb k eigenlijk nog iets waar k mee zit [ code verwijderd ] Hier komt dus een link uitrollen. Deze mag echter maar een aantal tekens hebben. Dit kan met de functie wordwrap heb k al gezien. Maar hoe pas je zulkiets hier toe? http://php.net/manual/en/function.substr.php De derde comment  |
hello_moto1992 | vrijdag 29 januari 2010 @ 16:46 |
K snap er niks van Kan dat niet simpeler? |
Chandler | vrijdag 29 januari 2010 @ 17:53 |
quote: Nee, wel moeilijker  |
Intrepidity | vrijdag 29 januari 2010 @ 19:17 |
quote: Wat is er moeilijk aan het copypasten van die functie? |
calamares | zaterdag 30 januari 2010 @ 11:23 |
quote:Op vrijdag 29 januari 2010 06:57 schreef Chandler het volgende:calamares; dus je hebt een class die per verzonden email een tabel up to date houdt m.b.t. controle/inzien verzonden emails? verder nog gelijk een andere vraag; stel je hebt een site die je stap voor stap uitbreid en dat is tevens ook zo voor alle instellingen. Passen jullie dan steeds de tabel aan van de instellingen of zorgen jullie dat toevoegen van instellingen zonder het aanpassen van tabellen mogelijk is? (hopelijk duidelijk genoeg  ) Als er functionaliteit bij komt in de vorm van een nieuw soort e-mail, dan is dat in mijn geval niet meer dan een record in de email-template tabel. De tabel die bijhoudt wanneer welk e-mailtje verzonden wordt, werkt ook met die template ID's van die tabel. |
calamares | zaterdag 30 januari 2010 @ 11:27 |
quote: Wat is er moeilijk aan de substring (substr() ) functie? De eerste parameter is hetgeen dat je wilt in- of afkorten, de tweede is vanaf welke positie dit moet gebeuren, de derde is hoeveel karakters je vanaf die opgegeven positie wilt weergeven.
Het enige 'aparte' is misschien dat je ook de mogelijkheid hebt om alleen een tweede parameter op te geven, die negatief is. In dat geval wordt hetgeen van hetgeen dat in je eerste parameter staat, de laatste x-aantal karakters weergegeven. |
hello_moto1992 | zaterdag 30 januari 2010 @ 12:36 |
Sorry, het lukt me nog niet echt. Dit is nu de code:
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 | <?php include"include/connect.php"; ?> <?php $query = " SELECT `aid` , `title` FROM `il7o_albums` ORDER BY `aid` DESC LIMIT 1 , 3 "; $result = mysql_query($query)or die (mysql_error()); ?> <?php function _substr($str, $length, $minword = 3) { $sub = $row['title']; $len = ??????;; foreach (explode(' ', $str) as $word) { $part = (($sub != '') ? ' ' : '') . $word; $sub .= $part; $len += strlen($part); if (strlen($word) > $minword && strlen($sub) >= $length) { break; } } return $sub . (($len < strlen($str)) ? '...' : ''); } ?> <table border="0" cellpadding="0" cellspacing="0" style="color: white; font-size: 0.8em;"> <? while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">".$row['title']."</a>"; echo "</tr>"; } ?> </table> |
Ik snap niet precies hoe ik die parameters invul. |
Darkomen | zondag 31 januari 2010 @ 12:19 |
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 | <?php include"include/connect.php"; ?> <?php $query = " SELECT `aid` , `title` FROM `il7o_albums` ORDER BY `aid` DESC LIMIT 1 , 3 "; $result = mysql_query($query)or die (mysql_error()); ?> <?php function _substr($str, $length, $minword = 3) { $sub = $row['title']; $len = ??????;; foreach (explode(' ', $str) as $word) { $part = (($sub != '') ? ' ' : '') . $word; $sub .= $part; $len += strlen($part); if (strlen($word) > $minword && strlen($sub) >= $length) { break; } } return $sub . (($len < strlen($str)) ? '...' : ''); } ?> <table border="0" cellpadding="0" cellspacing="0" style="color: white; font-size: 0.8em;"> <? while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td><a href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">"._substr($row['title'], 10, 5)."</a>"; echo "</tr>"; } ?> </table> |
Zo dus, 10 en 5 kan je zelf veranderen in wat je wilt, probeer maar eens uit. |
ursel | maandag 1 februari 2010 @ 19:35 |
Hmmm.. Dacht slim te zijn door DEFINES in mijn tekst te plaatsen en alvorens de tekst te displayen deze eerst door een eval heen te gooien.
Blijkbaar kan eval alleen variabelen veranderen en geen defines. Iemand andere suggesties? |
Light | dinsdag 2 februari 2010 @ 09:55 |
quote: Op maandag 1 februari 2010 19:35 schreef ursel het volgende:Hmmm.. Dacht slim te zijn door DEFINES in mijn tekst te plaatsen en alvorens de tekst te displayen deze eerst door een eval heen te gooien. Blijkbaar kan eval alleen variabelen veranderen en geen defines. Iemand andere suggesties? Je zou nog kunnen proberen je defines tussen {} te zetten. |
Intrepidity | dinsdag 2 februari 2010 @ 10:20 |
quote: Op maandag 1 februari 2010 19:35 schreef ursel het volgende:Hmmm.. Dacht slim te zijn door DEFINES in mijn tekst te plaatsen en alvorens de tekst te displayen deze eerst door een eval heen te gooien. Blijkbaar kan eval alleen variabelen veranderen en geen defines. Iemand andere suggesties? Volgensmij snap ik je probleem niet echt. Je probeert doormiddel van eval een constante aan te passen? Waarom een constante gebruiken als deze niet vaststaat? Voor dat doel kun je net zogoed een globale variabele, of met OO smaakje een statische property gebruiken. |
ursel | dinsdag 2 februari 2010 @ 10:40 |
quote:Op dinsdag 2 februari 2010 10:20 schreef Intrepidity het volgende:[..] Volgensmij snap ik je probleem niet echt. Je probeert doormiddel van eval een constante aan te passen? Waarom een constante gebruiken als deze niet vaststaat? Voor dat doel kun je net zogoed een globale variabele, of met OO smaakje een statische property gebruiken. Onlangs zijn we gestart om onze huidige omgeving ook in andere smaken te presenteren. Hangen allen onder andere URL, maar maken verder gebruik van exact dezelfde omgeving en code. Voor de tekst pagina's moeten een aantal benamingen nu dus gebruik gaan maken van die andere namen.
Doordat de meeste namen al in defines bij ons zitten hoopte ik op deze manier het op een simpele manier af te kunnen vangen, immers omgeving afhankelijk wordt er al gebruik gemaakt van dezelfde defines. |
ursel | dinsdag 2 februari 2010 @ 12:09 |
quote: Kan je deze iets meer uit specificeren?
Heb bijv. de volgende define:
1 2 3 | <?php define('NAME_FULL', 'Bedrijf B.V.'); ?> |
En in de tekst moet ik dan {NAME_FULL} plaatsen? Dat werkt in ieder geval niet kan ik je vertellen. :') |
Trollface. | dinsdag 2 februari 2010 @ 12:11 |
quote:Op dinsdag 2 februari 2010 12:09 schreef ursel het volgende:[..] Kan je deze iets meer uit specificeren? Heb bijv. de volgende define: [ code verwijderd ] En in de tekst moet ik dan {NAME_FULL} plaatsen? Dat werkt in ieder geval niet kan ik je vertellen. :') 1 2 3 | <?php echo "Bedrijf: " . NAME_FULL; ?> |
|
ursel | dinsdag 2 februari 2010 @ 12:20 |
quote: Ja, dat zou wel makkelijk zijn als de teksten niet uit een database kwamen.  Dacht dat ik dat al gemeld had, maar blijkbaar niet. |
Trollface. | dinsdag 2 februari 2010 @ 12:22 |
quote:Op dinsdag 2 februari 2010 12:20 schreef ursel het volgende:[..] Ja, dat zou wel makkelijk zijn als de teksten niet uit een database kwamen.  Dacht dat ik dat al gemeld had, maar blijkbaar niet. Als je de tekst direct uit een database haalt, gaat {} sowieso niet werken hé. 
Je kunt proberen <<BEDRIJF_NAAM>> o.i.d. in de tekst te pleuren en dan een str_replace() te doen:
1 2 3 | <?php $sTekst = str_replace("<<BEDRIJF_NAAM>>", FULL_NAME, $sTekst); ?> |
|
ursel | dinsdag 2 februari 2010 @ 12:32 |
quote:Op dinsdag 2 februari 2010 12:22 schreef Trollface. het volgende:[..] Als je de tekst direct uit een database haalt, gaat {} sowieso niet werken hé.  Je kunt proberen <<BEDRIJF_NAAM>> o.i.d. in de tekst te pleuren en dan een str_replace() te doen: [ code verwijderd ] Mja, dat gebruiken we nu idd, echter willen we het meer onafhankelijk draaien zodat we niet voor elke define welke we gebruiken een str_replace moeten plaatsen. Daarnaast bestaat de module momenteel uit 3 paragrafen welke ieder een eigen veld in de tabel hebben.  |
Sitethief | dinsdag 2 februari 2010 @ 12:49 |
Weet iemand een goede website die foreign keys in innodb uitlegt? |
Intrepidity | dinsdag 2 februari 2010 @ 12:52 |
deze site schijnt er behoorlijk wat informatie over te hebben  |
Sitethief | dinsdag 2 februari 2010 @ 13:00 |
quote: Die hadden we nog niet geprobeerd..... . (Ik heb niet eesn geklikt ) Het is meer dat nergens goed uitgelegd word wanneer je ze wel of niet moet inzetten. |
genakt | vrijdag 5 februari 2010 @ 09:54 |
Ik heb een data base aangemaakt in php myadmin en ben een inlogpagina aan het maken
in mijn database heb ik de tabel
personeelsnummer als sleutelveld en autonumering pnaam pwachtwoordquote:<?php.
session_start();
$db = mysql_connect("localhost", "root", "root") or die("kan geen verbinding maken: ".mysql_error()); mysql_select_db("medinfo",$db);
if (!EMPTY($_POST)) {
$nr = $_POST['nr']; $ww = $_post['ww'];
$sql = "SELECT * From personeel Where pnaam= '$nr' AND pwachtwoord = '$ww'"; $resultaat = mysql_query($sql);
if (mysql_num_rows($resultaat)>0) { while($rij = mysql_fetch_array($resultaat)) { $_SESSION["pnaam"]=$rij["pnaam"]; $_SESSION["pwachtwoord"]=$rij["pwachtwoord"]; } header("location: loginstart.php"); exit();
} else {
echo "<BR>"; echo "<HR>"; echo "Geen geldige inlog gegevens"; }
mysql_close($db); }
else { ?>
<html> <head> <title>Medinfo</title> </head> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>"> <B><h1>Medinfo</h1><B><br> na correct inloggen kun u uw gegevens opvragen<h3> <br><br> </center> <pre> Voer uw klantennummer in: <input type="text" name="nr" size="20" maxlenght="20"> <br><br> Voer wachtwoord in: <input type="password" name="ww" size="20" maxlenght="20"> <br><br> <input type = "submit" value = "inloggen"> <input type = "reset" value = "wissen"> </pre> </form> </body> </html>
<?php }
?> alleen als ik probeer in te loggen krijg ik te zien gebruikersnaam niet geldig  heb wel naam en wachtwoord ingevoerd in de database dus dat kan het niet zijn |
GlowMouse | vrijdag 5 februari 2010 @ 10:03 |
Die melding kan niet uit je script komen. |
genakt | vrijdag 5 februari 2010 @ 10:08 |
quote: ik bedoelde
Geen geldige inlog gegevens
echo "Geen geldige inlog gegevens"; |
Civilian | vrijdag 5 februari 2010 @ 10:14 |
Dan nog..
Een user zou uniek moeten zijn, anders doe je toch al iets fout. Dus waarom de while, en waarom een exit() in je while.. Dan gaat toch een beetje de hele functie verloren? |
genakt | vrijdag 5 februari 2010 @ 10:21 |
quote:Op vrijdag 5 februari 2010 10:14 schreef Civilian het volgende:Dan nog.. Een user zou uniek moeten zijn, anders doe je toch al iets fout. Dus waarom de while, en waarom een exit() in je while.. Dan gaat toch een beetje de hele functie verloren? dat een user uniek moet zijn weet ik mjah daar gaat het nu niet om en het is niet de reden waarom hij het niet doet  |
Civilian | vrijdag 5 februari 2010 @ 10:32 |
quote: Op vrijdag 5 februari 2010 10:21 schreef genakt het volgende:[..] dat een user uniek moet zijn weet ik mjah daar gaat het nu niet om en het is niet de reden waarom hij het niet doet  Beter gelijk goed beginnen dan het na die tijd aan te moeten passen en het risico te lopen dat het weer niet werkt  Maargoed, hoe heb je de passwords opgeslagen? Gecodeerd (md5 oid) of als normale string? Als je 't gecodeerd op hebt geslagen moet je er ook rekening mee houden dat je ze op die manier gaat vergelijken. |
genakt | vrijdag 5 februari 2010 @ 11:11 |
quote:Op vrijdag 5 februari 2010 10:32 schreef Civilian het volgende:[..] Beter gelijk goed beginnen dan het na die tijd aan te moeten passen en het risico te lopen dat het weer niet werkt  Maargoed, hoe heb je de passwords opgeslagen? Gecodeerd (md5 oid) of als normale string? Als je 't gecodeerd op hebt geslagen moet je er ook rekening mee houden dat je ze op die manier gaat vergelijken. $nr = $_POST['nr']; $ww = $_post['ww'];
2e post zonder hoofdletters  hij doet het nu  |
Civilian | vrijdag 5 februari 2010 @ 11:16 |
nvm  |
genakt | vrijdag 5 februari 2010 @ 11:41 |
iedegeval bedankt voor hulp
heb wel nu wel gezegd dat je met inloggen het personeelsnummer moet invoeren zodat elke inlognaam naam uniek is |
Crutch | vrijdag 5 februari 2010 @ 12:26 |
Waarom codeer je het wachtwoord niet? |
genakt | vrijdag 5 februari 2010 @ 13:46 |
quote: het is voor me examen dan hoef je dat helemaal niet te doen joh gewoon simpel inlog systeem is voldoende
heb kleine beveiliging in loginstart.php is helemaal niet bedoeld voor online applicatie of iets dergelijks gewoon simpel houden  |
Trollface. | vrijdag 5 februari 2010 @ 14:00 |
JUIST voor je examen zou ik je wachtwoord laten hashen. |
genakt | vrijdag 5 februari 2010 @ 14:02 |
quote: als het niet hoeft waarom zou ik het dan doen  |
Trollface. | vrijdag 5 februari 2010 @ 14:02 |
quote: Wat een kutexamen nofi. |
genakt | vrijdag 5 februari 2010 @ 14:04 |
quote: nog leuker degene die het nakijken hebben er van de 3 maar 1 echt verstand van  zadkine examencentrum he
heb me examen trouwens over 4 weken dus ben aan het oefenen  zodat ik al me scripts zo klaar heb |
DaFan | maandag 8 februari 2010 @ 16:45 |
Ik heb een lastige (vind ik) SELECT query nodig in SQL. Er is een tabel waar een persoon meerdere malen (ID, fullname) in voor kan komen.
Eén van de kolommen is soms NULL, soms niet. Als deze ooit bij een ID not null is, dan wil ik nooit meer die ID terugzien.
Hoe kan ik dat maken? (Duidelijk genoeg?) |
DaFan | maandag 8 februari 2010 @ 16:47 |
quote:Op maandag 8 februari 2010 16:45 schreef DaFan het volgende:Ik heb een lastige (vind ik) SELECT query nodig in SQL. Er is een tabel waar een persoon meerdere malen (ID, fullname) in voor kan komen. Eén van de kolommen is soms NULL, soms niet. Als deze ooit bij een ID not null is, dan wil ik nooit meer die ID terugzien. Hoe kan ik dat maken? (Duidelijk genoeg?) Via een omweg kan het ook: Als bij een ID de kolom 'Type' nooit '73' voorkomt, dan wil ik die ID zien. Dat lijkt mij makkelijker, maar hoe  |
GlowMouse | maandag 8 februari 2010 @ 16:49 |
WHERE en een subquery. |
Chandler | maandag 8 februari 2010 @ 19:37 |
Ik heb ook weer een leuke m.b.t. mijn gebruikte rechtensysteem. Hieronder schets ik eerst een voorbeeld van de tabellen die ik gebruik voor mijn rechtensysteem (oa gebruiker specifieke rechten, groepen met rechten die weer aan gebruikers gekoppeld woden.)
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 | CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `createdate` datetime NOT NULL, `editdate` datetime NOT NULL, `username` varchar(20) NOT NULL, `email` varchar(128) NOT NULL, `password` char(41) NOT NULL, `validation` char(12) NOT NULL, `banned` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `gebruikersnaam` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `users_groups` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL, `lastupdate` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `users_groups_link` ( `user_id` int(10) unsigned NOT NULL, `group_id` int(10) unsigned NOT NULL, `timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, KEY `gebruiker_id` (`user_id`,`group_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `users_groups_rights_link` ( `group_id` int(10) unsigned NOT NULL, `right_id` int(10) unsigned NOT NULL, KEY `groep_id` (`group_id`,`right_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `users_rights` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL, `value` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `users_rights_link` ( `user_id` int(10) unsigned NOT NULL, `right_id` int(10) unsigned NOT NULL, `lastupdate` datetime NOT NULL, KEY `gebruiker_id` (`user_id`,`right_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
Nu wil ik dit systeem eingelijk ook voor mijn forum gaan gebruiken, echter zit in dit forum een ander rechten systeem gekoppeld (5 specieke rechten per forum) en deze wil ik er dus nu afhalen en het huidige rechten systeem voor gaan benutten. Maar nu het volgende, moet ik voor ieder forum apparte rechten groepen aanmaken en deze vullen met 'rechten' of zou ik dit beter op een andere manier kunnen koppelen, aangezien er dan wel heel rechten (per forum, per groep(en) en gebruikers) bij komen.
forum tabel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | CREATE TABLE `forum_fora` ( `right_reply` int(11) unsigned NOT NULL, `right_read` int(11) unsigned NOT NULL, `right_start` int(11) unsigned NOT NULL, `right_banned` int(11) unsigned NOT NULL, `right_admin` int(11) unsigned NOT NULL, `id` tinyint(4) unsigned NOT NULL AUTO_INCREMENT, `index_id` tinyint(4) unsigned NOT NULL DEFAULT '0', `name` varchar(75) COLLATE latin1_general_ci NOT NULL DEFAULT '', `subname` char(3) COLLATE latin1_general_ci NOT NULL DEFAULT '', `subject` text COLLATE latin1_general_ci NOT NULL, `lastpost` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `topics` int(4) unsigned NOT NULL DEFAULT '0', `posts` int(4) unsigned NOT NULL DEFAULT '0', `fsort` tinyint(4) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `index_id` (`index_id`), KEY `name` (`name`), KEY `fsort` (`fsort`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; |
in dit geval gebruik ik per forum de volgende code opzet
1 2 3 4 5 | `right_reply` = 0 of ID+001 `right_read` = 0 of ID+002 `right_start` = 0 of ID+003 `right_banned` = 0 of ID+004 `right_admin` = 0 of ID+005 |
deze rechten (normaal op 0 dus niet vereist) worden in een apparte tabel geschreven die weer uitgelezen worden op het moment dat de gebruiker het forum bezoekt.
Dus wat zouden jullie doen? |
DaFan | dinsdag 9 februari 2010 @ 14:18 |
Ik heb wat hulp nodig met code. Ik heb de volgende SELECT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | SELECT h.res_id,comp_code, SUM(amount_costs) as TotaalPens FROM hrcomp_trans
inner join humres h with(nolock) on h.res_id=hrcomp_trans.res_id
WHERE comp_code = 'PENSWG' and h.res_id=144 GROUP BY h.res_id, comp_code
UNION
SELECT h.res_id,comp_code, SUM(entry_amount) as TotaalPens FROM hrcomp_trans
inner join humres h with(nolock) on h.res_id=hrcomp_trans.res_id
WHERE comp_code = 'SALARIS' and h.res_id=144 GROUP BY h.res_id, comp_code |
Dit is het resultaat:
1 2 3 | res_id comp_code TotaalPens 144 PENSWG 25,14 144 SALARIS 2000 |
Hoe kan ik zorgen dat er maar 1 rij is met 4 kolommen, ééntje voor PENSWG en dan SUM(Amount_costs) en ééntje voor SALARIS en dan SUM(entry_amount)?
Bedankt _O_ |
DaFan | dinsdag 9 februari 2010 @ 14:38 |
Nvm;
1 2 | (SELECT SUM(entry_amount) FROM hrcomp_trans where h.res_id=hrcomp_trans.res_id and comp_code='SALARIS') AS TotaalSalaris, (SELECT SUM(amount_costs) FROM hrcomp_trans where h.res_id=hrcomp_trans.res_id and comp_code='PENSWG') AS TotaalPensioen |
Ik wist niet dat je met Sub-SELECTS nieuwe kolommen kon maken :@ Weer wat geleerd. |
Intrepidity | dinsdag 9 februari 2010 @ 14:49 |
quote: Op dinsdag 9 februari 2010 14:38 schreef DaFan het volgende:Nvm; [ code verwijderd ] Ik wist niet dat je met Sub-SELECTS nieuwe kolommen kon maken  Weer wat geleerd. Je kunt er geen nieuwe kolommen mee maken, alleen bestaande kolommen transformeren tot nieuwe gegevens. Die kolommen bestaan uiteraard niet meer na het uitvoeren van de query. |
DaFan | dinsdag 9 februari 2010 @ 15:03 |
Nouja ik zie het als een UNION in de richting die ik wou  |
boem-dikkie | woensdag 10 februari 2010 @ 02:17 |
Opgelost. 
[ Bericht 82% gewijzigd door boem-dikkie op 10-02-2010 02:28:33 ] |
wobbel | woensdag 10 februari 2010 @ 10:36 |
Ik heb een tabel met taken (TAAK), een tabel met statussen voor die taken (TAAK_STATUS) en een tabel met prioriteiten voor een taak (TAAK_PRIORITEIT).
Hoe zorg ik ervoor dat ik per medewerker kan bekijken hoeveel taken hij nog heeft, gegroepeerd per status?
1 2 3 4 5 6 7 8 | SELECT PrioriteitId, COUNT(*) as 'aantal' FROM taak INNER JOIN taak_status ON (taak.StatusId = taak_status.IdStatus ) INNER JOIN taak_prioriteit ON ( taak.PrioriteitId = taak_prioriteit.IdPrioriteit ) WHERE MedewerkerId = '8' GROUP BY PrioriteitId |
Dit zou terug moeten geven dat ik nog 3 taken heb met PrioriteitId = 1 heb, 2 taken met PrioriteitId = 2 en nog 12 taken met PrioriteitId = '3'.
Maar dit werkt niet zeg maar... :P |
wobbel | woensdag 10 februari 2010 @ 10:47 |
Ah dat script werkt wel....  |
ursel | woensdag 10 februari 2010 @ 10:51 |
quote:Op woensdag 10 februari 2010 10:36 schreef wobbel het volgende:Ik heb een tabel met taken (TAAK), een tabel met statussen voor die taken (TAAK_STATUS) en een tabel met prioriteiten voor een taak (TAAK_PRIORITEIT). Hoe zorg ik ervoor dat ik per medewerker kan bekijken hoeveel taken hij nog heeft, gegroepeerd per status? [ code verwijderd ] Dit zou terug moeten geven dat ik nog 3 taken heb met PrioriteitId = 1 heb, 2 taken met PrioriteitId = 2 en nog 12 taken met PrioriteitId = '3'. Maar dit werkt niet zeg maar...  Wat doet die dan wel zeg maar...  Overigens doe je zover ik snel zag niets met de status en is het dus niet zinvol die mee te querien.  |
wobbel | woensdag 10 februari 2010 @ 11:20 |
quote:Op woensdag 10 februari 2010 10:51 schreef ursel het volgende:[..] Wat doet die dan wel zeg maar...  Overigens doe je zover ik snel zag niets met de status en is het dus niet zinvol die mee te querien. Omdat ik straks ook nog de status moet uitlezen  Maar het werkt al  |
hello_moto1992 | woensdag 10 februari 2010 @ 18:37 |
Hallo,
Met behulp van s3slider probeer ik gegevens uit de database op te halen.
HTML voor de slider:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php <div id="slider"> <ul id="sliderContent"> <li class="sliderImage"> <img src="http://imgur.com/jw1L5.png" alt="4" /> <span class="bottom"><strong>Title text 2</strong></span> </li> <li class="sliderImage"> <img src="images/410/5.jpg" alt="5" /> <span class="top"><strong>Title text 2</strong></span> </li> <div class="clear sliderImage"></div> </ul> </div> ?> |
Nu haal ik op dit moment zo gegevens uit de database, zodat er rijen gevormd worden.
1 2 3 4 5 6 | <?php while ($row = mysql_fetch_array($result)) { echo "<td><a title=\"".$row['title']."\"href=\"http://www.test.nl/coppermine/thumbnails.php?album=".$row['aid']."\">"._substr($row['title'], 25, 0)."</a>"; } ?> |
Hoe krijg ik dan afzonderlijke gevens, zoals bijvoorbeeld bij de titel, de titels tussen de span? Er staan nl. ook allemaal dingen zoals IMG enzo tussen
bvd  |
HotSpotShield | woensdag 10 februari 2010 @ 22:57 |
Ik ben vandaag begonnen met het Zendframework icm met een paar goede tutorials. ben nu een tijdje onderweg maar ik zit nu echt vast.
In de tutorial werd namelijk gezegd dat alle forms in het mapje "forms" geplaatst dienen te worden, echter had ik deze map niet standaard dus deze heb ik handmatig aangemaakt. Echter pakt hij nu niet de form-classes uit deze map. Ben ik nu gewoon een instelling vergeten aan te vinken waardoor deze automatisch gevonden worden, of is het een fout in mijn code?
AuthenticationController Class
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 | <?php class AuthenticationController extends Zend_Controller_Action {
public function init() { /* Initialize action controller here */ }
public function indexAction() { }
public function loginAction() { $form = new Form_LoginForm(); $this->view->form = $form; $authAdapter = $this->getAuthAdapter(); $username = 'Lala'; $password = '912ec803b2ce49e4a541068d495ab570'; $authAdapter->setIdentity($username) ->setCredential($password); $auth = Zend_Auth::getInstance(); $result = $auth->authenticate($authAdapter);
if($result -> isValid()){ $identity = $authAdapter->getResultRowObject(); $authStorage = $auth->getStorage(); $authStorage->write($identity); $this->_redirect('index/index'); }else{ echo 'Invalid'; } return $result; }
public function logoutAction() { // action body } private function getAuthAdapter(){ $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter()); $authAdapter->setTableName('users') ->setIdentityColumn('username') ->setCredentialColumn('password'); return $authAdapter; }
} |
Form_LoginForm <- deze word dus niet gevonden/correct ingeladen.
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 | <?php class Form_LoginForm extends zend_Form { public function __construct($option = null){ parent::__construct($option); $this->setName('login'); $username = new Zend_Form_Element_Text('username'); $username->setLabel('User Name') ->setRequired(); $password = new Zend_Form_Element_Password('password'); $password->setLabel('Pass') ->setRequired(); $login = new Zend_Form_Element_Submit('login'); $login->setLabel('Login!'); $this->addElements(array($username,$password,$login)); $this->setMethod('post'); $this->setAction('/authentication/login'); } }
?> |
|
Light | woensdag 10 februari 2010 @ 23:05 |
quote: Op woensdag 10 februari 2010 22:57 schreef HotSpotShield het volgende:Ik ben vandaag begonnen met het Zendframework icm met een paar goede tutorials. ben nu een tijdje onderweg maar ik zit nu echt vast. In de tutorial werd namelijk gezegd dat alle forms in het mapje "forms" geplaatst dienen te worden, echter had ik deze map niet standaard dus deze heb ik handmatig aangemaakt. Echter pakt hij nu niet de form-classes uit deze map. Ben ik nu gewoon een instelling vergeten aan te vinken waardoor deze automatisch gevonden worden, of is het een fout in mijn code? Heb je die map "forms" wel in de map "application" gezet? Daar staat'ie in ieder geval bij een ZF-project waar ik mee bezig ben. |
HotSpotShield | woensdag 10 februari 2010 @ 23:16 |
De map forms heb ik wel gewoon onder "Application" staan.
Maar bij jou is die map dus wel automatisch aangemaakt? |
Light | woensdag 10 februari 2010 @ 23:20 |
quote: Op woensdag 10 februari 2010 23:16 schreef HotSpotShield het volgende:De map forms heb ik wel gewoon onder "Application" staan. Maar bij jou is die map dus wel automatisch aangemaakt? Geen idee. Ik heb een bestaand project op m'n bord gekregen en maar daar nu de fouten uit gaan halen. De formulieren werken wel goed, dus dat heb ik verder niet uitgezocht. |
HotSpotShield | woensdag 10 februari 2010 @ 23:22 |
Dan moet ik even verder zoeken ja. Er is gelukkig meer dan genoeg documentatie over het zendframework.. |
ursel | donderdag 11 februari 2010 @ 09:47 |
Toch nog even mijn probleem met m'n define kicken. :P
Mijn define is bijv. zoals onderstaand:
1 2 3 | <?php define('NAME_FULL', 'Bedrijf B.V.'); ?> |
Mijn defines worden afhankelijk van de omgeving ingeladen en staat er de naam van het bedrijf in de NAME_FULL In de database heb ik een aantal velden met verschillende blokken tekst. Ik zou graag in deze tekst een define willen gebruiken. Om er onderscheid in te maken heb ik er al {} omheen gezet. Met de preg_split filter ik de defines er nu uit.
Echter krijg ik de defines niet vertaal en blijft er NAME_FULL staan, ook al gooi ik deze door een eval heen. :')
Enig idee hoe ik dit wel kan bewerkstelliggen zonder de str_replace. Want bij deze moet ik voor elke define welke ik wil gebruiken nogmaals apart in een functie definieren. Liefst wil ik dus gewoon de defines kunnen gebruiken welke ik al gedefinieerd heb. |
ursel | vrijdag 12 februari 2010 @ 11:06 |
Niemand?  |
Chandler | vrijdag 12 februari 2010 @ 12:10 |
Laat je code eens zien? misschien geeft dat meer inzicht? |
ursel | vrijdag 12 februari 2010 @ 12:19 |
quote: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php // reguliere expressie $reg = '/({|})/'; // voorbeeld string om te testen $a = 'testing {ABF_NAME_FULL} bladiebla en natuurlijk ook {ABF_FULL} niet te vergeten'; // Splitsen op de expressie, resultaat komt in een array terug $test = preg_split($reg, $a, -1); $iCountTest = count($test); for($i = 0; $i < $iCountTest; $i++) { // resultaat zit altijd op de oneven nummers. if( $i & 1 ) { eval("\$test[\$i] = \"$test[$i]\";"); } } ?> |
|
Trollface. | vrijdag 12 februari 2010 @ 12:23 |
Waarom preg_split als je ook str_replace kunt doen? |
ursel | vrijdag 12 februari 2010 @ 12:24 |
quote: quote:Op donderdag 11 februari 2010 09:47 schreef ursel het volgende:Toch nog even mijn probleem met m'n define kicken.  Mijn define is bijv. zoals onderstaand: [ code verwijderd ] Mijn defines worden afhankelijk van de omgeving ingeladen en staat er de naam van het bedrijf in de NAME_FULL In de database heb ik een aantal velden met verschillende blokken tekst. Ik zou graag in deze tekst een define willen gebruiken. Om er onderscheid in te maken heb ik er al {} omheen gezet. Met de preg_split filter ik de defines er nu uit. Echter krijg ik de defines niet vertaal en blijft er NAME_FULL staan, ook al gooi ik deze door een eval heen. Enig idee hoe ik dit wel kan bewerkstelliggen zonder de str_replace. Want bij deze moet ik voor elke define welke ik wil gebruiken nogmaals apart in een functie definieren. Liefst wil ik dus gewoon de defines kunnen gebruiken welke ik al gedefinieerd heb. Omdat ik dat al uitgelegd heb.  |
Trollface. | vrijdag 12 februari 2010 @ 12:34 |
quote: 1 2 3 | <?php $inhoud = str_replace(array_keys(get_defined_constants()), array_values(get_defined_constants()), $inhoud); ?> |
Dit lost dat op.  |
ursel | vrijdag 12 februari 2010 @ 13:55 |
quote: Kijk, daar was ik dus naar op zoek..  Super bedankt. |
PiRANiA | zaterdag 13 februari 2010 @ 14:02 |
Misschien hebben jullie devvers hier ook wel ideeën over: Hoe taalkeuze implementeren in website?
 |
DaFan | maandag 15 februari 2010 @ 11:41 |
Hoe krijg ik een FLOAT, met als output (bv) 20111.18 naar een fatsoenlijke weergave (voor geld): 20.111,18 ?
edit; CONVERT(varchar,CAST(FreeNumberField_01 as Money),1) Zoiets denk ik, hij komt nu met xx,xxx.xx Denk dat het bij het aanroepen wel omgezet wordt als de taal anders staat, even proberen dus 
[ Bericht 58% gewijzigd door DaFan op 15-02-2010 11:47:24 ] |
Intrepidity | maandag 15 februari 2010 @ 11:45 |
quote: Op maandag 15 februari 2010 11:41 schreef DaFan het volgende:Hoe krijg ik een FLOAT, met als output (bv) 20111.18 naar een fatsoenlijke weergave (voor geld): 20.111,18 ? Met number_format($bedrag, 2, ",", ".");  Waarbij parameter 2 het aantal decimalen is, parameter 3 het scheidingsteken voor decimalen, en parameter 4 het scheidingsteken voor duizendtallen. |
DaFan | maandag 15 februari 2010 @ 11:48 |
quote:Op maandag 15 februari 2010 11:45 schreef Intrepidity het volgende:[..] Met number_format($bedrag, 2, ",", ".");  Waarbij parameter 2 het aantal decimalen is, parameter 3 het scheidingsteken voor decimalen, en parameter 4 het scheidingsteken voor duizendtallen. Sorry dit ging over SQL, niet php 
Edit: Was het toch niet. Heb nu: select CONVERT(float,CAST(FreeNumberField_01 as Money),1)
Dit geeft xxxxxx,xx Er moeten punten tussen de duizendtallen 
[ Bericht 17% gewijzigd door DaFan op 15-02-2010 12:05:28 ] |
boem-dikkie | dinsdag 16 februari 2010 @ 20:56 |
Ik heb een hele domme vraag.
Ik heb als oefening voor mezelf en school een formulier waar je wat dingen in kunt vullen. Ik heb de mail functie even niet gebruikt dus als ik wat invul en ik druk op submit dan komen de 'ingevulde' items gewoon boven aan de pagina staan. Nou heb ik als 'controle' dit er in staan.
1 2 | if ( empty( $voornaam ) ) {echo "- U bent vergeten uw naam in te vullen<br>Klik op <a href=javascript:history.back(1)>Ga terug</a> om terug te keren.";} |
Als ik dus niks heb ingevuld bij voornaam dan krijg je deze error en kun je terug keren naar het formulier. Wat ik me nou afvraag is. Hoe krijg ik mijn 'echo' foutmelding naast het formulier.
Ik wil dus dat als mensen op submit drukken en ze hebben iets niet ingevuld er gewoon met rode letters naast het formulier komt te staan. U bent vergeten uw naam in te vullen..
Ik hoop dat jullie kunnen helpen, ik ben nogal een newbie. |
GlowMouse | dinsdag 16 februari 2010 @ 20:59 |
quote: Op maandag 15 februari 2010 11:48 schreef DaFan het volgende:[..] Sorry dit ging over SQL, niet php  Edit: Was het toch niet. Heb nu: select CONVERT(float,CAST(FreeNumberField_01 as Money),1) Dit geeft xxxxxx,xx Er moeten punten tussen de duizendtallen  Met een conversie naar een float gaat dat natuurlijk niet lukken.quote: Op dinsdag 16 februari 2010 20:56 schreef boem-dikkie het volgende:Ik heb een hele domme vraag. Ik heb als oefening voor mezelf en school een formulier waar je wat dingen in kunt vullen. Ik heb de mail functie even niet gebruikt dus als ik wat invul en ik druk op submit dan komen de 'ingevulde' items gewoon boven aan de pagina staan. Nou heb ik als 'controle' dit er in staan. [ code verwijderd ] Als ik dus niks heb ingevuld bij voornaam dan krijg je deze error en kun je terug keren naar het formulier. Wat ik me nou afvraag is. Hoe krijg ik mijn 'echo' foutmelding naast het formulier. Ik wil dus dat als mensen op submit drukken en ze hebben iets niet ingevuld er gewoon met rode letters naast het formulier komt te staan. U bent vergeten uw naam in te vullen.. Ik hoop dat jullie kunnen helpen, ik ben nogal een newbie. Zoek eerst eens op register_globals En die melding krijg je naast het formulier door te echo'en naast het formulier. |
boem-dikkie | dinsdag 16 februari 2010 @ 21:04 |
quote: Op dinsdag 16 februari 2010 20:59 schreef GlowMouse het volgende:[..] Met een conversie naar een float gaat dat natuurlijk niet lukken. [..] Zoek eerst eens op register_globals  En die melding krijg je naast het formulier door te echo'en naast het formulier. Ja, dat soort dingen snap ik dus al niet. Ik ben pas net begonnen met PHP leren. Ik zoek het een beetje uit via sheets van school maar die zijn redelijk onduidelijk. Ik ben al zover dat als iemand zijn naam niet ingevuld is hij gewoon naar een pagina gaat met errors en je terug kunt keren maar ik wil dus nu dat andere proberen, of is dat een beetje outta my league voor hoeveel ik weet ( vrij weinig )  |
GlowMouse | dinsdag 16 februari 2010 @ 21:07 |
Oh het is een hele nieuwe pagina, ik zou naar dezelfde pagina gaan. Eerst controleer je of er iets ingevuld is en of dat goed is. Even heel simpel: if(ingevuld) { if(ook goed) { echo 'joepie ik sla alles op'; die(); } } echo formulier (eventueel met foutmeldingen) |
boem-dikkie | dinsdag 16 februari 2010 @ 21:15 |
Hmm. Ik weet ook niet hoe ik het moet uitleggen. Ik heb die nieuwe pagina veranderd dat hij op dezelfde pagina blijft. Dit is in ieder geval mijn code. Hij geeft nu alle dingen die je hebt ingevuld boven het formulier weer als je op submit drukt. En als je de error krijgt dat je iets niet ingevuld hebt komt die ook boven het formulier.
http://rommeldetom.com//temp/code.html |
GlowMouse | dinsdag 16 februari 2010 @ 21:17 |
dan is het bijna klaar toch? |
boem-dikkie | dinsdag 16 februari 2010 @ 21:19 |
Jep, op zich. Maar ik snap dus niet hoe ik die echo van geen naam ingevuld achter het formulier krijg. Omdat die PHP code die alles controleert en doorvoert bijna los staat van het formulier.
En gewoon dat stukje echo achter het formulier plakken werkt niet zo maar toch?  |
GlowMouse | dinsdag 16 februari 2010 @ 21:24 |
dan krijg je zoiets
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Les 3</title> </head>
<body>
<?php if ( isset( $_POST['submit'] ) ) {
$voornaam = $_POST['voornaam']; $geslacht = $_POST['geslacht']; $woonplaats = $_POST['woonplaats']; $mailinglist = $_POST['mailinglist']; $achternaam = $_POST['achternaam'];
$errors = array();
$errors = array();
if(empty($voornaam)) { $errors['voornaam'] = "U bent vergeten uw naam in te vullen"; } if(empty($achternaam)) { $errors['voornaam'] = "U bent vergeten uw naam in te vullen"; }
if(count($error) == 0) { echo "--htmlspecialchars gebruiken, zie hierna--$voornaam $achternaam is een $geslacht en woont in $woonplaats.<br>"; }
if($mailinglist) { echo htmlspecialchars($voornaam) . " wil <b>wel</b> gebruik maken van de mailinglist."; else echo htmlspecialchars($voornaam) . " wil <b>geen</b> gebruik maken van de mailinglist."; }
} ?> <form method="POST" action=""<?php $_SERVER['PHP_SELF']; ?>""> Voornaam:<br /><input type="text" name="voornaam" value="<?php if(isset($_POST['voornaam'])) echo htmlspecialchars($_POST['voornaam']);?>"/><br /> <?php if(isset($errors['voornaam'])) echo $errors['voornaam']; ?> Achternaam<br /><input type="text" name="achternaam" value="<?php if(isset($_POST['achternaam'])) echo htmlspecialchars($_POST['achternaam']);?>"/><br />
<br />Geslacht: <br /> Man <input type="radio" name="geslacht" value="man" /> Vrouw <input type="radio" name="geslacht" value="vrouw" />
<br /><br />Woonplaats:<br /> <select name="woonplaats" value="<?php if(isset($_POST['woonplaats'])) echo htmlspecialchars($_POST['woonplaats']);?>"> <option value="Groningen">Groningen</option> <option value="Assen">Assen</option> </select>
<br /><br />Mailinglist:<br /> <input type="checkbox" name="mailinglist" /><br /><br /> <input type="submit" name="submit" value="Post" /> </form>
</body> </html> |
|
boem-dikkie | dinsdag 16 februari 2010 @ 21:28 |
Ke. Even proberen zo!! Thanks in iedergeval. Ik had nu zelf het resultaat ook alleen denk ik dat het ietwat verkapt is.
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Les 3</title> </head>
<body>
<?php if ( isset( $_POST['submit'] ) ) {
$voornaam = $_POST['voornaam']; $geslacht = $_POST['geslacht']; $woonplaats = $_POST['woonplaats']; $mailinglist = $_POST['mailinglist']; $achternaam = $_POST['achternaam']; if ( empty( $voornaam ) ) //Naam controleren {$error ="U bent vergeten uw naam in te vullen<br>";} else { print "$voornaam $achternaam is een $geslacht en woont in $woonplaats.<br>"; if ($mailinglist) print "$voornaam wil <b>wel</b> gebruik maken van de mailinglist."; else print "$voornaam wil <b>geen</b> gebruik maken van de mailinglist."; }
} ?> <form method="POST" action=""<?php $_SERVER['PHP_SELF']; ?>""> Voornaam:<br /><input type="text" name="voornaam" value="<?php if(isset($_POST['voornaam'])) echo $_POST['voornaam'];?>"/> <?php if(!empty($error)) { //Error bericht wanneer iets niet juist is ingevuld echo $error;
} ?>
Achternaam<br /><input type="text" name="achternaam" value="<?php if(isset($_POST['achternaam'])) echo $_POST['achternaam'];?>"/><br />
<br />Geslacht: <br /> Man <input type="radio" name="geslacht" value="man" /> Vrouw <input type="radio" name="geslacht" value="vrouw" />
<br /><br />Woonplaats:<br /> <select name="woonplaats" value="<?php if(isset($_POST['woonplaats'])) echo $_POST['woonplaats'];?>"> <option value="Groningen">Groningen</option> <option value="Assen">Assen</option> </select>
<br /><br />Mailinglist:<br /> <input type="checkbox" name="mailinglist" /><br /><br /> <input type="submit" name="submit" value="Post" /> </form>
</body> </html> |
|
GlowMouse | dinsdag 16 februari 2010 @ 21:32 |
een select heeft trouwens geen value |
boem-dikkie | dinsdag 16 februari 2010 @ 21:50 |
Hoe bedoel je ( voelt zich noob ) ?
Dat radio en check buttons 'sticky' maken is volgens ook wat moeilijk dan de achternaam etc. |
Intrepidity | dinsdag 16 februari 2010 @ 21:51 |
Klopt. Het attribuut wat je selecteerd wilt hebben moet selected="selected" als attribuut krijgen. De snelste manier om dat te doen (hoewel niet de mooiste) is om een kort if-statement in iedere <option> te zetten waarbij je de waarden vergelijkt:
1 | <option value="Groningen" <?=($_POST['woonplaats'] == "Groningen") ? "selected=\"selected\"" : "" ?>>Groningen</option> |
Mooi is anders, maar het werkt  |
GlowMouse | dinsdag 16 februari 2010 @ 21:51 |
quote: Op dinsdag 16 februari 2010 21:50 schreef boem-dikkie het volgende:Dat radio en check buttons 'sticky' maken is volgens ook wat moeilijk dan de achternaam etc. Dat bedoel ik. Gebruik <option value="Assen" selected="selected">Assen</option> |
boem-dikkie | dinsdag 16 februari 2010 @ 22:11 |
quote: Op dinsdag 16 februari 2010 21:51 schreef Intrepidity het volgende:Klopt. Het attribuut wat je selecteerd wilt hebben moet selected="selected" als attribuut krijgen. De snelste manier om dat te doen (hoewel niet de mooiste) is om een kort if-statement in iedere <option> te zetten waarbij je de waarden vergelijkt: [ code verwijderd ] Mooi is anders, maar het werkt  Dus hij kijkt daar of je 'Groningen' geselecteerd heeft en als dit inderdaad zo is geeft hij een 'selected' mee als sticky aan die waarde?
Ik ga zelf nog wel ff kloten met radio boxjes. Als ik er niet uit kom roep ik wel!
Bedankt allemaal.  |
boem-dikkie | dinsdag 16 februari 2010 @ 22:41 |
Oke, ik heb géén idee wat ik aan het doen ben en ik kan het ook niet vinden op Google. |
Crutch | dinsdag 16 februari 2010 @ 23:06 |
1 | <select name="geslacht" id="geslacht" class="input_default" > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php // kijk geslacht en zet keuze // -- man echo '<option value="0" '; if ( $row['geslacht']=='0') { echo 'selected="selected">'.$lang_male.'</option>'; } else { echo '>'.$lang_male.'</option>'; } // -- vrouw echo '<option value="1" '; if ( $row['geslacht']=='1') { echo 'selected="selected">'.$lang_female.'</option>'; } else { echo '>'.$lang_female.'</option>'; } echo '</select>'; ?> |
Wel even in een iets andere context, maar is mijn manier van een keuzelijst genereren dan omslachtig? |
Intrepidity | dinsdag 16 februari 2010 @ 23:40 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $geslachten = array(0 => $lang_male, 1 => $lang_female); echo "<select name=\"geslacht\">"; foreach($geslachten as $k => $v) { echo "<option value=\"{$k}\" "; if($row["geslacht"] == $k) { echo "selected=\"selected\" "; } echo ">{$v}</option>"; } echo "</select>'; ?> |
Zo kan ie ook. En ontdekken we dan op een verre planeet een ras met 3 geslachten dan hoef je alleen maar een itempje aan de array toe te voegen In het geval van geslacht wellicht niet nodig, maar zo wordt je code wel een stuk dynamischer  |
Crutch | dinsdag 16 februari 2010 @ 23:48 |
quote: Op dinsdag 16 februari 2010 23:40 schreef Intrepidity het volgende:[ code verwijderd ] Zo kan ie ook. En ontdekken we dan op een verre planeet een ras met 3 geslachten dan hoef je alleen maar een itempje aan de array toe te voegen  In het geval van geslacht wellicht niet nodig, maar zo wordt je code wel een stuk dynamischer  Awesome!  |
GuidooH | woensdag 17 februari 2010 @ 05:29 |
Gadver, wat een smerige code!
Het is imho mooier om het volgende te doen:
1 2 3 4 5 6 7 8 | <select name="geslacht"> <?php $geslachten = array(0 => $lang_male, 1 => $lang_female); foreach($geslachten as $k => $v): ?> <option value="<?=$k?>"<?=($row["geslacht"] == $k ? 'selected="selected"' : '')?>><?=$v?></option> <?php endforeach; ?> </select> |
(wat een bagger PHP code ding ) |
GuidooH | woensdag 17 februari 2010 @ 05:33 |
quote: Bij deze wil ik de code in de bovenstaande post nomineren voor de slechtste code van 2010.  |
Intrepidity | woensdag 17 februari 2010 @ 07:26 |
quote: Op woensdag 17 februari 2010 05:29 schreef GuidooH het volgende:Gadver, wat een smerige code! Het is imho mooier om het volgende te doen: [ code verwijderd ] (wat een bagger PHP code ding  ) Het mixen van HTML en PHP is uberhaupt smerig imo, of je nou html echoot binnen PHP of korte PHP-tags gebruikt binnen je HTML, het is allebei slordig. |
GuidooH | woensdag 17 februari 2010 @ 07:28 |
quote:Op woensdag 17 februari 2010 07:26 schreef Intrepidity het volgende:[..] Het mixen van HTML en PHP is uberhaupt smerig imo, of je nou html echoot binnen PHP of korte PHP-tags gebruikt binnen je HTML, het is allebei slordig. Hoe wou je anders ooit HTML genereren met PHP?  |
Intrepidity | woensdag 17 februari 2010 @ 07:56 |
quote: Met een template engine |
GuidooH | woensdag 17 februari 2010 @ 07:57 |
quote: Dat is pas een bullshit, dan krijg je er nog een "taal" bij die vervolgens weer geparsed moet worden, heeft dan toch helemaal geen meerwaarde ten opzichte van gewoon php gebruiken in de template bestanden?  |
hello_moto1992 | woensdag 17 februari 2010 @ 11:22 |
quote:Op woensdag 10 februari 2010 18:37 schreef hello_moto1992 het volgende:Hallo, Met behulp van s3slider probeer ik gegevens uit de database op te halen. HTML voor de slider: [ code verwijderd ] Nu haal ik op dit moment zo gegevens uit de database, zodat er rijen gevormd worden. [ code verwijderd ] Hoe krijg ik dan afzonderlijke gevens, zoals bijvoorbeeld bij de titel, de titels tussen de span? Er staan nl. ook allemaal dingen zoals IMG enzo tussen bvd Een bescheiden kickje. Heeft iemand misschien een ingeving?  |
Crutch | woensdag 17 februari 2010 @ 11:57 |
quote: Op woensdag 17 februari 2010 05:29 schreef GuidooH het volgende:Gadver, wat een smerige code! Het is imho mooier om het volgende te doen: [ code verwijderd ] (wat een bagger PHP code ding  ) Dus eigenlijk (min of meer) dezelfde methode als voor boem-dikkie? Ik zal me eens wat meer gaan verdiiepen in foreach() |
Intrepidity | woensdag 17 februari 2010 @ 12:15 |
quote: Op woensdag 17 februari 2010 07:57 schreef GuidooH het volgende:[..] Dat is pas een bullshit, dan krijg je er nog een "taal" bij die vervolgens weer geparsed moet worden, heeft dan toch helemaal geen meerwaarde ten opzichte van gewoon php gebruiken in de template bestanden?  Ik zeg ook niet dat dat altijd de juiste oplossing is, ik zeg dat dat netter staat vanwege de duidelijke scheiding tussen back- en frontendcode, want daar ging het over. |
#ANONIEM | woensdag 17 februari 2010 @ 12:16 |
TVPCakePHP |
GuidooH | woensdag 17 februari 2010 @ 18:10 |
quote:Op woensdag 17 februari 2010 12:15 schreef Intrepidity het volgende:[..] Ik zeg ook niet dat dat altijd de juiste oplossing is, ik zeg dat dat netter staat vanwege de duidelijke scheiding tussen back- en frontendcode, want daar ging het over. Je zegt toch dat het in dit geval de beste oplossing is, of in ieder geval ooit de beste oplossing.. Daar ben ik het al niet mee eens. Verder heeft het helemaal niks te maken met front- en backend. Het heeft ook helemaal geen nut om totaal géén PHP in je html te willen gebruiken, dan maak je het jezelf alleen maar moeilijk! Het is imho het beste om in de templates alleen PHP te gebruiken om dingen te weergeven. Dat kan ook met een template engine, maar dan krijg je allemaal vage code's die het zeker niet overzichtelijker maken, maar uiteindelijk nog geparsed gaan worden door PHP en dan doet ie precies hetzelfde.  |
boem-dikkie | donderdag 18 februari 2010 @ 09:50 |
Ik heb de radiobuttons nu ook sticky.
1 | <?=($geslacht == "man") ? "checked" : "" ?> |
|
GuidooH | donderdag 18 februari 2010 @ 10:53 |
quote: Nice. :Y
Ik doe hem altijd zo:
1 | <?=($geslacht == 'man' ? 'checked' : '' )?> |
Maakt in dit geval niet uit, maar in sommige gevallen wel. :9 Daar bedoel ik dan de haakjes mee. :Y
Verder gebruik ik altijd liever enkele quotes, ook dit heeft hier weer geen voordeel, maar als je html gebruikt in je PHP, dan hoef je je dubbele quotes die je voor html gebruikt niet te escapen. *) |
Intrepidity | donderdag 18 februari 2010 @ 11:14 |
quote: Op woensdag 17 februari 2010 18:10 schreef GuidooH het volgende:[..] Je zegt toch dat het in dit geval de beste oplossing is, of in ieder geval ooit de beste oplossing.. Daar ben ik het al niet mee eens.  Verder heeft het helemaal niks te maken met front- en backend.  Het heeft ook helemaal geen nut om totaal géén PHP in je html te willen gebruiken, dan maak je het jezelf alleen maar moeilijk! Het is imho het beste om in de templates alleen PHP te gebruiken om dingen te weergeven. Dat kan ook met een template engine, maar dan krijg je allemaal vage code's die het zeker niet overzichtelijker maken, maar uiteindelijk nog geparsed gaan worden door PHP en dan doet ie precies hetzelfde.  Ooit gedacht aan scheiding van verantwoordelijkheden tussen front- en backendontwikkelaars? Ik ken weinig frontend mensen die met PHP kunnen omgaan. Een templatetaal is makkelijker te leren, en met fatsoenlijke caching doet de performance per definitie niet onder voor pure PHP. Daarnaast is het zeker beter leesbaar, voornamelijk voor niet PHP'ers. |
GuidooH | donderdag 18 februari 2010 @ 11:18 |
quote:Op donderdag 18 februari 2010 11:14 schreef Intrepidity het volgende:[..] Ooit gedacht aan scheiding van verantwoordelijkheden tussen front- en backendontwikkelaars? Ik ken weinig frontend mensen die met PHP kunnen omgaan. Een templatetaal is makkelijker te leren, en met fatsoenlijke caching doet de performance per definitie niet onder voor pure PHP. Daarnaast is het zeker beter leesbaar, voornamelijk voor niet PHP'ers. Tja, net of een template taal zo veel makkelijker is dan een paar PHP dingen. En je bedoeld hopelijk dat het "niet per definitie" onder doet ipv "per definitie niet"? Er zit toch een extra stap in; het parsen van de template zelf, hetzelfde zal met alleen PHP altijd sneller zijn.  |
Intrepidity | donderdag 18 februari 2010 @ 11:22 |
quote: Op donderdag 18 februari 2010 11:18 schreef GuidooH het volgende:[..] Tja, net of een template taal zo veel makkelijker is dan een paar PHP dingen. En je bedoeld hopelijk dat het "niet per definitie" onder doet ipv "per definitie niet"? Er zit toch een extra stap in; het parsen van de template zelf, hetzelfde zal met alleen PHP altijd sneller zijn.  Dat parsen gebeurt met caching slechts 1 keer. Dus de performanceafname die er al is is niet voldoende om merkbaar te zijn voor bezoekers. De meeste templateparsers maken gewoon een PHP-bestand aan waar in principe hetzelfde instaat, maar dan omgezet van template naar pure PHP. Wat je dus in feite gedaan hebt is een abstractere taal geintroduceerd om je frontendcode te schrijven. Wellicht zie je de voordelen niet, maar ze zijn er toch wel degelijk: - Volautomatisch andere css-classes toewijzen aan even- en oneven rijen, iets waar je in PHP weer een if-statement voor nodig hebt - Filters toepassen op tekst waardoor je je teksten veel beter kunt formatteren als met php (lees: veel korter) - Automatisch een andere tekst weergeven als bijvoorbeeld een array leeg is. Geen if/else voor nodig - Escapen kun je niet vergeten omdat de engine dat voor je doet, daardoor betere veiligheid - Macro's schrijven om met een functie-aanroep achtige constructie bijvoorbeeld een inputveld te genereren. Een keer je macro aanpassen is overal je inputs op een andere manier genereren En zo zijn er nog legio voordelen  |
Crutch | donderdag 18 februari 2010 @ 11:47 |
mySQL slaat de datum zo op: 0000-00-00, hoe krijg ik dat weer normaal uitgelezen als ik het wil echoën? => 00-00-0000 |
Light | donderdag 18 februari 2010 @ 11:50 |
quote: Op donderdag 18 februari 2010 11:47 schreef Crutch het volgende:mySQL slaat de datum zo op: 0000-00-00, hoe krijg ik dat weer normaal uitgelezen als ik het wil echoën? => 00-00-0000 1 2 3 | <?php echo date('d-m-Y', strtotime('2010-02-18')); ?> |
|
GuidooH | donderdag 18 februari 2010 @ 11:50 |
quote:Op donderdag 18 februari 2010 11:47 schreef Crutch het volgende:mySQL slaat de datum zo op: 0000-00-00, hoe krijg ik dat weer normaal uitgelezen als ik het wil echoën? => 00-00-0000 http://dev.mysql.com/doc/(...)-time-functions.html DATE_FORMAT()  |
GuidooH | donderdag 18 februari 2010 @ 11:53 |
quote:Op donderdag 18 februari 2010 11:22 schreef Intrepidity het volgende:[..] Dat parsen gebeurt met caching slechts 1 keer. Dus de performanceafname die er al is is niet voldoende om merkbaar te zijn voor bezoekers. De meeste templateparsers maken gewoon een PHP-bestand aan waar in principe hetzelfde instaat, maar dan omgezet van template naar pure PHP. Wat je dus in feite gedaan hebt is een abstractere taal geintroduceerd om je frontendcode te schrijven. Wellicht zie je de voordelen niet, maar ze zijn er toch wel degelijk: - Volautomatisch andere css-classes toewijzen aan even- en oneven rijen, iets waar je in PHP weer een if-statement voor nodig hebt - Filters toepassen op tekst waardoor je je teksten veel beter kunt formatteren als met php (lees: veel korter) - Automatisch een andere tekst weergeven als bijvoorbeeld een array leeg is. Geen if/else voor nodig - Escapen kun je niet vergeten omdat de engine dat voor je doet, daardoor betere veiligheid - Macro's schrijven om met een functie-aanroep achtige constructie bijvoorbeeld een inputveld te genereren. Een keer je macro aanpassen is overal je inputs op een andere manier genereren En zo zijn er nog legio voordelen Oké, je hebt wel een punt, voor sommige doeleinden zou dat wel op z'n plek zijn, maar dat is eigenlijk niet waar de discussie in eerste instantie over ging. We zijn het er waarschijnlijk wel over eens dat templates niet altijd de juiste oplossing zijn. Verder zijn de dingen dingen die je nu noemt ook bijna allemaal onderdeel van mijn standaard "framework".  |
#ANONIEM | donderdag 18 februari 2010 @ 11:54 |
quote:Op woensdag 17 februari 2010 18:10 schreef GuidooH het volgende:[..] Je zegt toch dat het in dit geval de beste oplossing is, of in ieder geval ooit de beste oplossing.. Daar ben ik het al niet mee eens.  Verder heeft het helemaal niks te maken met front- en backend.  Het heeft ook helemaal geen nut om totaal géén PHP in je html te willen gebruiken, dan maak je het jezelf alleen maar moeilijk! Het is imho het beste om in de templates alleen PHP te gebruiken om dingen te weergeven. Dat kan ook met een template engine, maar dan krijg je allemaal vage code's die het zeker niet overzichtelijker maken, maar uiteindelijk nog geparsed gaan worden door PHP en dan doet ie precies hetzelfde. Heb je ooit wel eens werk geoutsourced naar een designbureau? Daar willen ze niks weten van PHP, daar willen ze het liefste alles in HTML aangeleverd krijgen. |
Light | donderdag 18 februari 2010 @ 11:56 |
quote: Is een optie, maar ik zou MySQL niet laten bepalen hoe iets wordt weergegeven. |
Crutch | donderdag 18 februari 2010 @ 12:00 |
quote:  |
GuidooH | donderdag 18 februari 2010 @ 12:11 |
quote:Op donderdag 18 februari 2010 11:54 schreef Scorpie het volgende:[..] Heb je ooit wel eens werk geoutsourced naar een designbureau? Daar willen ze niks weten van PHP, daar willen ze het liefste alles in HTML aangeleverd krijgen. Ik werk wekelijks samen met een grafisch bureau, aangezien de HTML die hun aan leveren nogal bagger is, leveren ze tegenwoordig de PSD aan.  quote: Over het algemeen geef ik je gelijk, maar met datums wil ik nog wel eens een uitzondering maken hiervoor, mits de site alleen in het Nederlands is.  |
boem-dikkie | donderdag 18 februari 2010 @ 12:36 |
quote: Op donderdag 18 februari 2010 10:53 schreef GuidooH het volgende:[..] Nice.  Ik doe hem altijd zo: [ code verwijderd ] Maakt in dit geval niet uit, maar in sommige gevallen wel.  Daar bedoel ik dan de haakjes mee.  Verder gebruik ik altijd liever enkele quotes, ook dit heeft hier weer geen voordeel, maar als je html gebruikt in je PHP, dan hoef je je dubbele quotes die je voor html gebruikt niet te escapen.  Thanks. Ik ben nu een wat uitgebreider contact formulier aan het maken voor mijn vader zijn website alleen daar krijg ik een witte pagina. Maar even uitvogelen wat dat kan zijn.
Nog wel een vraag.
Ik heb in dat formulier de keuze uit zo'n 15 items die ze kunnen aanvinken met een checkbox. Ik heb nu elk item van die checkboxen boven aan staan zeg maar
$box_een = $_POST['box_een']; $box_twee = $_POST['box_twee'];
Nu heb ik bij een ander formulier maar één checkbox die je kunt aanvinken voor een nieuwsbrief. Dat heb ik met een simpele if opgelost. Als hij aangevinkt is dan staat het in de mail 'nieuwsbrief' als hij niet aangevinkt is staat er gewoon niks.
Moet ik dan voor elke checkbox zo'n if statement maken ( lijkt me niet maar ik weet nog niet echt hoe ik bepaalde dingen kan combineren etc. ) |
Crutch | donderdag 18 februari 2010 @ 13:36 |
Hoe haal ik de nieuwste rij uit een database waar ik een column heb met datum? Ik kan wel sorteren op datum zag ik, maar hoe selecteer ik de nieuwste? |
Light | donderdag 18 februari 2010 @ 13:39 |
quote: Op donderdag 18 februari 2010 13:36 schreef Crutch het volgende:Hoe haal ik de nieuwste rij uit een database waar ik een column heb met datum? Ik kan wel sorteren op datum zag ik, maar hoe selecteer ik de nieuwste? Aflopend sorteren  |
Intrepidity | donderdag 18 februari 2010 @ 13:46 |
quote: Op donderdag 18 februari 2010 13:36 schreef Crutch het volgende:Hoe haal ik de nieuwste rij uit een database waar ik een column heb met datum? Ik kan wel sorteren op datum zag ik, maar hoe selecteer ik de nieuwste? SELECT * FROM tabel ORDER BY datum DESC LIMIT 1; |
#ANONIEM | donderdag 18 februari 2010 @ 13:51 |
quote: En als je in een transactie bezig bent kan je met http://forums.mysql.com/read.php?12,2060,2060 werken. |
Crutch | donderdag 18 februari 2010 @ 13:54 |
quote: quote: Dank quote: Neh, gewoon laaste blogje selecteren  |
Chandler | donderdag 18 februari 2010 @ 16:23 |
Ik wil dit stukje XML code omzetten naar een array middels een functie
1 2 3 4 5 6 | <data> <error>Verkeerde aanroep van het script</error> <table></table> <lines>0</lines> <coded><![CDATA[eJxLtDK2qi62MrNSKklMykktVrJOtDKwqq4ttjK1UkrOL80rQRHJLEnNhaupBQBTBhOQ]]></coded> </data> |
en het scriptje
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 | <?php // maakt gebruik van de functie xml2array die te vinden is op php.net
//set POST variables $url = 'http://localhost/*****/extract.php'; $fields = array( 'username' => urlencode('****'), 'password' => urlencode('****'), 'database' => urlencode(*****), 'action' => urlencode('tables'), );
//url-ify the data for the POST $fields_string = ''; foreach($fields AS $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string, '&');
//open connection $ch = curl_init();
//set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($fields)); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//execute post $result = curl_exec($ch);
//close connection $data = curl_multi_getcontent($ch);
$buf = xml2array($data, 1, 'tag');
print_r($buf);
curl_close($ch); ?> |
Normaal zou de XML2array functie de data om moeten zetten naar een array maar helaas dat gebeurd niet bij mijn opzet. Wat doe ik verkeerd? |
SharQueDo | donderdag 18 februari 2010 @ 17:08 |
quote:Op donderdag 18 februari 2010 16:23 schreef Chandler het volgende:Ik wil dit stukje XML code omzetten naar een array middels een functie [ code verwijderd ] en het scriptje [ code verwijderd ] Normaal zou de XML2array functie de data om moeten zetten naar een array maar helaas dat gebeurd niet bij mijn opzet. Wat doe ik verkeerd? Ik zou zeggen, maak een minimal test case (zie onder) en werk het verder uit. Bij elke toevoeging nog een keer testen. Als je vast komt te zitten dan weet je waar de fout zit:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php // --include xml2array functie--
$xml = xml2array("<data> <error>Verkeerde aanroep van het script</error> <table></table> <lines>0</lines> <coded><![CDATA[eJxLtDK2qi62MrNSKklMykktVrJOtDKwqq4ttjK1UkrOL80rQRHJLEnNhaupBQBTBhOQ]]></coded> </data>");
print_r($xml); ?> |
|
Chandler | donderdag 18 februari 2010 @ 18:40 |
Nou ik ben er acher, de data ging de lucht in ipv in de string/array
met dit:
1 2 3 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
heb ik het werkend gekregen |
SharQueDo | donderdag 18 februari 2010 @ 19:01 |
quote:Op donderdag 18 februari 2010 18:40 schreef Chandler het volgende:Nou ik ben er acher, de data ging de lucht in ipv in de string/array met dit: [ code verwijderd ] heb ik het werkend gekregen  |
Intrepidity | vrijdag 19 februari 2010 @ 11:30 |
Ik heb een SQL probleempje. Ik heb 2 tabellen, te weten afbeeldingmap en afbeelding. Ik ben bezig een kleine afbeeldingenlibrary binnen een CMS te maken, waarbij afbeeldingen in mappen ingedeeld kunnen worden, en mappen ook submappen kunnen hebben. De tabelindeling is als volgt:

Ik probeer een query te schrijven die alle rootmappen ophaalt (dus met ouder_id = null), waarbij ik join op afbeelding om direct het aantal onderliggende afbeeldingen op te halen:
1 2 3 4 5 6 7 8 9 10 | SELECT m.*, COUNT(a.id) AS afbeeldingen FROM gras_afbeeldingmap m LEFT JOIN gras_afbeelding a ON a.map_id = m.id WHERE m.klant_id = 1 AND m.ouder_id IS NULL ORDER BY m.naam |
Het probleem wat ik heb is dat er 2 rootmappen zijn, en dat er maar 1 getoond word, maar het aantal afbeeldingen is wel het totaal van de 2 mappen samen! Waarom voegt hij de 2 records samen? Ik krijg dus de data van 1 rij te zien, behalve de afbeeldingencount, dat is van de 2 mappen samen.. |
GlowMouse | vrijdag 19 februari 2010 @ 11:55 |
ik mis een GROUP BY |
Intrepidity | vrijdag 19 februari 2010 @ 12:25 |
3 smileys die hier op zijn plaats zijn luiden:
Ik was nog niet helemaal wakker blijkbaar  |
Crutch | vrijdag 19 februari 2010 @ 13:42 |
Heeft iemand trouwens ervaring met WYSIWYG-editors voor textinputs (textarea)? Ik stuit net op openWYSIWYG maar die werkt niet in Chrome. |
GuidooH | vrijdag 19 februari 2010 @ 13:45 |
quote:Op vrijdag 19 februari 2010 13:42 schreef Crutch het volgende:Heeft iemand trouwens ervaring met WYSIWYG-editors voor textinputs (textarea)? Ik stuit net op openWYSIWYG maar die werkt niet in Chrome. CKEditor is wel oké, tegenwoordig helaas niet meer helemaal gratis voor commercieel gebruik.  |
Crutch | vrijdag 19 februari 2010 @ 13:46 |
quote: Op vrijdag 19 februari 2010 13:45 schreef GuidooH het volgende:[..] CKEditor is wel oké, tegenwoordig helaas niet meer helemaal gratis voor commercieel gebruik.  Kuch* dan gebruik ik het niet commercieel
Zal effe googlen, thanks. |
GuidooH | vrijdag 19 februari 2010 @ 13:47 |
quote: http://ckeditor.com/ En dan heb je nog: http://ckfinder.com/
 |
Trollface. | vrijdag 19 februari 2010 @ 14:21 |
TinyMCE is een zeer goede kandidaat. vind ik. |
Crutch | vrijdag 19 februari 2010 @ 14:23 |
quote: Fucking geniaal!!!!
Het werk ook als een tiet, gewoon javascriptje includen en je textarea class "ckeditor" geven.
 |
GuidooH | vrijdag 19 februari 2010 @ 14:25 |
quote:Op vrijdag 19 februari 2010 14:23 schreef Crutch het volgende:[..] Fucking geniaal!!!! Het werk ook als een tiet, gewoon javascriptje includen en je textarea class "ckeditor" geven.  |
Roonaan | vrijdag 19 februari 2010 @ 21:00 |
quote:Beste PHPHulp bezoeker, PHPHulp is dusdanig afgetakeld dat we een nieuw webmaster forum online gezet hebben. Dit forum is te vinden op http://onlinewebmasters.nl/. We hopen hier een nieuwe bruisende community op te kunnen zetten en de sfeer de op de PHPHulp hangt daar ook achter te laten. Op zeer korte termijn zal het ook mogelijk worden scripts te plaatsen en iets later ook tutorials. Helaas zijn we niet in staat om de huidige phphulp data over te zetten, dus iedereen zal een nieuw account aan moeten maken en ook een nieuwe postcount op moeten bouwen. Veel plezier! OnlineWebmaster.nl PS: Toen PHPHulp nog online was heeft iemand de gehele website gedownload. Dit was dus inclusief alle profielpagina's met email adressen. Via een eenvoudige regex hebben we vervolgens je e-mail hieruit op weten te halen. Dit is de reden dat je deze eenmalige email ontvangt. Erm.. Is die PS voer om een aangifte tegen deze gasten te doen? Lijkt met geen normale gang van zaken? |
Trollface. | vrijdag 19 februari 2010 @ 21:04 |
Nee, dat lijkt me niet nee.  |
GlowMouse | vrijdag 19 februari 2010 @ 21:04 |
Ogv de databankenwet kan de eigenaar van phphulp.nl wat beginnen. Als je zelf wat wil doen dan kan dat ogv het spamverbod zoals neergelegd in de Telecommunicatiewet. Spam kun je via www.spamklacht.nl melden aan de OPTA. |
Crutch | vrijdag 19 februari 2010 @ 21:04 |
quote: Op vrijdag 19 februari 2010 21:00 schreef Roönaän het volgende:[..] Erm.. Is die PS voer om een aangifte tegen deze gasten te doen? Lijkt met geen normale gang van zaken? Ik zag het ook! Er staat dan wel geen kut op dat nieuwe forum, maar lijkt me ook niet echt een kans van slagen hebben. |
Chandler | zondag 21 februari 2010 @ 09:48 |
Tis maar net hoeveel aandacht je wilt geven aan dat nieuwe forum.
Ik heb trouwes 1 vraag, hoe kan ik snel de statistieken uitlezen van een database (bv aantal tabellen, records, grootte in kb/mb/gb/etc).
Heb al wat gevonden maar die kan ik niet specifiek gebruiken voor 1 DB (kon niet uitvinden hoe)
1 2 3 4 5 | SELECT table_schema 'database', concat( round( sum( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'M' ) size FROM information_schema.TABLES WHERE ENGINE=('MyISAM' || 'InnoDB' ) GROUP BY table_schema |
Iemand? |
Trollface. | zondag 21 februari 2010 @ 11:41 |
quote:Op zondag 21 februari 2010 09:48 schreef Chandler het volgende:Tis maar net hoeveel aandacht je wilt geven aan dat nieuwe forum. Ik heb trouwes 1 vraag, hoe kan ik snel de statistieken uitlezen van een database (bv aantal tabellen, records, grootte in kb/mb/gb/etc). Heb al wat gevonden maar die kan ik niet specifiek gebruiken voor 1 DB (kon niet uitvinden hoe) [ code verwijderd ] Iemand? http://dev.mysql.com/doc/refman/5.0/en/show.html  |
Chandler | maandag 22 februari 2010 @ 07:18 |
Tnx, ga deze eens doornemen  |
Sitethief | maandag 22 februari 2010 @ 13:33 |
Hoe kan ik in hemelsnaam met een MySQL server verbinden dmv een proxy? SOAP heeft native proxy oundersteuning, maar MySQL niet....... en er is ook geen standaard stream wrapper ofzo...... |
Puala | dinsdag 23 februari 2010 @ 15:38 |
Ik krijg een error tijdens het programmeren en snap hem niet. Zouden jullie even willen kijken?
1 | You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2 |
|
PiRANiA | dinsdag 23 februari 2010 @ 15:39 |
quote: Op dinsdag 23 februari 2010 15:38 schreef Puala het volgende:Ik krijg een error tijdens het programmeren en snap hem niet. Zouden jullie even willen kijken? [ code verwijderd ] Je voert een verkeerde query uit op je database . De fout zit in lijn 2 van je QUERY, dus niet van je script.
Kijk even welke query je uitvoert  |
Puala | dinsdag 23 februari 2010 @ 15:46 |
quote: Op dinsdag 23 februari 2010 15:39 schreef PiRANiA het volgende:[..] Je voert een verkeerde query uit op je database  . De fout zit in lijn 2 van je QUERY, dus niet van je script. Kijk even welke query je uitvoert  Ho niet zo snel. Ik ben beginner Kun je hem ook simpeler uitleggen?  |
PiRANiA | dinsdag 23 februari 2010 @ 15:53 |
quote: Uiteraard . Het script dat je uitvoert vraagt dingen op uit je (mysql) database. (waarschijnlijk via de mysql_query() functie). Je database snapt de vraag (Query) alleen niet, vandaar deze error. Als je het script even hier post of op http://pastebin.com/ zet, kunnen we je vast helpen  |
Puala | dinsdag 23 februari 2010 @ 15:57 |
quote:Op dinsdag 23 februari 2010 15:53 schreef PiRANiA het volgende:[..] Uiteraard  . Het script dat je uitvoert vraagt dingen op uit je (mysql) database. (waarschijnlijk via de mysql_query() functie). Je database snapt de vraag (Query) alleen niet, vandaar deze error. Als je het script even hier post of op http://pastebin.com/ zet, kunnen we je vast helpen Ah ik zie het al. Had nog een stukje van de oude code staan en die verwees naar de verkeerde regel. Heb het nu aangepast en nu werkt het wel.
Dankjewel  |
Trollface. | dinsdag 23 februari 2010 @ 15:58 |
Nevermind, Paula's probleem is al opgelost.  |
Tiemie | dinsdag 23 februari 2010 @ 20:06 |
vrouwen die devven |
Intrepidity | dinsdag 23 februari 2010 @ 20:46 |
quote: Dat. |