PiRANiA | donderdag 14 juli 2011 @ 14:45 | |||||
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 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 | ||||||
Dokay | donderdag 14 juli 2011 @ 16:14 | |||||
Al gelukt met while loop lus [ Bericht 48% gewijzigd door Dokay op 14-07-2011 20:28:37 ] | ||||||
QBay | donderdag 14 juli 2011 @ 16:59 | |||||
WHERE code >= 0 AND code <= 300 gebruiken? Dat pakt alle records waarvan code groter of gelijk is aan 0 en kleiner of gelijk aan 300. | ||||||
Dokay | donderdag 14 juli 2011 @ 17:12 | |||||
Klopt, maar dan blijft het script dus hangen op het feit dat ik 300 records aanwijs ipv 1 specifiek record waarmee deze aan de slag moet. Ik wil dat ie bij 'code = 1' begint en herhaalt tot ie bij 'code = 300' (laatste rij) is aangekomen van de andere tabel waar de informatie vandaan komt... | ||||||
remi1986 | donderdag 14 juli 2011 @ 17:23 | |||||
In dit geval (als het toch de laatste rij is), hoef je toch helemaal geen WHERE ofzo te doen, dan pakt hij gewoon alles? | ||||||
Dokay | donderdag 14 juli 2011 @ 19:53 | |||||
nee zo werkt het helaas niet... al geprobeerd | ||||||
Pakspul | donderdag 14 juli 2011 @ 20:43 | |||||
WHERE BETWEEN moet je dan gebruiken of anders WHERE X <= 0 OR X >= 300. Je zou inderdaad verwachten dat je AND moet gebruiken, maar het AND commando kijkt te sterk naar beide kanteb van de query. Moet zelf weer een keer uittesten om precieze uitleg te kunnen geven :-P | ||||||
The_Terminator | donderdag 14 juli 2011 @ 22:10 | |||||
Ik zit al een tijd te klooien met character encoding en wil graag zeker weten dat ik het goed doe. Stel dat ik een pagina heb met de volgende meta tag in de header: "<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>" Als ik de gegevens bijvoorbeeld encodeer naar BASE64 en de output insert in de database (collation = latin1_swedish_ci) is er niets aan de hand. Echter als ik de gegevens wil opslaan zonder het naar BASE64 te encoderen gaat het mis; ik moet dan utf8_decode gebruiken om de gegevens goed in de tabel te krijgen. Ik wil graag het volgende weten: - is het gebruik van utf8_decode de beste oplossing om het probleem te verhelpen? - is het nodig de functie uft8_encode te gebruiken om de gegevens weer te geven in de browser? (het lijkt overigens prima te werken zonder uft8_encode). Overigens weet ik dat de beste oplossing is om de collation op UTF-8 te zetten. Helaas is dit om verschillende redenen niet altijd mogelijk... | ||||||
Dale. | vrijdag 15 juli 2011 @ 11:07 | |||||
Vraagje... Ik heb een tabel met een column waarin een pad staat... "C:\...\...\test.txt" Nu wil ik graag "test" als uitvoer hebben. SELECT FUNCTION(TEST) AS var FROM <TABEL> Nu moet die FUNCTION er dus voor zorgen dat alleen test wordt geretouneerd... Iemand een idee? | ||||||
KomtTijd... | vrijdag 15 juli 2011 @ 11:52 | |||||
Ik zou dat lekker in PHP doen met een regex. Weet niet of dat best practice is maar dan weet ik wat er gebeurt. Als je die bestandsnaam vaak op moet vragen, zou ik 'm gewoon apart opslaan in je tabel, trouwens. | ||||||
Tijn | vrijdag 15 juli 2011 @ 12:02 | |||||
Die regex wordt door PHP al meegeleverd trouwens, zie bv pathinfo(). | ||||||
ursel | zaterdag 16 juli 2011 @ 16:07 | |||||
Hoe kan ik me bij de PHP tracker afmelden? | ||||||
mschol | zaterdag 16 juli 2011 @ 16:19 | |||||
php tracker? | ||||||
cablegunmaster | zaterdag 16 juli 2011 @ 17:14 | |||||
huh? , Bedoel je bij de serie reeks van Fok zelf? Want daar was ik ook niet even duidelijk over hoe dat moest. zal vast doodsimpel zijn. | ||||||
Luchtkoker | zaterdag 16 juli 2011 @ 17:16 | |||||
MyAT en dan gewoon rechts op dat kruisje drukken. | ||||||
Diabox | zaterdag 16 juli 2011 @ 17:17 | |||||
Of op stop volgen boven- en onderaan dit topic. | ||||||
cablegunmaster | zaterdag 16 juli 2011 @ 17:19 | |||||
Dankje , zat de hele tijd met een reekst in myAT die ik eruit wou , hij is nu weg Deze natuurlijk niet. | ||||||
ursel | zaterdag 16 juli 2011 @ 17:27 | |||||
Voordat FOK! reeksen had had je een topic tracker van wyrihaximus.net en kreeg je mailtje dat er een nieuw topic was. Dat is nu dus overbeodig, maar zit geen afmeld optie zover ik kan zien. | ||||||
Luchtkoker | zaterdag 16 juli 2011 @ 17:28 | |||||
Email adres blacklisten in je Spamfilter, done. | ||||||
Diabox | zaterdag 16 juli 2011 @ 17:34 | |||||
Hey hallo, dit gaat allemaal niet over PHP/MySQL jongens | ||||||
Light | zaterdag 16 juli 2011 @ 17:38 | |||||
Stuur WyriHaximus een privebericht. | ||||||
ursel | zaterdag 16 juli 2011 @ 18:09 | |||||
done | ||||||
cablegunmaster | zaterdag 16 juli 2011 @ 18:09 | |||||
normaal gaat het over problemen met php /mysql maar die zijn ff weg. geen Php problemen op dit moment | ||||||
ursel | zaterdag 16 juli 2011 @ 18:10 | |||||
Als je script errors geeft ga je ook niet je errors onderdrukken, maar ga je terug naar de source | ||||||
cablegunmaster | zaterdag 16 juli 2011 @ 18:11 | |||||
"De source" Edit: Nog geen youtube grapjes over kunnen vinden . [ Bericht 5% gewijzigd door cablegunmaster op 16-07-2011 18:20:24 ] | ||||||
mschol | zondag 17 juli 2011 @ 22:54 | |||||
even vraagje, wellicht is iemand er bekent mee hier: ik heb een simpele site opgezet voor iemand met GetSimple CMS op mijn testmachine werkt het perfect, echter is dat windows en dus wat minder gevoelig voor schrijfrechten nou heb ik de boel geupload, een aantal mappen (data en backups + sub-directory's/files) ge-chmod naar 777 maar nog krijg ik er een foutmelding van... iemand toevallig een idee/ervaring mee.. anders ga ik wel nog een accountje registreren om het bij de maker te vragen | ||||||
Light | zondag 17 juli 2011 @ 22:56 | |||||
Welke foutmelding? | ||||||
mschol | zondag 17 juli 2011 @ 22:58 | |||||
intressant iets: als ik de taal b.v. aanpas, dan worden de wijzigingen wel opgeslagen | ||||||
cablegunmaster | zondag 17 juli 2011 @ 23:25 | |||||
Interessant ander feitje, als je meer informatie geeft zouden we je kunnen helpen . | ||||||
mschol | maandag 18 juli 2011 @ 00:07 | |||||
welke andere info valt er te geven.. 1) gebruik getsimpel CMS (3.x) 2) hij geeft foutmelding dat er niet geschreven kan worden en dat er ge-chmod moet worden naar 777, wat ik al gedaan heb. 3) ik krijg nog steeds de foutmelding maar hij lijkt het wel aan te passen.. | ||||||
Light | maandag 18 juli 2011 @ 00:15 | |||||
Dan denk ik dat het iets specifieks voor het cms is. En omdat ik daar geen ervaring mee heb, kan ik je er niet mee helpen. | ||||||
mschol | maandag 18 juli 2011 @ 00:18 | |||||
oke, dat is jammer hmm.. blijkt dat de ftp user en php user niet gelijk zijn, hierdoor kan/mag php niet chmodden ik heb een bepaalde check in de config uitgeschakeld waardoor het nu wel werkt, aangezien bij getsimple wordt verwezen naar je hoster die dat op moet lossen [ Bericht 15% gewijzigd door mschol op 18-07-2011 00:45:24 ] | ||||||
Diabox | woensdag 20 juli 2011 @ 00:55 | |||||
Ik heb een array genaamd $children en dit is de var_dump:
Gelijk daarna begin ik een foreach loop als volgt:
| ||||||
cablegunmaster | woensdag 20 juli 2011 @ 01:14 | |||||
register_globals off. zetten in je php.ini vervolgens Apache herstarten. Bron: http://stackoverflow.com/(...)urns-first-character | ||||||
Diabox | woensdag 20 juli 2011 @ 01:46 | |||||
Stond helaas al uit
| ||||||
Tijn | woensdag 20 juli 2011 @ 01:48 | |||||
Hoe kom je erbij om $child['id'] te echo'en en niet gewoon $child? Uit de vardump blijkt iig niet dat de elementen van $children zelf ook arrays zijn. | ||||||
Diabox | woensdag 20 juli 2011 @ 02:02 | |||||
Oh my god, helemaal over het hoofd gezien Inderdaad, heb het gelijk gefixed en alles werkt nu zoals het hoort, 1000 maal dank! | ||||||
Tijn | woensdag 20 juli 2011 @ 02:04 | |||||
Graag gedaan hoor | ||||||
Intrepidity | woensdag 20 juli 2011 @ 08:30 | |||||
Technische onderbouwing: 'id' geconverteerd naar een integer is 0. Als je dus $string['id'] doet gaat hij onderwater positie 0 van de string opvragen (want strings zijn ook benaderbaar als arrays). | ||||||
ursel | woensdag 20 juli 2011 @ 09:32 | |||||
Volgens mij vast al eens besproken, maar gooi hem toch maar weer eens omhoog. Wat gebruiken jullie om PDF's te genereren? Maak nu gebruik van FPDF. Gaat op zich wel goed, maar zit me mateloos te irriteren dat alles zo nauwkeurig gepositioneerd moet zijn. En kan gewoon met de huidige ontwikkeling van alle software nog niet echt geloven dat er geen betere pakketten/classes beschikbaar zijn die dat niet eenvoudiger kunnen. We moeten een redelijk uitgebreide PDF generator hebben die ook eenvoudig grafieken kan opmaken. | ||||||
Chandler | woensdag 20 juli 2011 @ 12:11 | |||||
Een vraagje. Ik wil een site beveiligen met een ww. Nu wil ik niet alleen een wachtwoord gebruiken in mijn htaccess maar ook rewriterules? Waar ga ik de fout in? Options +FollowSymLinks RewriteEngine on AuthGroupFile /dev/null AuthType Basic Auth UserFile /home/*****/.htpasswd/public_html/.htpasswd AuthName "Mag ik uw ID zien?" require valid-user RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^*****/(.*).html$ index.php?arg=****&name=$1 [L,QSA] RewriteRule ^****/zoeken-(.*).html$ index.php?arg=****-list&query=$1 [L,QSA] RewriteRule ^****/(.*)/(.*).html$ index.php?arg=****-item&id=$1 [L,QSA] RewriteRule ^****/(.*).html$ index.php?arg=****-list&city=$1 [L,QSA] RewriteRule ^(.*).html$ index.php?arg=$1&%{QUERY_STRING} [L,QSA] Iemand? | ||||||
Diabox | woensdag 20 juli 2011 @ 15:25 | |||||
I know Zat al de hele dag te programmeren en dan zie je soms hele domme fouten niet (was ook al laat ) | ||||||
1201Rick | woensdag 20 juli 2011 @ 16:13 | |||||
Misschien kun je hier wat meer mee ? Ik kon er in ieder geval veel meer mee dan FPDF http://code.google.com/p/dompdf/ weet niet of er ook iets inzit voor grafieken, maar dat moet je zelf maar ff kijken | ||||||
cablegunmaster | woensdag 20 juli 2011 @ 17:01 | |||||
daar had ik nog niet aan gedacht | ||||||
ursel | donderdag 21 juli 2011 @ 10:41 | |||||
Zal er eens naar kijken. Tnx. | ||||||
Dale. | donderdag 21 juli 2011 @ 10:59 | |||||
Hmmm vraagje... ik heb een tabel met een naam en een status (passed, failed, skipped). Nu wil ik graag van alle namen in de tabel weten hoevaak die naam passed, failed of skipped is. (Er zijn dus rijen met dezelfde naam in de tabel) Is dit mogelijk om in 1 query te doen? Dus dat ik zoiets als resultaat krijg...
Ik gebruik trouwens nu dit
Hier krijg ik dan van (bijna) iedere naam 3 records voor (passed, skipped, failed). Ik zeg bijna want als er geen voorkomt met b.v. passed dan geeft ie die natuurlijk niet weer, zou dan liever hebben dat ie dan COUNT(*) 0 retouneert ofzo voor passed. [ Bericht 3% gewijzigd door Dale. op 21-07-2011 11:13:32 ] | ||||||
Pakspul | donderdag 21 juli 2011 @ 11:14 | |||||
Hoe ziet je tabel er precies er uit? En waarom tel je in die tabel niet direct het aantal Passed op. Soort update waar Names = Naam_1 en dan Passed = Passed + 1 Maar als je de structuur van je tabel nog even post dan kan ik beter antwoord geven | ||||||
Dale. | donderdag 21 juli 2011 @ 11:28 | |||||
Dat komt omdat het STATUS is opgeslagen als een string wat dus passed, failed, skipped kan hebben en eventueel meer in de toekomst.
Maar iig deze beslissing heb ik dus niet gemaakt he ;D | ||||||
Pakspul | donderdag 21 juli 2011 @ 11:34 | |||||
| ||||||
Dale. | donderdag 21 juli 2011 @ 11:39 | |||||
Retouneert hetzelfde als mijn eigen huidige query SELECT COUNT(*), NAAM, STATUS FROM tabel GROUP BY NAAM, STATUS; Het liefst heb ik zoals in [PHP/(My)SQL] voor dummies #92 verteld maar als ik met jou query (wat aangepast) ook rijen erbij kan krijgen voor wanneer de count 0 is en er dus voor iedere naam 3 rijen is (skipped, passed, failed) ben ik ook blij | ||||||
Pakspul | donderdag 21 juli 2011 @ 11:41 | |||||
Oh je wilt ook met 0 erbij dat had ik niet gezien, even overheen gelezen ;+ Geef me paar minuten en je hebt je query | ||||||
Dale. | donderdag 21 juli 2011 @ 11:46 | |||||
Ja als het kan wel want dat scheelt me wat logica in de stap erna | ||||||
Pakspul | donderdag 21 juli 2011 @ 12:01 | |||||
Weet niet zeker of met subqueries werken het beste is, ik wil zo nog een testen of het met JOINS kan, maar hier heb je al iets om mee te werken. Let even op bij de tabelnaam, deze is nu 'names' die moet je nog even aanpassen. | ||||||
Dale. | donderdag 21 juli 2011 @ 12:02 | |||||
Ok thanks even testen hoor! | ||||||
Dale. | donderdag 21 juli 2011 @ 12:12 | |||||
Woei die query is of super traag bij mij of hij loopt oneindig | ||||||
Pakspul | donderdag 21 juli 2011 @ 12:13 | |||||
Hoeveel records heb je er in staan? Ik verwacht dat hij super traag is. | ||||||
Dale. | donderdag 21 juli 2011 @ 12:14 | |||||
maar 2000 ofzo | ||||||
Pakspul | donderdag 21 juli 2011 @ 12:15 | |||||
Haal Skipped en failed er eens uit en voer hem nog eens uit en kijk eens of hij het wel doet? | ||||||
Dale. | donderdag 21 juli 2011 @ 12:16 | |||||
Heb al getest met 1 naam en hij doet het alleen voor 1 record doet ie al 4-5 seconde | ||||||
Pakspul | donderdag 21 juli 2011 @ 12:19 | |||||
Je kunt natuurlijk ook deze query gebruiken:
Om huidige resultaten op te halen en dan die in een goede tabel te stoppen. Eerst loop je door de resultaten heen om te kijken wat je allemaal hebt. Hiermee kun je mooi een array vullen. Bijvoorbeeld:
of je Passed, Skipped of Failed moet je uitzoeken met een SWITCH CASE | ||||||
Pakspul | donderdag 21 juli 2011 @ 12:22 | |||||
Nu heb je een leuke array welke je kunt doorlopen om de tabel goed te vullen
Waar de echo staat kun je de insert query gaan bouwen | ||||||
Dale. | donderdag 21 juli 2011 @ 12:30 | |||||
Thanks voor je voorbeeld zal eens kijken of ik me huidige code (andere taal trouwens) aanpas of dat ik het dan nu gewoon zo laat zoals het is iig zoals gezegd bedankt! | ||||||
Pakspul | donderdag 21 juli 2011 @ 12:33 | |||||
Je zult wat dingen moeten aanpassen, maar berekende dingen (echt zware berekeningen) moet je niet database uitvoeren. Zelfde als bij een forum, daar ga je de topic of post count niet berekenen, want dat duurt veels te lang. Dan kun je er beter voor kiezen een kolom op te nemen waar je dit kunt opslaan en snel weer terug kunt halen. Succes er mee, en als er nog iets is dan horen we het wel weer | ||||||
Chandler | zaterdag 23 juli 2011 @ 12:00 | |||||
opgelost | ||||||
Cue_ | maandag 25 juli 2011 @ 12:50 | |||||
Kort vraagje; Ik wil een rij van de ene tabel naar de andere tabel queryen. wat eigenlijk neer komt op : insert into table1 values (select * from table 2 where iets = iets) Maar letterlijk werkt ie zo niet, want hij ziet volgens mij die select als 1 value.Iemand ideeen? tnx alvast! | ||||||
Tijn | maandag 25 juli 2011 @ 12:53 | |||||
Zoiets?
| ||||||
Cue_ | maandag 25 juli 2011 @ 12:58 | |||||
Ik zal dus echt alle kolomnamen moeten uitschrijven? | ||||||
Tijn | maandag 25 juli 2011 @ 13:24 | |||||
Ja, maar dat is toch sowieso wel een goed idee? Anders faalt je query als je later ooit eens een kolom aan je tabel toevoegt. | ||||||
Cue_ | maandag 25 juli 2011 @ 13:26 | |||||
de twee tabellen zullen identiek zijn, dus daar maak ik me geen zorgen over. Maar tnx hij werkt! | ||||||
Tijn | maandag 25 juli 2011 @ 13:41 | |||||
Famous last words Ik ben wel benieuwd waarom je eigenlijk dubbele data wil opslaan in je database. Heb je niet genoeg aan gewoon het ID van de rij die je nodig hebt? | ||||||
Scorpie | maandag 25 juli 2011 @ 13:41 | |||||
Ik vermoed dat het iets van logging of archiving is dat Cue_ wil bewerkstelligen. | ||||||
Cue_ | maandag 25 juli 2011 @ 13:43 | |||||
Dat inderdaad Zijn waarschijnlijk nog wel meer methodes voor, maar deze is voor dit geval gekozen. | ||||||
Cue_ | maandag 25 juli 2011 @ 13:44 | |||||
i know | ||||||
remi1986 | maandag 25 juli 2011 @ 13:44 | |||||
Ik heb een array die er zo uit ziet
De namen van de medewerkers zijn ff fictief, maar heeft ook niks te maken met het uiteindelijke doel. Ik wil nu de percentages aflopend sorteren van het hoogste jaar (in dit geval 2011, maar is variabel). Alleen als de percentages van 2011 worden gewijzigd (en dus de keys ook), wil ik dat ook van de andere jaren doen, aangezien alles in een tabel wordt weergegeven. Ik heb gekeken naar de standaard array sort functies (sort, asort, multisort etc.), maar volgens mij is er geen standaard functie voor. Heeft iemand een idee om dit voor elkaar te krijgen? | ||||||
Scorpie | maandag 25 juli 2011 @ 13:48 | |||||
Data replicatie is niet altijd de beste manier. Kan je neit beter gewoon een indicator maken die aangeeft dat de record in kwestie is verwijderd/readonly/archived is ? | ||||||
Tijn | maandag 25 juli 2011 @ 13:48 | |||||
array_multisort() doet in grote lijnen toch wel wat je hebben wil? Misschien dat je er alleen even een functie omheen moet schrijven om te zorgen dat 'ie alleen het meest recente jaar sorteert. Of zie ik iets over het hoofd? | ||||||
remi1986 | maandag 25 juli 2011 @ 13:57 | |||||
Het probleem is dat hij alle jaren moet sorteren naar de sortering van de meest recente. Maar volgens mij zit ik veel te moeilijk te denken. Ik kan natuurlijk met een foreach het meest recente jaar pakken en dan de waarden van $results[$year + 1) tonen. Dan heb ik niks nodig van een sortering. EDIT: lang leve de maandag | ||||||
A-mineur | maandag 25 juli 2011 @ 14:02 | |||||
Waarom doe je allemaal zo moeilijk je kunt toch gewoon in je query orderen, ook op meerdere velden ORDER BY YEAR(date) ASC, name ASC, date desc iets in die trend, dan hoef je niet allemaal in PHP te gaan orderen wat voor PHP dus nietszeggende data is. | ||||||
Pakspul | maandag 25 juli 2011 @ 14:07 | |||||
Waar haal je het vandaan? Want als je het uit een DB haalt dan kan het makkelijker opgelost worden. Anders zou ik eens gaan kijken naar je opbouw van je array, want daar kun je volgens mij ook nog een verbeterslag maken. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:08 | |||||
het ligt allemaal iets ingewikkelder dan dit. Gebruiker voert een start en eind jaar in. Vervolgens ga ik met een query met allemaal joins naar andere tabellen de data ophalen die ik nodig heb. Met dit resultaat van die query, vul ik de $results array, omdat de percentages niet in de database staan, maar moeten worden berekend, kan ik daar niet in de query op ordenen. | ||||||
A-mineur | maandag 25 juli 2011 @ 14:11 | |||||
Tuurlijk wel, je berekend de resultaten toch, ik zou dit sowieso berekenen met de DB daar is hij nl. voor bedoeld. Tevens bespaart dit je een hoop onnodig rekenwerk in PHP en dataomzetting. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:11 | |||||
Zoals in mijn reactie hierboven, staan de percentages niet in de database. Dat wat ik toonde van de $results array is maar een klein stukje. Het is een groot overzicht met allemaal statistieken. Met de ene keer een medewerker als uitgangspunt maar in een ander overzicht het hele bedrijf. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:16 | |||||
Hoe kan ik met MySQL een percentage berekenen dan? En dan moet het een percentage zijn over de SUM van een aantal kolommen. | ||||||
Pakspul | maandag 25 juli 2011 @ 14:16 | |||||
Schaduw array bijhouden waar je percentages aan personen koppelt en deze makkelijk kunt sorteren Die zou je nog kunnen opnemen onder $results[jaartal][percentage2medewerker] en dan een array alla: array('85' => 'mark', '98' => 'piet', '65' => 'jan'); | ||||||
Pakspul | maandag 25 juli 2011 @ 14:17 | |||||
Deel / totaal * 100 (normale percentage berekening lijkt me?) | ||||||
A-mineur | maandag 25 juli 2011 @ 14:19 | |||||
In MySQL heb je de mooie AVG(). Daarbij kun je gewoon een beetje creatief zijn in je query's. MySQL ondersteunt o.a Switch statements en ifelse, en een hele set aan math operators en functions. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:19 | |||||
Dit is ongeveer vergelijkbaar met de oplossing die ik zelf gaf met de foreach loop. Want als je de volgorde weet van het eerste jaar, kan je ze gewoon benaderen als je de naam weet. | ||||||
Pakspul | maandag 25 juli 2011 @ 14:21 | |||||
Ga eerst eens spelen met je database, want dit kun je perfect daaruit halen. Percentage berekening kun je gewoon in je ORDER statement gooien.
Werkende query, dat moet je probleem oplossen. | ||||||
Tijn | maandag 25 juli 2011 @ 14:28 | |||||
Dat is toch niet zo'n probleem? Gewoon met SUM en COUNT de totalen berekenen en dan selecten en ordenen op de waarde / totaal * 100. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:28 | |||||
De resultaten komen uit koppeltabellen en worden met GROUP BY bij elkaar gevoegd (hiermee krijg ik dus totalen voor in dit geval de medewerker) Onderstaand de query met Nederlandse namen (kolommen heten anders, maar dit gaat sneller),
Om het percentage te berekenen moet ik eerst getal 1 en 2 optellen. Getal 3 / (getal 1+2) * 100 = percentage wat ik nodig heb. Hoe wil dit allemaal in MySQL | ||||||
A-mineur | maandag 25 juli 2011 @ 14:31 | |||||
Wat dacht je van
| ||||||
Tijn | maandag 25 juli 2011 @ 14:31 | |||||
Gewoon zo toch?
| ||||||
Pakspul | maandag 25 juli 2011 @ 14:33 | |||||
Grrr Tijn Als je dan eerder wil zijn doe het dan wel goed. Je mist de ORDER BY daar had je nog 2 minuten voor. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:35 | |||||
ok dit snap ik. Maar ik moet de volgorde bepalen van de medewerkers hoe deze getoond worden (hoogste percentage in laatste jaar bovenaan). Die ORDER BY gaat dan alleen op als jaar 2011 is (in het eerste voorbeeld dat ik gaf) | ||||||
Pakspul | maandag 25 juli 2011 @ 14:37 | |||||
ORDER BY Jaartal DESC, Percentage DESC | ||||||
A-mineur | maandag 25 juli 2011 @ 14:37 | |||||
ORDER BY YEAR(datum) ASC, percentage ASC Zo schikt hij eerst op jaar, en daarna op percentage. | ||||||
A-mineur | maandag 25 juli 2011 @ 14:37 | |||||
haha je was me voor, | ||||||
Pakspul | maandag 25 juli 2011 @ 14:38 | |||||
Het was het F5-en waard | ||||||
remi1986 | maandag 25 juli 2011 @ 14:46 | |||||
hmm het zal wel aan de maandag liggen, dus wellicht nog een domme opmerking Maar mijn uiteindelijke doel is een tabel met een overzicht van alle jaren naast elkaar (onderstaand 2011 en 2010, maar dit kunnen er 10 zijn (dus tot 2001 terug). 2011 2010 Jan (getal1+2), getal 3, percentage (getal1+2), getal 3, percentage Klaas (getal1+2), getal 3, percentage (getal1+2), getal 3, percentage Piet (getal1+2), getal 3, percentage (getal1+2), getal 3, percentage Volgens mij gaat dat niet goedkomen, aangezien je dit niet kan doen zonder eerst een array voor een bepaald jaar te maken. Of zit ik nu weer helemaal verkeerd te denken? EDIT: Zou een tabel moeten voorstellen maar de jaren komen elk dus boven (getal 1 +2 etc...) | ||||||
A-mineur | maandag 25 juli 2011 @ 14:50 | |||||
Als je dingen specifiek tussen 2 jaartallen wilt hebben voeg je er gewoon op het einde aan toe: WHERE YEAR(datum) BETWEEN 2000 AND 2011. | ||||||
remi1986 | maandag 25 juli 2011 @ 14:51 | |||||
Ja dat klopt, maar dan krijg ik de resultaten verticaal terug en niet horizontaal zoals dus zou moeten. | ||||||
A-mineur | maandag 25 juli 2011 @ 14:57 | |||||
Als je ze horizontaal wil maken zul je dus de rijen per jaar jaar voor jaar ophalen. iets van; <?php endyear = 2011; for($year1 = 2000; $year1 < $endyear; $year++){ // je query. en verwerking. } ?> | ||||||
remi1986 | maandag 25 juli 2011 @ 15:04 | |||||
Klopt, dit doe ik ook.. En moet je alsnog alles uit elkaar trekken om de volgorde te bepalen. Want het percentage van het meest recente jaar bepaald deze. | ||||||
Pakspul | maandag 25 juli 2011 @ 15:13 | |||||
Als je nu nog de volgorde moet bepalen dan heb je dus je query nog niet goed in elkaar zitten. | ||||||
A-mineur | maandag 25 juli 2011 @ 15:38 | |||||
De volgorde wordt in de query bepaald. Je krijgt dus voor elk jaartal een query waar je de waardes ophaalt voor dat jaartal. | ||||||
Pakspul | maandag 25 juli 2011 @ 16:08 | |||||
dat kan ook wel in één keer het opbouwen van je array moet daarna een eitje zijn, maar het is niet de bedoeling dat hij later nog een keer naar de volgorde moet kijken. Dan mist er namelijk nog iets in zijn query. | ||||||
Tijn | maandag 25 juli 2011 @ 16:13 | |||||
Dan order je alle volgende queries toch gewoon ook op de percentages van 2011? | ||||||
remi1986 | maandag 25 juli 2011 @ 16:21 | |||||
Deze snap ik niet helemaal? | ||||||
A-mineur | maandag 25 juli 2011 @ 19:54 | |||||
Als je zorgt dat de query voor 1 jaar goed is, is de rest piece of cake en loop je die gewoon, je hoeft het niet eens in een array te mikken, want dan moet je daarna weer gaan loopen om het er uit te poepen. Dubbele moeite dus. | ||||||
Tijn | maandag 25 juli 2011 @ 20:11 | |||||
Volgens mij is het probleem dat de andere jaren gesorteerd moeten worden op de percentages van het laatste jaar. | ||||||
Keiichi | dinsdag 26 juli 2011 @ 07:40 | |||||
Is SOAP door php eigenlijk wel officieel ondersteund? Het lijkt er op dat elke willekeurige SOAP 'server' gemaakt in .NET , java o.i.d. per definitie niet door bv wsdl2php komt en als dit wel lukt dat belangrijke dingen gewoon ontbreken. (Heb nu een xsd met enumeratie waar ie geen raad mee weet om een concreet voorbeeld te pakken) | ||||||
remi1986 | dinsdag 26 juli 2011 @ 10:24 | |||||
Ik heb het probleem met de medewerkers opgelost. Ik kwam er niet uit om het op query niveau te doen. En de $result array is sowieso nodig ook voor andere overzichten. Ik heb een aparte array bijgehouden met de sortering van het laatste jaar. Met een foreach loop ik daar doorheen en kan ik de andere waarden voor de medewerker van de andere jaren benaderen. Toch iedereen bedankt voor de gegeven antwoorden! Wellicht dat ik er ooit nog een keer naar kijk om het beter te doen. | ||||||
A-mineur | dinsdag 26 juli 2011 @ 10:57 | |||||
http://nl.php.net/soapserver Gebruik het regelmatig, er zijn natuurlijk wat bugs maar als je die eenmaal kent werkt het prima. Er is trouwens ook nog zoiets als nuSOAP voor PHP wat vergelijkbaar doet, alleen dan in eigen implementatie. | ||||||
Dokay | dinsdag 26 juli 2011 @ 14:54 | |||||
Fokkertjes, is er een SQL held in de zaal? Ik wil graag een woord in een kolom veranderen naar een ander woord. Voorbeeld van een kolomwaarde: Kostenplaats <BR> Kostensoort <BR> Subnummer <BR> Kostendrager <BR> Project Ik zou graag "Subnummer" willen veranderen naar "Dimensie 1" voor de hele tabel. Geen probleem want dat gebruik je de REPLACE functie zou je zeggen. Maar het komt weleens voor dat de term "Subnummers" (meervoud dus) wordt gehanteerd. Aangezien je bij de REPLACE functie alleen maar een vaste zoekwaarde zonder %wildcards% kan gebruiken zit ik een beetje met de handen in het haar omdat het hier om veel verschillende tabellen gaat. Dan zou ik voor elke tabel een aparte query in elkaar moeten peuteren... Iemand een idee? | ||||||
Keiichi | dinsdag 26 juli 2011 @ 15:11 | |||||
Eens even naar nuSoap kijken. de soapclient van php zelf laat voor kopellingen met SOAP servers van ERP paketten enzo wat te wensen over. | ||||||
A-mineur | dinsdag 26 juli 2011 @ 16:20 | |||||
Ik snap niet wat je wilt bereiken, maar als de kolom naam anders moet zijn kun je gewoon een alias gebruiken. Misschien handiger om je vraag wat te specificeren met een stukje code. SELECT iets AS ietsanders FROM table | ||||||
Pakspul | dinsdag 26 juli 2011 @ 16:28 | |||||
PHP script schrijven, welke eerst alle tabellen doorloopt (tabel namen in een array gooien en foreach er door heen gaan) daarna ook met de woorden die je wil vervangen (tevens weer in een array en dan foreach er door heen) Dan heb je twee foreach loops in elkaar en op diepste niveau ga je de query schrijven. Dan voer je hem uit en tada klaar | ||||||
A-mineur | dinsdag 26 juli 2011 @ 18:55 | |||||
http://www.java2s.com/Code/SQL/Select-Clause/UsingAliases.htm Extra query is nergens voor nodig. | ||||||
Cue_ | woensdag 27 juli 2011 @ 12:50 | |||||
Wat is eigenlijk het tegenovergestelde van trim? Ik heb een variable bv : 2574 of 4 of 24.. in ieder geval een getal. en nu wil ik dat deze aan de voorkant wordt verlengt tot 6 tekens (wordt weggeschreven als char) | ||||||
mstx | woensdag 27 juli 2011 @ 12:54 | |||||
In PHP? str_pad() | ||||||
Cue_ | woensdag 27 juli 2011 @ 12:55 | |||||
sorry, idd php. Dat is idd wat ik zoek zoals ik nu zie | ||||||
remi1986 | woensdag 27 juli 2011 @ 12:56 | |||||
Geloof dat het ook met sprintf kan, "%06d" | ||||||
Cue_ | woensdag 27 juli 2011 @ 12:58 | |||||
Dan nog even een heel kleintje (ook php) hoe split ik een variable (geen array) op. Maar dan enkel alleen op de eerste spatie die hij tegenkomt. Dus latere spaties moet hij negeren. | ||||||
remi1986 | woensdag 27 juli 2011 @ 12:58 | |||||
pff lees weer eens niet goed. Als je het resultaat als array wil, kan dat met explode (kan je een limit opgeven) | ||||||
mstx | woensdag 27 juli 2011 @ 13:00 | |||||
Volgens mij wel explode hoor, en dan bij het 3e argument 1 gebruiken. | ||||||
remi1986 | woensdag 27 juli 2011 @ 13:01 | |||||
ja inderdaad zag het ook later .. las ff niet goed | ||||||
Cue_ | woensdag 27 juli 2011 @ 13:03 | |||||
Een spatie kan je dan toch aangeven door " " ? Want als ik die zo pak dan splitst hij na elk getal | ||||||
remi1986 | woensdag 27 juli 2011 @ 13:03 | |||||
" " ja en dan wel een limit opgeven (derde argument) | ||||||
Cue_ | woensdag 27 juli 2011 @ 13:06 | |||||
Dat limiet werkt! Maar alleen die seperator nog niet. $naam = "5424 Naam" wordt nu met limit van 3 [0] = 5 [1] = 4 [2] = 2 | ||||||
remi1986 | woensdag 27 juli 2011 @ 13:07 | |||||
explode(" ", $naam, 1) ? | ||||||
Cue_ | woensdag 27 juli 2011 @ 13:09 | |||||
Yup die idd
Met echo echo $username[0]; echo 'd'; echo $username[1]; echo 'd'; echo $username[2]; uitkomst 5d4d2 | ||||||
remi1986 | woensdag 27 juli 2011 @ 13:09 | |||||
Je moet wel $naam = explode doen.. anders verandert de variabele niet | ||||||
Cue_ | woensdag 27 juli 2011 @ 13:10 | |||||
tnx domme fout | ||||||
remi1986 | woensdag 27 juli 2011 @ 13:11 | |||||
| ||||||
Pakspul | woensdag 27 juli 2011 @ 13:26 | |||||
Volgende is nog wel een mooie oplossing als je weet hoeveel stukken er uit zullen komen.
| ||||||
cablegunmaster | donderdag 28 juli 2011 @ 13:40 | |||||
had eerst een vraagje maar heb het al opgelost | ||||||
Cue_ | donderdag 28 juli 2011 @ 14:42 | |||||
Was ik weer Ik heb een formulier, met daarin verschillende radiobuttons. bv
nu is het zo dat als men het formulier submit dat er bepaalde velden verplicht gevuld moeten worden, gebeurd dit niet, komen ze terug in het formulier met de eerder opgegeven waardes natuurlijk nog ingevuld. Enkel lukt mij dit niet met de radiobuttons. Geen idee hoe ik dit moet oppakken. De andere velden vul ik door:
| ||||||
mstx | donderdag 28 juli 2011 @ 14:49 | |||||
Geen idee hoe dat in dat template-systeem werkt, maar in php kan het zo:
| ||||||
Tijn | donderdag 28 juli 2011 @ 14:52 | |||||
Welk framework gebruik je? Zo te zien vult de set() functie van je framework alleen de value van een inputfield, terwijl 'ie in het geval van een radio-button ervoor moet zorgen dat 'checked="checked"' erin komt te staan. Je zult dus een functie moeten zoeken in het systeem dat je gebruikt die dat doet. | ||||||
remi1986 | donderdag 28 juli 2011 @ 14:55 | |||||
Waarschijnlijk kan je die variabelen weer benaderen in de template met {USERNAME} of iets dergelijks. Dan kan je de oplossing misschien gebruiken van mstx
De variabele {CHECKED} zal dan of het woord "checked" bevatten of is leeg.
misschien nog een isset() er omheen om te controleren of de POST variabele wel bestaat, weet niet of het goed gaat als je nog niet gesubmit hebt (dus de eerste keer dat je de pagina laadt) | ||||||
Cue_ | donderdag 28 juli 2011 @ 15:06 | |||||
Deze werkt $adr = $_POST['adr']; $inhoud->set ('adr', $adr); En dan in de tabel de code die jij hebt voorgesteld | ||||||
Chandler | donderdag 28 juli 2011 @ 16:04 | |||||
die werkt fout? of controlleer je ook of er een POST is gedaan? en of $_POST['adr'] wel bestaat? Beter is $inhoud->set('adr', (isset($_POST['adr']) ? $_POST['adr'] : '')); | ||||||
Scorpie | donderdag 28 juli 2011 @ 16:10 | |||||
Beter is nog je hele $_POST door een functie te halen die dit soort dingen voor je afvangt | ||||||
Cue_ | donderdag 28 juli 2011 @ 16:16 | |||||
Ik ben een beginneling en ben al blij dat het allemaal werkt | ||||||
Scorpie | donderdag 28 juli 2011 @ 16:26 | |||||
Vrouwelijke PHP-ers | ||||||
remi1986 | donderdag 28 juli 2011 @ 16:57 | |||||
Idd En al netjes dat je dan met template engines e.d. aan de gang gaat, als je zegt een beginneling te zijn. Niks is lelijker dan PHP rechtstreeks in je HTML code | ||||||
Cue_ | donderdag 28 juli 2011 @ 17:06 | |||||
Ik ben goed in afkijken van degene die andere applicaties heeft gemaakt Dus begrijpen doe ik ook nog niet alles, maar zolang het werkt (soms op een enorm omslachtige manier) dan vind ik het goed. En hoe meer je er mee bezig bent hoe meer je het leert en snapt en dus weer spul effencienter gaat maken. Maar het kost tijd. Ben pas een maand of 2 goed bezig hiermee nu en ach, het lukt redelijk Google (en nu fok ook) is my best friend | ||||||
remi1986 | donderdag 28 juli 2011 @ 17:12 | |||||
Begrijpen hoeft ook niet altijd, als je maar snapt wat er moet gebeuren | ||||||
The_Terminator | donderdag 28 juli 2011 @ 20:01 | |||||
Ik heb voor het afhandelen van de request variabelen een simpele class geschreven. De class handelt ook eventuele encodering en het escapen van de variabelen af. Het mooie ervan is dat je dan bijna niet meer kunt vergeten de variabelen te escapen om ze te gebruiken in een query. Dit kan een hoop problemen zoals query injecties of XSS aanvallen tegengaan. Doordat de class een lege string teruggeeft als een element niet bestaat in de request array vang je ook foutmeldingen af, eventueel is het dan ook mogelijk de niet bestaande requests te loggen. Overigens heb ik op mijn vraag: [PHP/(My)SQL] voor dummies #92 nog geen antwoord gekregen. Iemand een idee? | ||||||
The_Terminator | donderdag 28 juli 2011 @ 20:11 | |||||
Voor kleine projecten met een minieme template ga ik echt geen template engine gebruiken. PHP in de HTML code ziet er inderdaad niet sjiek uit, echter wordt het wel heel snel uitgevoerd. Een template engine moet moet namelijk de volledige template bij langs en waar nodig variabelen aanpassen, dat kost gewoon tijd. Een voordeel is dat een template engine de mogelijkheid heeft tot het cachen van data, en dat kan de weergave een stuk sneller maken. De mogelijkheid tot cachen is ook de reden dat ik voor zeer grote applicaties een templateengine gebruik, en voor de kleinere gewoon de PHP rechtstreeks in de HTML code plaats. Uiteraard scheid is de templates wel van de rest van het script en verwerk zo weinig mogelijk PHP in de HTML, ik vind het anders erg onoverzichtelijk worden. | ||||||
mstx | donderdag 28 juli 2011 @ 20:24 | |||||
Ligt aan het template systeem. Smarty bijvoorbeeld parsed de template 1x en zet de code om naar pure PHP en slaat die ook zo op voor de volgende call. Er zit dan natuurlijk nog steeds een overhead in maar voor de overzichtelijkheid gebruik ik het ook gewoon voor kleine projectjes. | ||||||
Chandler | donderdag 28 juli 2011 @ 23:46 | |||||
Dit is toch een juiste rewrite rule om te werken met sub domeinen? die ik via DA via het DNS instellen heb aangepakt *.fotos.nl A ip.ip.ip.ip Iemand? | ||||||
GlowMouse | vrijdag 29 juli 2011 @ 00:28 | |||||
Apache moet om te beginnen zo ingesteld zijn dat *.fotos.nl vanuit die map geserveerd wordt. | ||||||
Chandler | vrijdag 29 juli 2011 @ 07:07 | |||||
Dus het heeft niet allen met de DNS wildcard ingesteld moeten worden maar ook nog een extra setting aanpassen in http.conf? | ||||||
GlowMouse | vrijdag 29 juli 2011 @ 11:05 | |||||
idd | ||||||
Chandler | vrijdag 29 juli 2011 @ 12:59 | |||||
LOL dan ga ik de hoster daarom vragen! Ik heb trouwens wel de melding op een subdomain (Apache is functioning normally). Dus moet ik dan nog die httpd.conf aanpassen of betreft het dan alleen htaccess? | ||||||
basmens | vrijdag 29 juli 2011 @ 13:11 | |||||
in mijn menu wil ik afhankelijk van het clearance level een specifiek menu tonen. Bovenstaande code geeft echter een blank scherm, terwijl menu1.php nu als test een echo heeft. Verder ben ik er ook achter gekomen dat $clvl_huidige_regnr als output heeft: Resource id #5 . Dit terwijl ik hier als output verwacht level1 een van jullie een idee waar het misgaat? | ||||||
Chandler | vrijdag 29 juli 2011 @ 13:13 | |||||
je doet een query maar je haalt de resultaten niet op? mysql_query = query doen mysql_fetch_assoc = query uitlezen in jou geval zou ik zelfs mysql_result gebruiken bv $res = mysql_result(mysql_query("JE QUERY), 0); Have fun! | ||||||
GlowMouse | vrijdag 29 juli 2011 @ 13:14 | |||||
httpd.conf, want in welke map zou hij een htaccess zoeken? http://www.php.net/manual/en/function.mysql-fetch-assoc.php | ||||||
basmens | vrijdag 29 juli 2011 @ 13:15 | |||||
haha thnx, wist ergens wel dat er iets fout ging in de basics, maar had geen idee wat. ga ermee verder! waar staat eigenlijk die ,0 voor? | ||||||
Chandler | vrijdag 29 juli 2011 @ 13:22 | |||||
eerst lezen dan vragen http://www.php.net/mysql_result | ||||||
Chandler | vrijdag 29 juli 2011 @ 13:23 | |||||
Zou kunnen dat DA dat zelf toevoegd oid? geen idee hoor? Verder geef ik deze ff door aan de hoster http://www.easymodrewrite.com/example-subdomains | ||||||
Cue_ | vrijdag 29 juli 2011 @ 13:30 | |||||
Mijn helden van het PHP forum, de volgende vraag. Ik heb nog altijd mijn formulier met daarop data die ik wil opslaan. Met een update statement heb ik geen problemen, echter wel met de insert. Ik haal al mijn velden op met $_POST en evt maak ik er een leuke variabele van. vervolgens gooi ik de velden die ik wil updaten en hun waarden in een aparte variable als:
Vervolgens wil deze in een 'class' wegschrijven naar een database
Het probleem zit het hem erin dat ik niet van alle values een waarde hebben op dat moment, zijn soms null. Ik kan niet alle velden tussen aanhalingstekens zetten, want dan heeft ie een string die hij wil wegschrijven in een numeriek veld. Is het enige wat mogelijk is om eerst alle velden af te vangen (de numerieke) en deze anders op null te zetten? | ||||||
mstx | vrijdag 29 juli 2011 @ 13:36 | |||||
Volgens mij gaat dat prima. Lijkt me sowieso handig. Ligt aan de kolom, of deze 0 of NULL als waarde moet hebben. En ik zou trouwens alles in 1 array zetten.
| ||||||
Cue_ | vrijdag 29 juli 2011 @ 13:40 | |||||
dat dacht ik ook, maar hij gaat zeuren dat hij dus geen numerieke waarde heeft. Of dat komt doordat het dus enkel '' is en niet bv 'null'. null mag ook. maar hoe gaat mijn qry er dan uitzien? die is nu namelijk :
wordt dat dan gewoon insert into order ($velden) ? | ||||||
mstx | vrijdag 29 juli 2011 @ 13:52 | |||||
Zo te zien gebruik je geen MySQL? Andere databases zijn meestal wat strenger dus dan gaat dat inderdaad niet werken. Ik ben gewend om alle insert queries via een centrale functie te doen waar je alleen de tabelnaam + velden hoeft aan te geven, zoiets;
Dus dan wordt het
Moet je die functie alleen even aanpassen met de juiste functies voor jouw database. | ||||||
Cue_ | vrijdag 29 juli 2011 @ 13:54 | |||||
Oracle database Ik ga eens ontpluizen hoe die $values er dan uit moet komen te zien zodat er een foreach op werkt woei het werkt tnx [ Bericht 37% gewijzigd door Cue_ op 29-07-2011 14:08:02 ] | ||||||
Chandler | vrijdag 29 juli 2011 @ 16:47 | |||||
Ze hebben het regeltje toegevoegd en het werkt maar dan nu het volgende. Aangezien ik maar met 1 wildcard subdomein wil testen wil ik andere (niet bestaande) redirecten naar www. echter gaat dit op een of andere manier niet werken en laat deze de index zien van het hoofd domein. Nu wilde ik dit oplossen met een 301 redirect maar die doet niets!? nu is mijn vraag doe ik wat fout? Voorbeeld van htaccess
waarbij het eerste gedeelte zou dit zou moeten doen redirect bij geen www redirect bij ander subdomein dan test.nl het tweede gedeelte filtert weer op die 'sub domein' en moet deze dan doorsturen aan een bepaald script. Maar het eerste stuk werkt niet, tweede wel maar natuurlijk zoals geschreven voor alle sub domeinen. (Zie # lol) Waar ga ik de fout in? zie jij / iemand het? | ||||||
GlowMouse | vrijdag 29 juli 2011 @ 16:54 | |||||
RewriteCond %{HTTP_HOST} ^[_a-zA-Z0-9]+\mijndomen\.nl$ daar mist een punt voor mijndomein | ||||||
Chandler | vrijdag 29 juli 2011 @ 17:14 | |||||
Zie, daar keek ik dus al een minuut of 5 naar maar zag het niet bedankt! | ||||||
Chandler | vrijdag 29 juli 2011 @ 17:52 | |||||
Het volgende probleem is dat ik sessies niet over alle subdomeinen kan laten lopen grrr moet weer een aanpassing vragen | ||||||
GlowMouse | vrijdag 29 juli 2011 @ 17:55 | |||||
http://www.php.net/manual(...)ession.cookie-domain kan via .htaccess | ||||||
Chandler | vrijdag 29 juli 2011 @ 18:02 | |||||
Als de server dat natuurlijk toestaat, kon het stukje niet vinden met htaccess uitleg | ||||||
Cue_ | maandag 1 augustus 2011 @ 10:49 | |||||
En we gaan weer vrolijk verder Ik heb mijn array:
Echter wil ik hier afhankelijk van de knop die ze indrukken een extra waarde bij toevoegen. Nu kom ik de array_push wel tegen, maar hierin kan ik alleen een bepaalde waarde meegeven en niet ook de key. (voor zover ik het online zie). ik wil eigenlijk dat er nog $status => 2 bij toe wordt gevoegd aan bovengenoemde array. | ||||||
mstx | maandag 1 augustus 2011 @ 10:52 | |||||
| ||||||
Pakspul | maandag 1 augustus 2011 @ 11:17 | |||||
Misschien heb je er iets aan, misschien niet, maar het zijn wat manieren om array's te gebruiken.
En zo te zien zou ik eens gaan kijken naar classes, want de dingen die je nu opslaat in een array horen in een class. | ||||||
Cue_ | donderdag 4 augustus 2011 @ 14:28 | |||||
En weer een vraagje Ik heb een in een tabel bij een datumveld heel vaak de waarde 00-00-0000 (zet hij blijkbaar om als de waarde null is) Maar ik wil deze waarde handmatig weer omzetten naar een fictieve datum in de toekomst, van mij paart 01-01-3000 .. hoe doe ik dit? met sql that is of ik moet ergens kunnen zeggen dat een datum die ik ergens heb gelijk mag zijn aan die 00-00-0000 (wat ik eig liever heb) . | ||||||
GlowMouse | donderdag 4 augustus 2011 @ 14:32 | |||||
Gebruik een UPDATE query met daarin een WHERE. Waarom maak je de kolom niet NULLable? | ||||||
Cue_ | donderdag 4 augustus 2011 @ 14:34 | |||||
tis een tabel uit een erp systeem, dus daar kan ik niets aan veranderen. En moet hem gebruiken in een scansysteem, die weer alleen datums kan lezen als je hier een to_char om heen zet :S Best vaag (eerste keer dat ik wat hierin moet aanpassen) hmm in t scansysteem zet ie hem op 00-00-0000 in t erp als 01-01-99 Gaat lekekr | ||||||
GlowMouse | donderdag 4 augustus 2011 @ 14:38 | |||||
Maar wat wil je nou eigenlijk? | ||||||
Cue_ | donderdag 4 augustus 2011 @ 14:50 | |||||
Vergeet hem maar | ||||||
7leintje93 | donderdag 4 augustus 2011 @ 15:08 | |||||
Hoi allemaal! Ik wil voor mijn zusje een portfolio-website gaan maken (ze schildert) en daarop wil ze graag een niewspagina. Afgelopen jaar heb ik met PHP en MySQL gewerkt voor mijn profielwerkstuk, en dat is me best bevallen dus daar wil ik wel graag mee doorgaan. Ik weet dus hoe je tekst via je browser in een database moet opslaan enzo, maar ik zou graag willen weten hoe je een soort scriptje schrijft waardoor voor ieder nieuwsitem automatisch een eigen url wordt aangemaakt. Bijvoorbeeld zo: www.mijnzusjeswebsite.nl/(...)erste-nieuwsitem.php . Weet iemand hoe dit werkt? Ik ben nog niet bekend met OOP, ik ga na de vakantie informatica studeren dus die kennis heb ik waarschijnlijk pas volgend jaar. Groetjes Marjolein P.S. Is het het beste om met PHPMyAdmin te werken? Want dat vind ik best onhandig. Heb het met mijn profielwerkstuk wel gebruikt. | ||||||
GlowMouse | donderdag 4 augustus 2011 @ 15:11 | |||||
Met mod-rewrite: RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^news/(.*) index.php [L] Elke url die met news/ begint komt bij index.php terecht. Daar kun je het nieuwtje erbijzoeken. Groetes GM P.S. PMA is wel handig | ||||||
7leintje93 | donderdag 4 augustus 2011 @ 15:17 | |||||
.....Dit snap ik niet Ik heb ook al gekeken in mijn schoolboeken voor volgend jaar maar daar stond niks in dat ik nodig had of nog niet wist.. | ||||||
GlowMouse | donderdag 4 augustus 2011 @ 15:19 | |||||
Gelukkig is er Google. | ||||||
7leintje93 | donderdag 4 augustus 2011 @ 15:20 | |||||
Thank you, captain Obvious. Ik ben allang bezig. | ||||||
GI | vrijdag 5 augustus 2011 @ 08:22 | |||||
Mooi, dan hoef je hier geen compleet 'brede' vragen te stellen en ook hier geen goede antwoorden meer niet te snappen! | ||||||
remi1986 | vrijdag 5 augustus 2011 @ 09:53 | |||||
In je schoolboeken staat inderdaad niet uitgelegd hoe je een portfoliowebsite maakt (of je moet al geluk hebben dat ze het als voorbeeld gebruiken). Programmeren (of met PHP is het eigenlijk scripten), is het zien van de "stappen" die je moet doen om iets voor elkaar te krijgen). De code die GlowMouse echter gaf is geen PHP, maar hoort thuis in een .htaccess bestand. Misschien is het handig(er) om voor dit eens een CMS te pakken (heb goede ervaringen met CMS Made Simple), die het hele url rewrite gebeuren al heeft. Als je het toch helemaal zelf wil doen, kijk eens naar mod_rewrite. | ||||||
7leintje93 | vrijdag 5 augustus 2011 @ 15:52 | |||||
Als er in de sticky post van dit topic staat dat ik veel mag vragen dan doe ik dat. En als je vindt dat het hier niet thuis hoort begin ik vrolijk een eigen topic. En met 'dat snap ik niet' bedoelde ik dat ik daar al wel eens naar had gekeken op aanraden van een vriend maar er niet veel van kon maken. Ik ga niet zomaar zeggen dat ik iets niet snap zonder het serieus te proberen. Heb het nog een keer gegoogled en ga het nog een keer proberen, maar vind het nog steeds ontzettend ingewikkeld. Ik heb wel eens geprobeerd Wordpress te integreren in een website maar dat was geen succes. Joomla! ook niet. Ik zal CMS made simpel eens proberen, dan kan ik verder en als de website af is kan ik altijd nog kijken of ik zoiets zelf kan bouwen. Bedankt voor uw tip! | ||||||
GlowMouse | vrijdag 5 augustus 2011 @ 15:52 | |||||
Dan had je kunnen posten wat je geprobeerd had en waarom het niet lukte. | ||||||
WyriHaximus | vrijdag 5 augustus 2011 @ 15:59 | |||||
Gebruik zelf eigenlijk alleen nog maar navicat ipv pma. Werkt imo net ff wat lekkerder . | ||||||
7leintje93 | vrijdag 5 augustus 2011 @ 16:00 | |||||
Ik heb me enkel in de theorie toen verdiept en vond het te gewaagd en te ingewikkeld om het te proberen in een schoolopdracht dat bijna direct op mijn examencijferlijst zou komen, en heb het toen niet ergens gebruikt. Daarom is mijn vraag redelijk breed. Maar nogmaals, als je vindt dat het hier niet thuis hoort come right out and say it en ik open ergens anders een topic. En als je het niet breed wil uitleggen dan kan ik me dat prima voorstellen, maar ik gaf alleen aan dat ik het niet snapte en wilde afwachten of er nog andere opties langs zouden komen. | ||||||
7leintje93 | vrijdag 5 augustus 2011 @ 16:01 | |||||
Worth a try! Thanks! | ||||||
remi1986 | vrijdag 5 augustus 2011 @ 23:39 | |||||
Zeg maar jij .. anders voel ik me zo oud | ||||||
basmens | zaterdag 6 augustus 2011 @ 17:23 | |||||
beste kenners. Ben nu bezig de code te schrijven om met een knop naar de andere maand te switchen en deze variabele $maandweergeeft daar ook in te gebruiken. Het probleem is nu dat de pagina wel begint in augustus en met de knop verandert in september, maar als ik nogmaals op de knop volgende druk verandert september niet in oktober. Lijkt mij om dat post dan al een waarde heeft en dus niet nogmaals verhoogt. Ik heb deze code echter uit een voorbeeld van een kalender en daar werkte de code wel. Mis ik iets of is er een meer practische oplossing? thnx alvast | ||||||
KomtTijd... | zaterdag 6 augustus 2011 @ 17:28 | |||||
Nee, dat is omdat je $maandweergeef iedere keer dat het script draait op de huidige maand zet. In plaats van op de weergegeven maand. | ||||||
GlowMouse | zaterdag 6 augustus 2011 @ 17:58 | |||||
$_SERVER['index1.php?locatie=plan'] zal ook niet bestaan. | ||||||
cablegunmaster | zaterdag 6 augustus 2011 @ 18:00 | |||||
Waarom maak je een knopje voor elke keer volgende maand en niet een option set?
Tip om te debuggen:
| ||||||
The_Terminator | zaterdag 6 augustus 2011 @ 18:04 | |||||
Dit werkt:
De variable wordt vastgehouden in een onzichtbaar element, het script voegt daar steeds 1 bij zodra er op de knop wordt geklikt. Zodra 12 is bereikt begint de telling weer bij 1. [ Bericht 14% gewijzigd door The_Terminator op 06-08-2011 18:37:30 ] | ||||||
GlowMouse | zaterdag 6 augustus 2011 @ 18:06 | |||||
Regel 11 is niet zo mooi en de regelnummering ook niet nee; fixed; edit je post om je post te fixen [ Bericht 22% gewijzigd door GlowMouse op 06-08-2011 18:21:16 ] | ||||||
cablegunmaster | zaterdag 6 augustus 2011 @ 18:09 | |||||
http://www.learnphponline.com/php-basics/php-echo-vs-print Heerlijk nutteloos, echo vs print. 20% snelheids verschil? in grote loops . | ||||||
The_Terminator | zaterdag 6 augustus 2011 @ 18:26 | |||||
Idd, slordig foutje, was niet de bedoeling. Post zojuist aangepast. | ||||||
basmens | zaterdag 6 augustus 2011 @ 22:04 | |||||
@komttijd: had ik ook even aan gedacht, maar toen ik die regel in een include_once zette maakte het geen verschil :sjewel..... waarom denk je dat? @cablegunmaster. zal dat debuggen onthouden, kan altijd van pas komen. @the_terminator thnx, werkt! (nu nog kijken of ik kan snappen wat er in jouw script gebeurt | ||||||
mstx | zaterdag 6 augustus 2011 @ 22:07 | |||||
Wat voor waarde heeft die variabele dan? | ||||||
The_Terminator | zaterdag 6 augustus 2011 @ 22:09 | |||||
De array $_SERVER bestaat wel, echter wat jij eruit wil halen niet. Zie ook: http://php.net/manual/en/reserved.variables.server.php | ||||||
basmens | zaterdag 6 augustus 2011 @ 22:10 | |||||
ah oke, ik heb em guys. Bedankt voor de hulp wederom!!! | ||||||
Light | zaterdag 6 augustus 2011 @ 23:50 | |||||
Echo is sneller (en minder typen) maar er zijn situaties waarin echo niet werkt en print wel.
| ||||||
Thomass | zondag 7 augustus 2011 @ 01:37 | |||||
Relevant: http://fabien.potencier.o(...)-which-one-is-faster maar vooral http://scientopia.org/blo(...)mature-optimization/ | ||||||
cablegunmaster | maandag 8 augustus 2011 @ 16:00 | |||||
kan ik de increment counter ook ophogen met een fixed aantal? want ik wil een Tabel ergens anders laten beginnen met aantal. omdat de boekhouding zo werkt . | ||||||
GlowMouse | maandag 8 augustus 2011 @ 16:10 | |||||
http://dev.mysql.com/doc/(...)_increment_increment | ||||||
Thomass | maandag 8 augustus 2011 @ 16:33 | |||||
Ik denk dat hij bedoelt ALTER TABLE blabla AUTO_INCREMENT = 1000 | ||||||
GlowMouse | maandag 8 augustus 2011 @ 16:35 | |||||
Ik denk t ook nu ik zijn post nog een keer leest. Dat is wel minder spannend, want zelfs in phpMyAdmin zit daar een invulvakje voor. | ||||||
cablegunmaster | maandag 8 augustus 2011 @ 16:36 | |||||
Invulvakje niet gezien. Jep Danke ! moest even op de naam komen van AUTO_INCREMENT. ALTER TABLE table AUTO_INCREMENT = 2980 Fixed . [ Bericht 13% gewijzigd door cablegunmaster op 08-08-2011 16:55:25 ] | ||||||
Cue_ | dinsdag 9 augustus 2011 @ 08:38 | |||||
Vraagje over een sql qry Ik heb de qry:
ID FULLNAME TRUCKS ACTIVITIES ------ ----------------------------------- ------------------ ------------------ (leeg) - 4 6 0 - 28 117 12 Naam bedrijf 56 2853 188 Naam bedrijf 1 40 Waar (leeg) staat, ide is dus ook echt leeg. Wat ik nu wil is dat ik de gegevens krijg van die eerste regel. dus dat ik eigenlijk een select * van tabel kan maken. Maar enkel van regel waar id = '' , naam is - , waar er 4 trucks zijn en 6 activiteiten. | ||||||
GlowMouse | dinsdag 9 augustus 2011 @ 09:41 | |||||
Daar moet je een nieuwe query voor uitvoeren; ipv WHERE kun je HAVING count(distinct(vlootnr))=4 AND count(*) = 6 gebruiken. | ||||||
Cue_ | dinsdag 9 augustus 2011 @ 10:02 | |||||
de having.. dat was hem | ||||||
MrNiles | woensdag 10 augustus 2011 @ 11:53 | |||||
Ik heb van iemand een script gekregen om een wachtwoord te kunnen wijzigen. Alleen werkt het niet en degene die het voor me heeft gemaakt krijg ik niet te pakken. Zouden jullie me kunnen helpen om het te fixen. Het script doet niets krijg geen echo helemaal niets zodra ik op de button wachtwoord opslaan druk dan krijg ik de index pagina wat gaat er fout...want ik snap m niet
[ Bericht 12% gewijzigd door MrNiles op 10-08-2011 12:01:52 ] | ||||||
The_Terminator | woensdag 10 augustus 2011 @ 12:04 | |||||
Zet dit eens aan het begin van het script en probeer het dan nog eens: error_reporting(E_ALL); ini_set('display_errors', '1'); Eventuele errors zou je hier kunnen posten. Heb je het overigens ook getest zonder dat het in een functie staat? | ||||||
boem-dikkie | woensdag 10 augustus 2011 @ 12:15 | |||||
Komt het niet omdat je nergens de wachtwoorden die je invult in je variabelen zet? | ||||||
lifeblind | woensdag 10 augustus 2011 @ 12:21 | |||||
Zo te zien wordt de functie change_password() niet eens aangeroepen, dan doet ie ook vrij weinig. | ||||||
The_Terminator | woensdag 10 augustus 2011 @ 12:27 | |||||
Zo te zien komt dat direct uit de POST array. Natuurlijk geen goede manier van doen aangezien je niet eens weet of die variabelen wel bestaan. En 'if (count($_POST) > 0 ) // zo check ik altijd de post.' is geen manier om te checken of bepaalde variabelen bestaan, het triggert al zodra er nonsense wordt gepost. De form staat ook in de functie, en ik haal uit de post dat de form wel wordt weergegeven: 'zodra ik op de button wachtwoord opslaan druk dan krijg ik de index pagina'. Ik neem aan dat de functie wel ergens wordt aangeroepen. | ||||||
lifeblind | woensdag 10 augustus 2011 @ 12:31 | |||||
De functie kan initieel wel aangeroepen worden zodat het form zichtbaar is, maar nadat er op submit gedrukt is, moet het stukje script wat de verwerking doet, OOK die functie aanroepen omdat de verwerking verder namelijk in die functie staat... Sowieso erg onhandig om het form in de functie te zetten die de verwerking doet... | ||||||
remi1986 | woensdag 10 augustus 2011 @ 12:33 | |||||
De action is ook leeg. Misschien wordt naar hetzelfde bestand gepost, maar omdat de afhandeling in een functie staat en niet wordt aangeroepen, gebeurt er niks. @MrNiles, als je naar hetzelfde bestand post, moet je eerst controleren of die post variabelen bestaan en dan de functie aanroepen. | ||||||
lifeblind | woensdag 10 augustus 2011 @ 12:34 | |||||
Dat bedoel ik inderdaad. De action mag gewoon leeg zijn, dan post ie gewoon naar zichzelf. Maar zonder dat er iets met die post gedaan wordt, gebeurt er vrij weinig. | ||||||
MrNiles | woensdag 10 augustus 2011 @ 16:03 | |||||
met velen dank aan remi is het gelukt zat m inderdaad in de form action, die mag voor IE niet leeg zijn | ||||||
lifeblind | woensdag 10 augustus 2011 @ 16:31 | |||||
Sinds wanneer? action moet wel in je form tag staan, maar hij mag gewoon leeg zijn hoor (leeg als in "", je had er zelf een spatie in staan in je voorbeeld. | ||||||
Intrepidity | woensdag 10 augustus 2011 @ 16:33 | |||||
Volgens de specs mag dat inderdaad, maar IE pikt het niet. Zelf ook al eens meegemaakt. | ||||||
lifeblind | donderdag 11 augustus 2011 @ 11:48 | |||||
Ah oke, nu je het zegt kan ik me er vaag wel iets van herinneren, maar goed, voor de zekerheid vul ik altijd wel gewoon de action in, dan weet ik zelf 100% zeker dat ie goed gaat. | ||||||
MrNiles | vrijdag 12 augustus 2011 @ 08:27 | |||||
waarschijnlijk een hele domme vraag..maar ik stel m toch maar kan je database ook anders zijn dan localhost? is het dus mogelijk om op 1 site een database te onderhouden en deze op een hele andere url weer uit te lezen? | ||||||
Sitethief | vrijdag 12 augustus 2011 @ 08:49 | |||||
Ja, dan moet je gewoon het adres geven van de plek waar die database staat. | ||||||
cablegunmaster | vrijdag 12 augustus 2011 @ 08:50 | |||||
Mits je provider dat toestaat . Sommige providers wilen hierover best moeilijk doen. blabla beveiliging en zulks zeiken ze dan over. hetgeen in mijn ogen ongegrond is . | ||||||
MrNiles | vrijdag 12 augustus 2011 @ 08:56 | |||||
ok..das dan wel goed om rekening mee te houden ik heb nu een cheap provider..die nogal wat dingen niet toelaat (geen cronjobs, geen unzip) dus dikke kans dat dit ook niet mag...ff uitproberen | ||||||
lifeblind | vrijdag 12 augustus 2011 @ 09:52 | |||||
Als je database server een andere is dan je webserver is het heel goed mogelijk dat je iets anders dan lovalhost invult Ik denk dat bij de meeste bedrijven de database server in ieder geval los staat van de webserver trouwens, op mijn werk in ieder geval wel. | ||||||
Chandler | vrijdag 12 augustus 2011 @ 15:50 | |||||
Je zou natuurlijk ook alle data kunnen opvragen via XML de ene server de database + xml en de andere de site? | ||||||
KomtTijd... | vrijdag 12 augustus 2011 @ 17:09 | |||||
Lijkt me stug dat ze daar moeilijk over doen. Scheelt hun alleen maar servergebruik De database van een goedkope hosting extern benaderen, daar doen ze vaak wel moeilijk over... | ||||||
GlowMouse | vrijdag 12 augustus 2011 @ 17:12 | |||||
Goedkope hosting laat je helemaal geen verbindingen naar buiten leggen ivm veiligheid | ||||||
ursel | maandag 15 augustus 2011 @ 11:09 | |||||
Ik snap het even niet helemaal meer. Ik maak gebruik van het Zend Framework. Ben bezig met het opzetten van een webservice. Ik heb het in een omgeving werkend als module. Ben het momenteel om aan het zetten om het in mijn eigen library te kunnen gebruiken, maar dan gaat het verkeerd. De foutmelding die ik krijg: Goed, mijn wsdl zou niet goed zijn zegt die. Als ik de url http://localhost/LTFU/index.php/wsdl in de browser plak krijg ik wel netjes een XML te zien. En als ik hem door een online validator heen haal krijg ik als antwoord dat die perfect is. Alle stappen al nagelopen en het loopt continue spaak bij het inladen van de wsdl. Voor de zekerheid een werkende en de nietwerkende geupload Werkend Niet werkend Als ik deze 2 files met elkaar diff dan krijg ik alleen de verschillen in de URL, wat natuurlijk klopt. Laat ik bij het ophalen van de WSDL verwijzen naar de werkende wsdl dan loopt het proces ook goed. Maar wat klopt er dan niet in de XML. | ||||||
GlowMouse | maandag 15 augustus 2011 @ 11:26 | |||||
waarom laad je hem in via http:// en niet via het filesystem? | ||||||
ursel | maandag 15 augustus 2011 @ 11:32 | |||||
De WSDL wordt automatisch gegenereerd. | ||||||
GlowMouse | maandag 15 augustus 2011 @ 11:34 | |||||
op http://localhost kan dmv vhosts heel wat anders draaien dan op http://www.solutia.nl Dat zie je al aan "Premature end of data in tag html", want in jouw code zit helemaal geen html tag op regel 1 en bij een willekeurige andere pagina vaak wel. probeer eens een php-script: echo file_get_contents('http://localhost/LTFU/index.php'); dynamisch genereren kan ook met include, dat scheelt je webserver weer werk. | ||||||
Catbert | maandag 15 augustus 2011 @ 11:51 | |||||
Niks ongegronds aan databaseservers niet van buiten benaderbaar te maken. En terecht. | ||||||
MrNiles | maandag 15 augustus 2011 @ 11:56 | |||||
dus eigenlijk is het niet sowieso niet slim om het te proberen maaruh kun je het niet omzeilen met curl? maar of zelf wat uit te testen..kan ik ergens stukje code de exacte locatie van de database opvragen? | ||||||
Intrepidity | maandag 15 augustus 2011 @ 11:59 | |||||
Inderdaad. Onze database-servers zijn geen van allen van buiten benaderbaar. En als er dan toch van buitenaf gegevens nodig zijn komt er een webservice, geen directe DB-toegang. | ||||||
Catbert | maandag 15 augustus 2011 @ 12:02 | |||||
Hoe bedoel je omzeilen met Curl? Je kunt gewoon niet van buitenaf bij die servers omdat er niks op die poort luistert. Wat bedoel je met 'exacte locatie'? De database luistert over het algemeen alleen op localhost, of op een andere hostname, en die gegevens krijg je van je provider. Als het goed ingesteld staat is het niet te achterhalen waar de database fysiek staat, en je hebt er ook niks aan dat te weten. | ||||||
ursel | maandag 15 augustus 2011 @ 12:08 | |||||
Het draait allebei op localhost (de werkende en niet werkende). De files staan alleen op die url zodat jullie ze kunnen bekijken. Heb het probleem gevonden door die echo. De niet werkende site vereist een login bij de start. Omdat ik vanuit de browser dus was ingelogged kon ik de XML zien. De listener zelf moet ook nog inloggen en kreeg dus met die echo netjes inlog scherm te zien. Inloggen uitgeschakeld en het werkt. Soms kan je toch zo heerlijk in een verkeerde hoek zoeken. Ga ook gelijk even kijken naar die include advies. Bedankt daarvoor | ||||||
Dale. | woensdag 17 augustus 2011 @ 14:15 | |||||
Vraagje... Queued MySQL events? Ik heb namelijk een routine die om de 5 seconde wordt uitgevoerd. Het kan soms gebeuren dat deze routine langer dan 5 seconde duurt. Nu wil ik weten als de routine langer duurt dan 5 seconde queued MySQL dan het event? Of slaat hij het gewoon over? Wanneer die queued... is het mogelijk om het event dan over te slaan? | ||||||
GlowMouse | woensdag 17 augustus 2011 @ 14:29 | |||||
Wat voor events? | ||||||
Pakspul | woensdag 17 augustus 2011 @ 14:31 | |||||
variable isBusy opnemen? Wanneer die ziet dat die true is dan de query overslaan en anders uitvoeren? | ||||||
KomtTijd... | woensdag 17 augustus 2011 @ 14:41 | |||||
Natuurlijk wordt er gequeued. Anders zou iedere website vastlopen als twee bezoekers tegelijk (of vlak na elkaar) een pagina opvragen. | ||||||
GI | woensdag 17 augustus 2011 @ 14:43 | |||||
Je kan, in principe kijken hoe lang je script al loopt, en als het langer dan vijf seconden is dan niet het sql statement uitvoern ?
| ||||||
GlowMouse | woensdag 17 augustus 2011 @ 14:45 | |||||
queries worden niet gequeued hoor Dan moet je je query wel asynchroon draaien, anders kom je al niet bij die code. Ik ben weinig scripts tegengekomen die queries asynchroon draaien. User-defined variables are connection-specific. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 14:46 | |||||
Bij PHP werkt dat toch anders, als ik om de 100msec wil kijken hoelang het script loopt dan gaat mij dat liet lukken als ik een sleep(10) heb aangeroepen. Mooiste zou zijn als PHP threads and zogenaamde backgroundworkers kan laten runnen, maar dat is voor PHP niet echt bepaald nodig. | ||||||
GI | woensdag 17 augustus 2011 @ 14:47 | |||||
Ik ging er eigenlijk vanuit dat een php routine zou zijn die hij om de zoveel tijd aanriep. Maar je kan het ook lezen als een mysql routine die getimed loopt. Indien dat het geval is dan heeft mijn code weinig nut. | ||||||
Tijn | woensdag 17 augustus 2011 @ 14:48 | |||||
Ik zou vanuit je script een bestandje aanmaken voordat de query wordt uitgevoerd en weer weghalen zodra de query voltooid is. Je kunt dan controleren of het bestandje bestaat en alleen als 'ie niet bestaat de query runnen. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 14:57 | |||||
Kun je ook een settings tabel in je database voor gebruiken, dan sla je daar je variabel op | ||||||
Farenji | woensdag 17 augustus 2011 @ 15:06 | |||||
Daar kun je beter een lockfile voor gebruiken. http://php.net/manual/en/function.flock.php Idee is dat je een exclusief lock op een bestand hebt zolang je script loopt. Mocht het script halverwege crashen dan blijft het bestand wel staan maar verdwijnt het lock dus kan een ander proces weer een lock verkrijgen. Met een gewone file en een check op het bestaan, of een veldje in de database zou je in zo'n geval een deadlock krijgen. | ||||||
Dale. | woensdag 17 augustus 2011 @ 15:23 | |||||
MySQL events maar... http://dev.mysql.com/doc/refman/5.5/en/events-overview.html Even mechanisme inbouwen dus... | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 15:29 | |||||
Ik ben wat aan het kloten met OOP en ik krijg een error bij deze code.
De error die ik krijg is:
Line 5 refereert naar 'class Gastenboek {', ik zou niet weten wat er fout gaat eigenlijk. | ||||||
GlowMouse | woensdag 17 augustus 2011 @ 15:38 | |||||
boem: php4? En let op hoofdletters. | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 15:39 | |||||
Ik heb helemaal geen verstand van OOP e.d. ik ben een YT-video aan het bekijken en zelf aan het proberen. | ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 15:39 | |||||
php 4 wil geen __construct functie idd. je kunt ipv dat de classenaam als functie gebruiken als constructor. | ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 15:40 | |||||
ook public,private,protected kan volgens mij niet in php4. helaas. | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 15:41 | |||||
Ugh. Dus het komt door mijn server? | ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 15:42 | |||||
Doe even een nieuwe pagina met dit:
en kijk welke php versie daar staat | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 15:43 | |||||
Ja, PHP4. | ||||||
GlowMouse | woensdag 17 augustus 2011 @ 15:46 | |||||
whehehe, loop je zomaar 7 jaar achter. | ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 15:47 | |||||
OOP is niet leuk in php4 dus upgrade even naar 5.2 ofzo, dan kun je goed oefenen | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 15:47 | |||||
Ik heb het nu zo maar krijg dezelfde error als zonet.
| ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 15:48 | |||||
omdat public ook niet kan in php 4. gewoon function blabla(){} dus en haal die hoofdletters even weg na je $this | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 15:49 | |||||
Domme vraag: Kan ik gewoon mijn 'hosting-bedrijf' mailen met de vraag of ze dit voor me kunnen updaten? Kan ik niet zelf doen toch? | ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 15:51 | |||||
ja dat moeten zij doen ja. Beetje vreemd wel dat ze nog op php4 draaien, misschien is dat een optie ofzo. In ieder geval moet dat server-side, dus bij hun, geregeld worden | ||||||
GlowMouse | woensdag 17 augustus 2011 @ 16:01 | |||||
of stem met je voeten | ||||||
U.N.K.L.E. | woensdag 17 augustus 2011 @ 16:05 | |||||
ik snap de post boven mij niet | ||||||
KomtTijd... | woensdag 17 augustus 2011 @ 16:06 | |||||
Dat je je provider moet schoppen, als'ie nog steeds PHP4 draait. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 16:11 | |||||
Pleur error_reporting(E_ALL); ook nog even aan, want je definieert eerst variabelen zonder hoofdletter en roept dan met hoofdletter aan (zie regel: 6,7) | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 16:13 | |||||
Zo. Geregeld. PHP 5.2.4. | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 16:13 | |||||
Je kon het kiezen. Ik ben daar al een tijd klant en mensen die voor een bepaalde datum al klant waren blijven PHP4 draaien tot je dat zelf aanpast. | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 16:14 | |||||
Al gedaan, thanks. Ik had E_ALL ook al aan trouwens, die gaf over die variabelen geen fouten. | ||||||
GlowMouse | woensdag 17 augustus 2011 @ 16:15 | |||||
Nee, stmmen met je voeten is weglopen naar een ander. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 16:17 | |||||
Krom, zou die wel moeten doen. Ander punt volgens mij is je klasse opbouw ook niet helemaal goed. Een gastenboek als class hebben betekent dat je meerdere gastenboeken hebt. Maar jij hebt een gastboek met daarin meerdere berichten. Dus je class moet GasteboekBericht heten o.i.d. In de gastenboek class komen dingen als AantalBerichten (totaal) en Berichten per pagina etc. | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 16:21 | |||||
Ja oké. Maar de namen hier zijn meer om even te testen of het werkt. Ben pas net aan het inlezen over OOP en het één en ander aan het proberen. | ||||||
KomtTijd... | woensdag 17 augustus 2011 @ 16:26 | |||||
Dat is stemmen met je portemonnee | ||||||
Sitethief | woensdag 17 augustus 2011 @ 16:44 | |||||
Kan dit performance wise sneller? Ik heb het gevoel dat ik iets verkeerd doe..... | ||||||
GlowMouse | woensdag 17 augustus 2011 @ 16:45 | |||||
$output[$i] = $row. En je if is wel zinloos. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 16:48 | |||||
Volgens mij heb je het al aardig minimalistisch. Heb nog paar verbeteringen gemaakt.
| ||||||
Sitethief | woensdag 17 augustus 2011 @ 16:50 | |||||
Dank je, ik was helemaal uit vorm omdat ik steeds een API gebruikte voor queries etc, en nu moet ik opeens weer zonder . | ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 17:15 | |||||
Om aan te geven of ik een error of een goedkeuring heb bij het toevoegen van een bericht heb ik dit stukje.
Buiten de class spreek ik dit aan doormiddel van:
Hij laat nu echter altijd "Bericht is succesvol toegevoegd" zien boven het formulier in plaats wanneer ik iets heb toegevoegd. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 17:31 | |||||
Als er iets misgaat bij invoeren van het bericht kun je ook een Exception gooien die je dan buiten de class kunt opvangen.
| ||||||
boem-dikkie | woensdag 17 augustus 2011 @ 19:22 | |||||
Oké, maar dan alsnog vraag ik me af waarom hij mijn '!empty' niet pakt terwijl hij dat in mijn 'oude' code (niet OOP) wel gewoon doet. | ||||||
The_Terminator | woensdag 17 augustus 2011 @ 19:39 | |||||
Hoe en waar heb je '$this->melding' gedeclareerd? | ||||||
Pakspul | woensdag 17 augustus 2011 @ 20:03 | |||||
Gooi eens wat meer code hier neer, want doe je de formulier afhandeling (aanname <form action="post">) achter de volgende ifstatement.
| ||||||
ursel | woensdag 17 augustus 2011 @ 21:31 | |||||
Hoe kan ik een Soap XML het gemakkelijskte omzetten naar een Data object? Ja, ik weet dat met een soap call je dit automatisch kan aanroepen, maar heb een aantal xml's per file toegestuurd gekregen | ||||||
Pakspul | woensdag 17 augustus 2011 @ 21:52 | |||||
Met SimpleXMLElement kun je eenvoudig een XML bestand omzetten naar een array. Volgens mij moet het daarna een eitje zijn om je object te vullen. | ||||||
ursel | woensdag 17 augustus 2011 @ 21:55 | |||||
Ja, was daar ondertussen al half. Soms zit je gewoon ff in de verkeerde hoek te zoeken. | ||||||
Pakspul | woensdag 17 augustus 2011 @ 21:56 | |||||
Laatste tijd zelf met XML bezig geweest en kwam hier na een tijdje achter. Zat eerst dagen met XML reader/writers te kloten en dit is velen malen makkelijker aangezien ik het ook zo wilde hebben | ||||||
Sitethief | donderdag 18 augustus 2011 @ 10:35 | |||||
Ik ben nu bezig een PDO class te bouwen, is het aanbevolen om de connect meteen in de construct af te handelen? Heeft iemand wat voorbeelden van PDO classes, heb zelf al wat gegoogled, maar echt heel helder wordt het niet. | ||||||
Pakspul | donderdag 18 augustus 2011 @ 10:45 | |||||
99% van de tijd werk je toch maar met 1 database per website en daarom heb ik er voor gekozen om ene singleton class te maken waarin ik gebruik maak van PDO Hier nog meer over singleton pattern: http://en.wikipedia.org/wiki/Singleton_pattern Voorbeeld:
| ||||||
Sitethief | donderdag 18 augustus 2011 @ 11:20 | |||||
Thanks Pakspul . Nu nog prepared statements uitvogelen . | ||||||
Pakspul | donderdag 18 augustus 2011 @ 11:24 | |||||
Een wat Hoe je het moet aanroepen? Waar je ook bent, maakt niet uit hoe diep in de code kun je het volgende doen.
Als open en close in zelfde functie zitten dan hoef je uiteraard niet weer $db = DataBase::GetInstance(); te doen. | ||||||
Sitethief | donderdag 18 augustus 2011 @ 11:30 | |||||
PDO::prepare en PDO::exec bedoel ik dan hé. | ||||||
Pakspul | donderdag 18 augustus 2011 @ 11:33 | |||||
Ahzo ik gebruik gewoon query, want een andere class bouwt deze queries op aan de hand van de models (classes die directe relatie hebben met tabellen in de database). Laatste tijd schrijf ik eigenlijk echt nooit meer een echte query |