Pakspul | donderdag 18 augustus 2011 @ 11:36 | |||||||
![]() 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 | ||||||||
Sitethief | donderdag 18 augustus 2011 @ 11:45 | |||||||
@Pakspul Op die manier ![]() | ||||||||
Pakspul | donderdag 18 augustus 2011 @ 11:51 | |||||||
Zeker een aanrader om eens na te kijken, want het past perfect in het MVC model: http://nl.wikipedia.org/wiki/Model-view-controller-model | ||||||||
GI | donderdag 18 augustus 2011 @ 12:02 | |||||||
Wat is de meerwaarde eraan om iedere keer zelf de db classe aan te moeten roepen met geinstance ? Ik heb een $db classe die ik kan benaderen door heel mijn code, wat ik wel in iedere classe moet doen is in de __construct zorgen dat $this->db een referentie is naar de $db. Hierdoor kan ik overal (hoe diep ik ook zit) met $this->db->runSQL("SQL_SHORT",$parameter1,$parameter2) de query die ik wil uitvoeren... | ||||||||
Pakspul | donderdag 18 augustus 2011 @ 12:08 | |||||||
Je doet het alleen op de plaatsen waar het nodig is. Sommige classes maken geen gebruik van de database, maar bij je voorbeeld geef je toch je database door en wordt er toch geheugen in genomen. Door gebruik te maken van Singleton patroon kun je op de plaats waar je wil je database oproepen door $db = DataBase::GetInstance(); aan te roepen. De hele database is opgeslagen in de $_Instance variabel in de class en deze wordt tijdelijk doorgegeven aan de variabel. Conclusie: je hoeft niet lastig steeds je database door te geven. | ||||||||
GI | donderdag 18 augustus 2011 @ 12:12 | |||||||
Dat snap ik. Ik heb alleen geen classes waar de database niet in gebruikt wordt dus het heeft voor mij weinig tot geen meerwaarde. Maar is het niet zo dat ik met
| ||||||||
Pakspul | donderdag 18 augustus 2011 @ 12:18 | |||||||
De getinstance functie kijkt alleen maar of er een instance van is, anders zorgt hij er voor dat hij deze aanroept. Mocht die al bestaan dan geeft hij hem terug. Global vind ik geen nette oplossing. Het is door PHP gemaakt om het programmeren makkelijker te maken. Daarom heb ik voor Singleton gekozen. | ||||||||
GI | donderdag 18 augustus 2011 @ 13:54 | |||||||
Ja, dat snap ik, maar dat moet ik dan iedere keer doen dat ik de database aan wil spreken volgens jouw constructie. Dat vind ik niet echt een tijdbesparende oplossing eigenlijk. Ik snap de use van de singleton wel, maar ik zou als ik hem zo gebruiken hem toch in mijn __construct aanroepen denk ik... | ||||||||
Pakspul | donderdag 18 augustus 2011 @ 14:35 | |||||||
Tijd besparing valt echt reuze mee, je hebt het over een paar miljardste van een seconde wat ik zo heb getest ![]() | ||||||||
GI | donderdag 18 augustus 2011 @ 14:50 | |||||||
Ik had het vooral over ontwikkeltijdbesparing ![]() | ||||||||
Pakspul | donderdag 18 augustus 2011 @ 15:03 | |||||||
Ik ontwikkel mijzelf om dit soort dingen te proberen ![]() | ||||||||
Sitethief | vrijdag 19 augustus 2011 @ 11:24 | |||||||
als in $_GET['test'] ÄÖ zit, dan maakt htmlentities($data,ENT_QUOTES,UTF-8) er Ã�Ã� van, ipv ÄÖ, hoe kan ik er nou voor zorgen dat dit wél goed gaat? | ||||||||
Intrepidity | vrijdag 19 augustus 2011 @ 11:26 | |||||||
Probeer eens wat met utf8_decode en utf8_encode te spelen over die GET-variabele ![]() | ||||||||
mstx | vrijdag 19 augustus 2011 @ 11:29 | |||||||
Probeer eens htmlentities($data,ENT_QUOTES,"UTF-8") | ||||||||
The_Terminator | vrijdag 19 augustus 2011 @ 11:31 | |||||||
Is de metatag: <meta http-equiv="Content-Type" CONTENT="text/html; charset=UTF-8" /> aanwezig? Dit kan eventueel ook: header("Content-type: text/html; charset=utf-8"); | ||||||||
Sitethief | vrijdag 19 augustus 2011 @ 11:32 | |||||||
dank je mstx dat was idd het probleem ![]() ![]() | ||||||||
Sitethief | maandag 22 augustus 2011 @ 10:37 | |||||||
Waarom doet dit
$smt = "SELECT * FROM products WHERE `ProductName` LIKE %:name% "; $this->prepared->execute($smt); [/php] niet? | ||||||||
Sitethief | maandag 22 augustus 2011 @ 10:39 | |||||||
Sorry voor de tag die verkeerde gaat, kan om een of andere reden vanaf werk geen posts editten. (alle Javascript op FOK is hier kaduuk) | ||||||||
GlowMouse | maandag 22 augustus 2011 @ 10:40 | |||||||
Als hij nu :name in zou vullen, ontbreken de ' om de %. Volgens mij kun je dit alleen aanpakken door de % in de string waarmee je :name vult te stoppen. | ||||||||
Sitethief | maandag 22 augustus 2011 @ 10:41 | |||||||
Ah ja, dat werkt. Stom dat ik daar niet aan gedacht heb. Dank je ![]() | ||||||||
mschol | maandag 22 augustus 2011 @ 11:11 | |||||||
op je werk worden ads geblokkeerd? ![]() | ||||||||
Sitethief | maandag 22 augustus 2011 @ 11:15 | |||||||
Yup, ![]() | ||||||||
MrNiles | maandag 22 augustus 2011 @ 14:46 | |||||||
Wat is een handige manier om veel files (foto's) te uploaden voor een foto-album? En kan dat direct in een database? Ik wil ze natuurlijk niet 1-voor-1 allemaal aanklikken. Liever niet met ftp. Graag zou ik het foto album wat meer automatiseren, zodat anderen kunnen inloggen en een fotoalbum kunnen aanmaken. Dus geen ftp, mapjes aanmaken op de server..dat soort dingen | ||||||||
themole | maandag 22 augustus 2011 @ 14:48 | |||||||
Eh die foto's in de database opslaan is niet heel erg handig en snel. Je kan je foto's denk ik beter op de server opslaan en in de database een url naar het plaatje stoppen, mocht je nog meer informatie bij het plaatje willen opslaan. Dus een tabel met: Id | Beschrijving | URL | andere zinnige info die je wilt opslaan. En snel veel foto's uploaden is meestal wel ftp. ![]() | ||||||||
MrNiles | maandag 22 augustus 2011 @ 14:53 | |||||||
en een zipje uploaden met foto's en deze laten unzippen op de server? | ||||||||
Intrepidity | maandag 22 augustus 2011 @ 14:56 | |||||||
Jep, dat werkt prima, ook regelmatig ingebouwd. Het is natuurlijk niet erg laagdrempelig want niet iedere gebruiker weet hoe te zippen. | ||||||||
MrNiles | maandag 22 augustus 2011 @ 14:57 | |||||||
maar degene die ik het wil laten doen die is wel zo handig ![]() welke functie is dat op de server want niet alles is enabled bij mij hosting | ||||||||
mschol | maandag 22 augustus 2011 @ 14:59 | |||||||
http://www.php.net/manual/en/zip.requirements.php | ||||||||
Light | maandag 22 augustus 2011 @ 15:00 | |||||||
Kan, maar als de bestanden groter worden, is dat niet handig meer. Het http-protocol is niet echt geschikt voor het uploaden van bestanden. | ||||||||
GlowMouse | maandag 22 augustus 2011 @ 15:01 | |||||||
Maar het werkt wel goed, zie youtube, flickr, picasa, etc. | ||||||||
Catbert | maandag 22 augustus 2011 @ 15:08 | |||||||
Wat een onzin. | ||||||||
Light | maandag 22 augustus 2011 @ 15:19 | |||||||
Die gebruiken dan ook geen plain html file upload ![]() ![]() | ||||||||
MrNiles | maandag 22 augustus 2011 @ 15:21 | |||||||
Wat is groot.. alle foto's worden al geresized voordat ze worden geupload 10MB max denk ik enne..met zlib zou dat moeten kunnen? | ||||||||
Sitethief | maandag 22 augustus 2011 @ 15:35 | |||||||
Waarom mag dit:
Maar dit SELECT `products.ProductName` FROM `products` [/php] Mag niet, maar moet zo: SELECT products.ProductName FROM `products` [/php] | ||||||||
Sitethief | maandag 22 augustus 2011 @ 15:36 | |||||||
grr doe ik het weer..... | ||||||||
Catbert | maandag 22 augustus 2011 @ 15:42 | |||||||
Je kunt een post ook gewoon editen he? Ik vermoed dat `products.ProductName` niet mag omdat het uit 2 delen bestaat, tabel en kolom. Vermoed dat `products`.`ProductName` wel mag. Maar ik doe al jaren niks meer met MySQL. | ||||||||
Sitethief | maandag 22 augustus 2011 @ 15:45 | |||||||
Niet als je werkgever adds op FOK blokkeert, waardoor alle Javascript functies op FOK niet werken, inclusief, quote, edit etc. | ||||||||
Light | maandag 22 augustus 2011 @ 15:45 | |||||||
Zo geef je aan dat je de kolom "products.ProductName" uit de tabel "products" wilt selecteren:
Zo geef je aan dat je kolom "ProductName" uit de tabel "products" wilt selecteren:
| ||||||||
Light | maandag 22 augustus 2011 @ 15:45 | |||||||
Andere werkgever zoeken ![]() | ||||||||
Sitethief | maandag 22 augustus 2011 @ 15:52 | |||||||
Dank je Light, klinkt eigenlijk ook best logisch ![]() | ||||||||
Catbert | maandag 22 augustus 2011 @ 16:20 | |||||||
Als je continue Fokt lost dat probleem zichzelf wel op ![]() | ||||||||
ursel | maandag 22 augustus 2011 @ 16:26 | |||||||
Op welke van de 2 posts reageer je nu? ![]() | ||||||||
Sitethief | maandag 22 augustus 2011 @ 16:33 | |||||||
@ursel, de eerste ![]() | ||||||||
Luchtkoker | maandag 22 augustus 2011 @ 18:37 | |||||||
Niet in de tijd van je baas FOK!ken? ![]() | ||||||||
Chandler | woensdag 24 augustus 2011 @ 15:20 | |||||||
Weer een htaccess vraagje voor de experts; hoe kan ik er voor zorgen dat mijn 'dynamiche' subdomeinen die beginnen met www.subdomein.domein.nl terecht (geredirected worden naar) komen op subdomein.domein.nl? | ||||||||
GlowMouse | woensdag 24 augustus 2011 @ 15:29 | |||||||
Zoiets? Met %1 wijs je terug naar je RewriteCond RewriteCond %{HTTP_HOST} ^(.*)\.www\.(.*)$ RewriteRule .* http://%1.%2%{REQUEST_URI} [R=301,L] | ||||||||
dirkjo | woensdag 24 augustus 2011 @ 22:10 | |||||||
Ik heb even jullie hulp nodig, kom er zelf echt niet uit. Ik krijg via een array data binnen met de volgende structuur:
Nu wil ik dat PHP het eerste stukje pakt, dus de 'username'. Nu heb ik het met preg_replace voor elkaar gekregen om 'Voornaam Achternaam' te pakken, maar niet 'username'. Iemand van jullie die de oplossing weet? ![]() | ||||||||
GlowMouse | woensdag 24 augustus 2011 @ 22:16 | |||||||
Kun je die array niet beter indelen? Je kunt gewoon alles pakken tot de eerste spatie, met strpos en substr. | ||||||||
Tijn | woensdag 24 augustus 2011 @ 23:30 | |||||||
Tenzij de usernames natuurlijk spaties kunnen bevatten, zoals hier op Fok! ![]() | ||||||||
Arcee | woensdag 24 augustus 2011 @ 23:46 | |||||||
Dan doe je tot positie haakje minus 1. ![]() ![]() Zo:
| ||||||||
Tijn | woensdag 24 augustus 2011 @ 23:54 | |||||||
Ik wist niet dat je zo'n PHP-held was, Arcee ![]() | ||||||||
GlowMouse | donderdag 25 augustus 2011 @ 00:15 | |||||||
dan is strpos($var, ' (') foutongevoeliger | ||||||||
dirkjo | donderdag 25 augustus 2011 @ 00:18 | |||||||
Array kan ik zelf niet veel aan doen, wordt geleverd vanuit Twitter. Maar ik ga even kijken naar je strpos/substr idee. Alvast bedankt! ![]() Twitter kent (gelukkig) geen spaties in de usernames, dus dat zou het probleem niet moeten zijn. Ik ga het nu proberen, zal laten weten hoe het gelukt is ![]() | ||||||||
GlowMouse | donderdag 25 augustus 2011 @ 00:18 | |||||||
welke twitter api gebruik je dan? | ||||||||
Tijn | donderdag 25 augustus 2011 @ 00:19 | |||||||
Dan kun je ook nog exploden op spatie. Het eerste element van de array die daaruit komt, is je username. | ||||||||
dirkjo | donderdag 25 augustus 2011 @ 00:27 | |||||||
Oke ik ben blind, ik dacht dat de enige manier van zoeken op twitter de volgende was:
Nu heb ik alleen de GET Search volledig over het hoofd gezien ![]() Nu ga ik wel eerst proberen om het via de eerste methode te doen, deze heeft namelijk geen rate limit. Jullie horen nog wel wat het uiteindelijk is geworden, ga er nu mee aan de slag | ||||||||
dirkjo | donderdag 25 augustus 2011 @ 00:42 | |||||||
De explode manier werkt, alleen botste ik op het probleem dat de curl optie maar iets van 15 mensen geeft. Ga dus toch gebruik maken van de GET Search. In ieder geval bedankt ![]() | ||||||||
GlowMouse | donderdag 25 augustus 2011 @ 00:48 | |||||||
Het enige wat je moet doen, is atom door json vervangen. En met rpp en page kun je pagineren. | ||||||||
dirkjo | donderdag 25 augustus 2011 @ 03:10 | |||||||
Het is (zo goed als) af. Voor het eerst dat ik volledig zelf zo'n 'lasstig' script heb geschreven ![]() Thanks guys ![]() | ||||||||
cablegunmaster | donderdag 25 augustus 2011 @ 14:59 | |||||||
Vraagje hoe kan ik deze code van de pagina lenen? ik weet de pagina maar nu is de vraag hoe ik alles tussen <dd> en </dd> eraf kan halen met identifier: <dt><label>Afgeleverd op:</label></dt> Probleem is dat ik de pagina niet zelf beheer waarop dit staat waardoor simpele preg _matches niet werken ![]() [ Bericht 3% gewijzigd door cablegunmaster op 25-08-2011 15:08:48 ] | ||||||||
Sitethief | donderdag 25 augustus 2011 @ 15:30 | |||||||
Pak de source code en gooi deze door een custom geschreven parser? | ||||||||
cablegunmaster | donderdag 25 augustus 2011 @ 15:31 | |||||||
probleem 1 parser? ![]() ![]() hoe begin ik hieraan ^^? | ||||||||
Pakspul | donderdag 25 augustus 2011 @ 15:32 | |||||||
DOM standaard in PHP kun je hier heel mooi voor gebruiken, dan pak je gewoon de waarde van bepaalde elementen. http://www.php.net/manual/en/book.dom.php Google even naar wat voorbeelden en je kunt het zo toepassen., | ||||||||
mstx | donderdag 25 augustus 2011 @ 15:37 | |||||||
Ik gebruik deze: http://simplehtmldom.sourceforge.net/ Werkt super simpel. | ||||||||
Sitethief | donderdag 25 augustus 2011 @ 16:28 | |||||||
Oeh vet handig, thanks voor de link. Alleen jammer dat het JQuery style is en niet MooTools, maar dan nog. | ||||||||
mstx | donderdag 25 augustus 2011 @ 16:35 | |||||||
De Mootools $$() functie werkt (bijna) hetzelfde als de JQuery $() functie. Dus in dit geval zit er geen verschil tussen "JQuery style" en "Mootools style". | ||||||||
Sitethief | donderdag 25 augustus 2011 @ 16:56 | |||||||
Kijk, dat wist ik dan weer niet ![]() ![]() | ||||||||
Lamzak_ | vrijdag 26 augustus 2011 @ 17:25 | |||||||
Ik heb een probleem. Ik heb een online applicatie. Deze applicatie zorgt ervoor dat een andere applicatie aangeroepen wordt. Deze draait op de server en genereerd een PDF bestand. De site moet checken of de PDF gegenereerd is. Zodra dit klaar is moet die automatisch geopend worden. Dat PDF bestand genereren duurt ongeveer 45 seconden. Ik wil gedurende 90 seconden elke vijf seconden een query op een database uitvoeren, want daaruit kan ik halen of de pdf klaar is. Als die klaar is, moet hij gelijk geopend worden. Als hij na 90 seconden nog niet klaar is moet er een time-out error komen. Hoe moet ik dit in hemelsnaam doen. | ||||||||
mschol | vrijdag 26 augustus 2011 @ 17:31 | |||||||
roep applicatie op server aan en retouneer aan de gebruiker een"even wachten" pagina waar je met Jquery elke 5 seconden een check doet op de database? geen idee of het de meest efficiente manier is, maar denk ik wel de meest gebruikersvriendelijke manier ![]() | ||||||||
Ouqz | vrijdag 26 augustus 2011 @ 17:31 | |||||||
Heb je ervaring met PHP of is het stellen van deze vraag in dit topic een gokje? Wat is trouwens het doel dat je wilt bereiken met het openen van de PDF als hij klaar is? | ||||||||
cablegunmaster | vrijdag 26 augustus 2011 @ 17:39 | |||||||
ik krijg de hele tijd met een count query de verkeerde waarde's eruit. nu vraag ik me af of dit aan de join kan liggen? Ik krijg gekke waarde's als 7- 15, terwijl er maar 3 rijen aan de query voldoen als ik gewoon alle velden oproep met een *. | ||||||||
Pakspul | vrijdag 26 augustus 2011 @ 17:40 | |||||||
JOIN verkeerd? Vooral handig dat je de query niet toont dan kunnen we je heel goed helpen ![]() | ||||||||
cablegunmaster | vrijdag 26 augustus 2011 @ 17:41 | |||||||
nah de join is goed ![]() zit de hele tijd in phpmyadmin uit te testen. query is niet belangrijk. count negeert de left join. ![]()
waar product_id = 45 en negeert hij de hele join. dat is het geval. Resultaat is 37 terwijl er maar 3 regels staan als ik de hele left join weghaal geeft hij alle 37 regels weer die ik niet wil hebben maar alleen de join count wil ik hebben. dus probeerde ik te specificeren met
krijg ik er 7, 15,15 uit wat eigenlijk hetzelfde is. [ Bericht 14% gewijzigd door cablegunmaster op 26-08-2011 17:52:43 ] | ||||||||
#ANONIEM | vrijdag 26 augustus 2011 @ 17:44 | |||||||
Vooral geen code posten, waarom zou je het makkelijker maken dan nodig is? | ||||||||
The_Terminator | vrijdag 26 augustus 2011 @ 17:56 | |||||||
En als je een right join doet ipv een left join? | ||||||||
cablegunmaster | vrijdag 26 augustus 2011 @ 17:58 | |||||||
Dan krijg ik het hetzelfde eruit het probleem is als volgt. ik wil een count uitvoeren; alleen door de group by krijg ik heel mooi 3 regels terug. Alleen de count negeert de group by en telt alle regels bij elkaar. Zal ik het anders moeten ombouwen tot een sub-query, ach kan het altijd proberen =). Fixed met subquery , voor interesse alsnog een antwoord weten of dit kan met een join ![]() [ Bericht 2% gewijzigd door cablegunmaster op 26-08-2011 18:12:10 ] | ||||||||
The_Terminator | vrijdag 26 augustus 2011 @ 18:15 | |||||||
Ik was er net achter idd, subquery met enkel een COUNT(*) geeft het aantal terug van de query die erbinnen zit. | ||||||||
Light | vrijdag 26 augustus 2011 @ 19:12 | |||||||
Dan schrijf je slecht onderhoudbare code. | ||||||||
The_Terminator | vrijdag 26 augustus 2011 @ 20:40 | |||||||
True, echter was het maar een probeersel wat uiteindelijk niet bleek te werken. Ik heb namelijk een keer hetzelfde probleem gehad en wist niet meer hoe ik het had opgelost. Mocht het wel werken dan is de boel altijd nog aan te passen zodat het wel duidelijk en goed te onderhouden is. Als ik dingen ga testen dan is het in den beginne sowieso nooit de meest elegante code, ik pas het dan aan zodra het naar wens functioneerd. | ||||||||
GlowMouse | vrijdag 26 augustus 2011 @ 21:11 | |||||||
wie heeft je dat verteld? | ||||||||
cablegunmaster | vrijdag 26 augustus 2011 @ 21:22 | |||||||
![]() | ||||||||
Light | vrijdag 26 augustus 2011 @ 22:35 | |||||||
Ik zelf ![]() | ||||||||
GlowMouse | vrijdag 26 augustus 2011 @ 23:07 | |||||||
da's waar, je kunt altijd de tabellen omdraaien in je query | ||||||||
ursel | zaterdag 27 augustus 2011 @ 00:41 | |||||||
Wat kan een mens toch blij worden als een geniaal stukje code nog eens blijkt te werken, ![]() | ||||||||
Flepke | zaterdag 27 augustus 2011 @ 20:07 | |||||||
![]() | ||||||||
Flepke | zaterdag 27 augustus 2011 @ 20:15 | |||||||
Iemand trouwens nog goede tutorials/trucjes voor betere leesbaarheid/kortere code? Ik heb bijvoorbeeld nooit geweten dat:
| ||||||||
Tijn | zaterdag 27 augustus 2011 @ 20:40 | |||||||
Die curly braces zijn ook niet nodig, evenals het opslaan van het resultaat van $db->getALL in een aparte variabele. Het zou dus zelfs op één regel kunnen ![]()
| ||||||||
Tijn | zaterdag 27 augustus 2011 @ 20:44 | |||||||
Wat ik zelf trouwens vaak gebruik is de alternatieve if syntax, zeker om bv een variabele te zetten op basis van een voorwaarde. Ipv van dit:
doe ik vaak dit
| ||||||||
Thomass | zaterdag 27 augustus 2011 @ 20:46 | |||||||
Dat is best wel basic ![]() Kan ook zo:
En nog een grappige:
| ||||||||
Sitethief | maandag 29 augustus 2011 @ 11:36 | |||||||
Klopt het dat in MyISAM je met PDO->execute alleen parameters kunt meegeven aan SELECT statements en niet aan bijv. INSERT, want daar gaat het bij mij mis. SELECT gaat prima, maar INSERT weigert gewoon de parameters te gebruiken die ik meegeef. | ||||||||
Intrepidity | maandag 29 augustus 2011 @ 13:51 | |||||||
Nergens last van, ik gebruik het gewoon bij ieder soort query. Krijg je een melding terug van je database en/of PDO? | ||||||||
Sitethief | maandag 29 augustus 2011 @ 14:13 | |||||||
Nee
Alles wat er gebeurt is dat :name in de database wordt ingevuld, ipv wat ik meegeef. Als ik precies dezelfde functions gebruik om een SELECT te doen werkt het wel. | ||||||||
remi1986 | maandag 29 augustus 2011 @ 14:16 | |||||||
Moet je geen $name gebruiken? | ||||||||
Intrepidity | maandag 29 augustus 2011 @ 14:16 | |||||||
Je moet :name niet tussen aanhalingstekens zetten, dit doet PDO zelf. Nu gebruik je de string :name als waarde. Dus gewoon:
| ||||||||
Sitethief | maandag 29 augustus 2011 @ 14:22 | |||||||
Ah, dat ging er dus fout, dank je, en bij de SELECT werd de query al wel correct opgebouwd... ![]() | ||||||||
MrNiles | donderdag 1 september 2011 @ 16:02 | |||||||
ik kijk er volgens mij helemaal langs.. error: Undefined index: file dit is het form:
in de verwijdersext.php staat oa echo $_FILES["file"]["name"] maar dan krijg ik dus error: Undefined index: file print_r ($_FILES); geeft Array ( [Name] => Array ( [name] => blabla.zip maar ik krijg er de naam niet uit waar ga ik fout? | ||||||||
GlowMouse | donderdag 1 september 2011 @ 16:12 | |||||||
$_FILES['Name'] werkt, aan je print_r te zien. Ik geloof daarom niet dat je het eerste script voor uploaden gebruikt. | ||||||||
Catbert | donderdag 1 september 2011 @ 18:10 | |||||||
Nogal ja ![]() | ||||||||
MrNiles | vrijdag 2 september 2011 @ 13:45 | |||||||
dit is de juiste print_r Array ( [file] => Array ( [name] => mrniles.zip [type] => application/x-zip-compressed [tmp_name] => /tmp/phpUldFUG [error] => 0 [size] => 45758 ) ) | ||||||||
GlowMouse | vrijdag 2 september 2011 @ 13:46 | |||||||
dan werkt echo $_FILES["file"]["name"]; gewoon. | ||||||||
MrNiles | vrijdag 2 september 2011 @ 13:50 | |||||||
$Name= $_FILES['file']; echo$Name; geeft op scherm: Array | ||||||||
Tijn | vrijdag 2 september 2011 @ 13:51 | |||||||
Dat is heel wat anders dan dit
| ||||||||
MrNiles | vrijdag 2 september 2011 @ 13:52 | |||||||
ik kom er nu achter ![]() wat is het verschil precies? | ||||||||
GlowMouse | vrijdag 2 september 2011 @ 13:53 | |||||||
$Name= $_FILES['file']; echo$Name; is hetzelfde als: $bla = $_FILES['file']; echo $bla; of als: echo $_FILES['file']; | ||||||||
Tegan | vrijdag 2 september 2011 @ 13:56 | |||||||
$_FILES["file"]["name"] is gewoon een array array's waar $Name= $_FILES['file']; een array een andere naam geven is ofzo | ||||||||
MrNiles | vrijdag 2 september 2011 @ 13:56 | |||||||
dat snap ik maar wat gebeurt er nu extra als er $_FILES['file'][name'] staat | ||||||||
Tegan | vrijdag 2 september 2011 @ 13:57 | |||||||
Niets want $_FILES['file'][name'] bestaat nog niet neem ik aan. Dus error? | ||||||||
MrNiles | vrijdag 2 september 2011 @ 13:58 | |||||||
toch wel...dan krijg ik mrniles.zip te zien | ||||||||
GlowMouse | vrijdag 2 september 2011 @ 14:00 | |||||||
wat wil je dan? $bla = $_FILES['file']; echo $bla['naam']; | ||||||||
Tegan | vrijdag 2 september 2011 @ 14:00 | |||||||
Dan bestond die array array's al wel. Maar het punt blijft dat die twee dingen niet gelijk aan elkaar zijn ![]() | ||||||||
remi1986 | vrijdag 2 september 2011 @ 14:00 | |||||||
Als je een print_r van $_FILES doet, zie je precies hoe de array er na de POST uitziet. En let op hoofdletters. Is PHP gevoelig voor. | ||||||||
Dalando | zondag 4 september 2011 @ 21:51 | |||||||
Hoe kan ik kijken of een string in een externe webpagina zit? | ||||||||
Swetsenegger | zondag 4 september 2011 @ 21:53 | |||||||
http://nl.php.net/manual/en/function.file.php | ||||||||
Dalando | zondag 4 september 2011 @ 21:56 | |||||||
werkt hier niet. | ||||||||
Swetsenegger | zondag 4 september 2011 @ 22:02 | |||||||
Als je die link goed bekeken had, had je kunnen lezen dat 'file' content in een array inleest die jij vervolgens met een stristr probeert te doorzoeken. Er staat ook bij dat file_get_contents precies hetzelfde doet, maar de boel dan in een string zet.... | ||||||||
Dalando | zondag 4 september 2011 @ 22:10 | |||||||
doet het ook niet. | ||||||||
PiRANiA | zondag 4 september 2011 @ 22:21 | |||||||
file -> file_get_contents ![]() | ||||||||
Pakspul | zondag 4 september 2011 @ 22:22 | |||||||
En als je even handmatig de array nakijkt dan zie je wel dat 'zoek' er in voorkomt? Weet niet of in_array hoofdletter gevoelig is. | ||||||||
Dalando | zondag 4 september 2011 @ 22:23 | |||||||
ik heb ze beiden geprobeerd. ![]() | ||||||||
Swetsenegger | zondag 4 september 2011 @ 22:28 | |||||||
| ||||||||
GlowMouse | zondag 4 september 2011 @ 22:32 | |||||||
als je http://nl3.php.net/manual/en/function.strstr.php goed leest, leer je nog meer | ||||||||
Dalando | zondag 4 september 2011 @ 22:32 | |||||||
Hehe ![]() ![]() ![]() | ||||||||
Dalando | zondag 4 september 2011 @ 22:32 | |||||||
Gelukkig had ik het ook over stristr en niet strstr ![]() | ||||||||
GlowMouse | zondag 4 september 2011 @ 23:01 | |||||||
Gelukkig ben ik niet blind. | ||||||||
Sitethief | maandag 5 september 2011 @ 16:21 | |||||||
Waarom duurt een SELECT query op 1 miljoen records met een ORDER BY tot 5650 records (5601-5650 in de LIMIT) onder de 1 seconde (+/- 0,3), en zodra je hoger dan dat gaat duurt het eeuwig..... Is dit een of andere magische grens ofzo? Zonder ORDER BY duurt deze query altijd rond de 0,3 seconde... Database is MyISAM trouwens op een lokale dev machine. Query:
| ||||||||
Sitethief | maandag 5 september 2011 @ 16:23 | |||||||
Heel erg vaag dit
| ||||||||
GlowMouse | maandag 5 september 2011 @ 16:35 | |||||||
Er wordt een index op ProductID gebruikt he? Hij stopt zodra hij 5700 rijen gevonden heeft met %la%. Hij kan de eerste 5650 heel snel vinden, en de laatste heel langzaam omdat er dan veel rijen zijn die er niet aan voldoen. Doet het maar eens zo, dan zie je het gebeuren: SET @a:=1; SELECT @a,products.ProductName, products.ProductID FROM `products` WHERE (@a:=@a+1) AND products.ProductName LIKE '%la%' ORDER BY products.ProductID ASC LIMIT 5650,5700; | ||||||||
Sitethief | maandag 5 september 2011 @ 16:40 | |||||||
![]() ![]() | ||||||||
GlowMouse | maandag 5 september 2011 @ 16:43 | |||||||
Wel kijken naar wat hij teruggeeft voor @a! | ||||||||
Sitethief | maandag 5 september 2011 @ 16:49 | |||||||
1.031.768 (precies het aantal records met eentje meer) | ||||||||
GlowMouse | maandag 5 september 2011 @ 16:50 | |||||||
Per rij natuurlijk, en dan met de limiet spelen. | ||||||||
-Datdus- | dinsdag 6 september 2011 @ 10:44 | |||||||
Kan iemand mij makkelijk uitleggen hoe ik een array laat loopen met foreach? Het wil niet lukken met gegevens uit de database. ![]() | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 10:45 | |||||||
wat is je huidige code? | ||||||||
Tijn | dinsdag 6 september 2011 @ 10:48 | |||||||
Kun je een stukje output laten zien van print_r($jouw_array)? En wil je de inhoud van de array alleen weergeven of wil je de inhoud van de array wijzigen? | ||||||||
-Datdus- | dinsdag 6 september 2011 @ 10:52 | |||||||
Print_r geeft het bovenstaande terug. Hij haalt op dit moment alleen het eerste item op. Code:
| ||||||||
mstx | dinsdag 6 september 2011 @ 11:07 | |||||||
![]() | ||||||||
-Datdus- | dinsdag 6 september 2011 @ 11:10 | |||||||
Het werkt. Ik snap alleen niet wat die while loop doet. ![]() | ||||||||
Sitethief | dinsdag 6 september 2011 @ 11:19 | |||||||
Zolang mysql_fetch_assoc($sql) rows terug geeft, blijft de loop die in $posts stoppen. Zo stop je row voor row in $posts. | ||||||||
-Datdus- | dinsdag 6 september 2011 @ 11:23 | |||||||
Ah, oke ik denk dat ik het snap dankjewel. ![]() | ||||||||
Chandler | dinsdag 6 september 2011 @ 11:23 | |||||||
Waarom gebruik je niet de uitleg van php.net? http://nl.php.net/array http://nl.php.net/while http://nl.php.net/foreach het zou mooier zijn om het zo te doen!
http://nl.php.net/for http://nl.php.net/mysql_num_rows ps... als je een query opbouwt plaats je die in $sql als je een query uitvoert noem je die in het algemeen $query (is logischer) | ||||||||
-Datdus- | dinsdag 6 september 2011 @ 11:25 | |||||||
Dankje. ![]() | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 11:28 | |||||||
Dat is zeker niet mooier. | ||||||||
Chandler | dinsdag 6 september 2011 @ 11:29 | |||||||
Fijn dat je alles direct zo mooi onderbouwt ![]() | ||||||||
Sitethief | dinsdag 6 september 2011 @ 11:30 | |||||||
Het kan ook zo : [PHP/(My)SQL] voor dummies #92 | ||||||||
GI | dinsdag 6 september 2011 @ 11:42 | |||||||
Het kan wel nuttig zijn in situaties, die ook leesbaarheid van code bevorderd. Maar das niet in deze situatie zo iig. | ||||||||
Catbert | dinsdag 6 september 2011 @ 14:35 | |||||||
Wel beter. Het is compleet nutteloos om eerst alles in een array te stoppen in een loop, en daarna in een andere loop dit weer te geven. Verspilling van geheugen. | ||||||||
Pakspul | dinsdag 6 september 2011 @ 14:40 | |||||||
Als je het OO programmeert kun je er bijna niet omheen. Je voert eerst een query uit en deze geeft een datatable op en met deze datatable ga je de output opbouwen. Dan ram je dus eerst alle query informatie in een class (mogelijk de class nog in een collectie) en dan ga je er pas mee werken. | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 14:43 | |||||||
Als je je code een beetje overzichtelijk opbouwt dan verspil je inderdaad geheugen. | ||||||||
Catbert | dinsdag 6 september 2011 @ 14:46 | |||||||
Dan nog hoef je helemaal niet perse eerst alle classes op te bouwen en ze daarna te gebruiken, dat kun je prima per row doen. Als het kleine sets data zijn is het zeker geen issue, maar bij grote recordsets wel, dan wil je die echt niet eerst allemaal in 't geheugen opbouwen. Wat bedoel je? Stel elke row is een kb aan data, en je hebt 1000 rows. Het maakt nogal uit of je script 1MB aan geheugen moet alloceren of max 1kb. Vergeet niet dat je zo 100 requests tegelijkertijd af te handelen kunt hebben. | ||||||||
Chandler | dinsdag 6 september 2011 @ 14:47 | |||||||
Daar ben ik het dus niet geheel mee eens! juist door overzichtelijk te scripten (programmeren wil ik het niet noemen...) kun je juist geheugen besparen doordat je sneller je 'foutjes' ziet. Maar goed, mijn voorbeeld is goed genoeg maar dat vind jij niet... dus vertel eens waarom? kritiek geven ok!? maar dan ook graag uitleg waarom en hoe jij het zou doen! | ||||||||
Catbert | dinsdag 6 september 2011 @ 14:49 | |||||||
Sowieso is het gewoon dom om je zulke verkeerde dingen aan te leren als in een keer alles in een grote array plempen. Dat schaalt voor geen meter. | ||||||||
Pakspul | dinsdag 6 september 2011 @ 14:49 | |||||||
Daarom moet je eerst berg werk investeren om je code zo te krijgen dat je dataset dynamisch kunt krijgen. Zelf hoef ik geen query's meer te schrijven. Alleen even de classes aanmaken en die daar heb ik ook een script voor geschreven die dat doet voor mij, dus dat is gewoon een druk op de knop ![]() | ||||||||
Tijn | dinsdag 6 september 2011 @ 14:49 | |||||||
Twee loops is nergens voor nodig, lijkt mij. Maar ik gebruik wel liever foreach-loops dan for-loops, omdat het een simpelere syntax heeft en er daardoor overzichtelijker uitziet. | ||||||||
Chandler | dinsdag 6 september 2011 @ 14:55 | |||||||
Dat ben ik met je eens, vandaar mijn voorbeeld ![]() | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 14:56 | |||||||
De tijd dat een server net 100 MB geheugen tekort komt ligt alweer een decennium achter ons. Je redenering klopt ook niet: al voordat mysql_fetch_assoc wordt aangeroepen, zit de hele resultset in het geheugen van de webserver (of in het geheugen van de dbserver bij een unbuffered query). Veel ontwikkelaars vinden het overzichtelijker om de code en de opmaak van elkaar te scheiden, en met een echo en een mysql_fetch_assoc in dezelfde loop gebeurt dat niet. | ||||||||
mstx | dinsdag 6 september 2011 @ 15:03 | |||||||
Dat is voor mij inderdaad de reden om alles in 1 array te stoppen. En dan heb je ook 2 loopjes; 1 om de data op te halen en 1 in de template om het te presenteren. | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 15:05 | |||||||
Leesvoer: http://gathering.tweakers.net/forum/list_messages/1105254 Nog meer: http://www.ukuug.org/events/linux2002/papers/html/php/#section_2 | ||||||||
Catbert | dinsdag 6 september 2011 @ 15:13 | |||||||
Het is gewoon niet waar dat die hele resultset per definitie al in 't geheugen zit. Databaseservers zijn daar veel slimmer in. Als 2 queries dezelfde table benaderen hoeft deze niet 2 keer volledig in 't geheugen te zitten. Zal best, maar als je appserver onderuit gaat omdat je koste wat 't kost je code 'overzichtelijk' moet houden doe je echt iets fout. En met een fatsoenlijke template engine kun je prima je code en layout gescheiden houden zonder eerst volledige query results in 't geheugen te moeten laden. Beide zaken zijn met template engines prima te combineren. Jezelf aanleren alles eerst in 't geheugen te laden en er daarna wat mee te gaan doen is gewoon onverstandig. | ||||||||
Tijn | dinsdag 6 september 2011 @ 15:16 | |||||||
Hoe geef je je data aan je template engine door zonder het in het geheugen te laden dan? | ||||||||
Pakspul | dinsdag 6 september 2011 @ 15:19 | |||||||
Weg te schrijven op de HDD en deze haalt de template engine weer op en zal deze echoen? ![]() | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 15:24 | |||||||
Als jij twee queries uitvoert op MySQL dan wordt er twee keer geheugen gealloceerd voor de resultset. Het is wel waar dat wanneer je zelf een array vult, er meer geheugen nodig is om die op te slaan omdat het opslaan minder efficiënt gebeurt. | ||||||||
Catbert | dinsdag 6 september 2011 @ 15:33 | |||||||
Door de template gewoon iedere keer de row te voeren in plaats van de hele resultset? Zelf doe ik al tijden niks meer met PHP maar in Java met bijvoorbeeld Spring of JSF is het prima mogelijk om data en layout volledig te scheiden maar wel een pagina per row op te bouwen. Natuurlijk is het voor een hobbyist die z'n eigen CMSje bouwt geen groot issue, maar jezelf aanleren alles eerst in geheugen te laden is m.i. niet de juiste weg. Ik weet niet hoe MySQL er mee omgaat maar in MSSQL gaat 'ie met 2 parallelle queries de intersectie van de data maar 1 keer in 't geheugen houden. Je hebt uiteindelijk eigenlijk alleen de rowids van de desbetreffende tables maar nodig, de rest van de data kun je aan de hand daarvan op de cursor doorgeven. | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 15:36 | |||||||
Ik geloof er helemaal niks van, dan zou MSSQL eerst moeten bepalen of resultsets wel gelijk zijn. Dat is met het oog op MVCC vrij inefficient. | ||||||||
Tijn | dinsdag 6 september 2011 @ 15:37 | |||||||
Maar je template engine moet al die data toch gevoerd krijgen voordat 'ie kan gaan beginnen met weergeven ervan? Wanneer je 'em de tweede row voert, waar slaat 'ie de eerste dan op als dat niet in het geheugen is? | ||||||||
Catbert | dinsdag 6 september 2011 @ 15:44 | |||||||
Hij kan prima een row renderen, net zoals je dat "met de hand" doet. Als een bepaalde tabel veel benaderd wordt gaat 'ie data cachen. Als beide resultsets de row behorende bij rowid X benaderen wordt die data gewoon via een lookup beschikbaar gemaakt. Als je naar een query explain kijkt zie je dat 'ie vaak joins e.d. eerst afhandelt, en pas daarna de data er bij gaat zoeken. Die data komt dan of van disk, of uit de cache. Zowel MSSQL als Oracle doen dat. Of MySQL dat ook doet weet ik niet, maar daar hoef ik gelukkig niet mee te werken. | ||||||||
GlowMouse | dinsdag 6 september 2011 @ 15:54 | |||||||
Raar verhaal, bij een query met een aggregated functie heb je het niet meer over rows in een tabel tenzij je de resultset als tabel beschouwt en dan de overhead wilt van het testen op gelijkheid. En heb je dan elke keer een roundtrip als je een rij ophaalt? | ||||||||
Catbert | dinsdag 6 september 2011 @ 17:27 | |||||||
Da's een ander verhaal. Ik zei in het begin al dat dit een issue is bij grote resultsets. Nu hebben we het bovendien over randzaken. Punt is dat het m.i. verkeerd is jezelf aan te leren iedere keer eerst alles in geheugen te lezen omdat het in veel gevallen relatief inefficient is. Dat je het doet op plekken waar het niet inefficient is, of soms juist efficienter; prima. Het gaat mij puur om wat een beginner zichzelf aanleert. Of in ieder geval dat die beginner weet waar hij mee bezig is. | ||||||||
-Datdus- | donderdag 8 september 2011 @ 12:13 | |||||||
Kan iemand me helpen met deze formule:
De weging wordt bij elkaar opgeteld en maakt 4. 6,5 keer 1 is 6,5 en 7 keer 3 is 21 en wordt bij elkaar 27,5 nu moet het totaal gedeeld worden door de weging en dan komt het uiteindelijke cijfer eruit. Ik hoop dat jullie met nog snappen. Ik heb met een mysql query dit gedaan maar geeft niet het goeie antwoord.
AAH IK WORD GEK! | ||||||||
Tegan | donderdag 8 september 2011 @ 12:16 | |||||||
Je moet ook wtotal gebruiken en niet weging. | ||||||||
GlowMouse | donderdag 8 september 2011 @ 12:16 | |||||||
En de laatste SUM weglaten. | ||||||||
Tegan | donderdag 8 september 2011 @ 12:18 | |||||||
Ja dat dus. Dacht even dat je nog SUM(itotaal) moest hebben, maar dat is niet ![]() | ||||||||
-Datdus- | donderdag 8 september 2011 @ 12:30 | |||||||
Even proberen. ![]() | ||||||||
MrNiles | donderdag 8 september 2011 @ 13:04 | |||||||
probeer een file te unzippen maar werkt niet...krijg ook geen foutmelding wat er fout zou kunnen gaan. Path is goed, daar geeft ie wel een foutmelding op als de niet komt
| ||||||||
GlowMouse | donderdag 8 september 2011 @ 13:05 | |||||||
'werkt niet' ![]() | ||||||||
Pakspul | donderdag 8 september 2011 @ 13:07 | |||||||
Hoever ben je zelf al gekomen met debuggen? Error_reporting(E_ALL); al keertje aangepleurd? | ||||||||
MrNiles | donderdag 8 september 2011 @ 13:25 | |||||||
volgende n00b vraag dan wat is de max size van een te uploaden zip 30files in zip, totaal 2,01MB = geen probleem 40files in zip, totaal 2,45MB = Missing archive file 'uploads/40f245.zip' het bestand wordt niet geupload ligt dat aan de grootte van het bestand? [ Bericht 71% gewijzigd door MrNiles op 08-09-2011 14:52:17 ] | ||||||||
KomtTijd... | donderdag 8 september 2011 @ 15:04 | |||||||
Even mijn glazen bol zoeken om te zien hoe jij je server hebt ingesteld, BRB! | ||||||||
Tegan | donderdag 8 september 2011 @ 15:09 | |||||||
itotaal/wtotaal dus. | ||||||||
remi1986 | donderdag 8 september 2011 @ 15:13 | |||||||
phpinfo(); iets van max_upload_size .. of file_upload .. weet zo uit mijn hoofd niet meer welke het is. | ||||||||
MrNiles | donderdag 8 september 2011 @ 15:24 | |||||||
fijn als je dat weet maar je kan me toch ook zeggen dat dat in phpinfo te vinden is thanx remi het is dus upload_max_filesize 10M blijft mijn vraag staan..waarom de zipfile niet kan worden geupload | ||||||||
remi1986 | donderdag 8 september 2011 @ 15:31 | |||||||
Als je na de POST een print_r van $_FILES doet, staat het bestand er dan wel? Zo ja: Pak je het bestand direct vanuit de tmp map uit? Of verplaats je het bestand eerst naar een "vaste" locatie op de server? (move_uploaded_file) Ik zou dat laatste doen, en dan het bestand uitpakken. | ||||||||
MrNiles | donderdag 8 september 2011 @ 15:35 | |||||||
idd dat laatste ik ga ff proberen het lijkt "spontaan" te zijn opgelost ![]() kan het zijn dat een slechte verbinding oorzaak kan hebben, heb al heel de dag last van slechte verbinding met FOK!, opnieuw inloggen etc naja...vreemd..maar het werkt na alleen koffie drinken misschien meer koffie ga drinken | ||||||||
Intrepidity | donderdag 8 september 2011 @ 20:51 | |||||||
Ondanks dat het al opgelost is een opmerking, een verkeerd ingestelde max_post_size wil ook wel eens voor problemen zorgen. Als die bijvoorbeeld op 2M staat kun je je max filesize wel op een terabyte zetten, als je het niet naar je server toe mag posten houdt het op. Kort gezegd beïnvloedt upload_max_filesize de maximale grootte per bestand, en max_post_size de maximale grootte van de hele post. | ||||||||
Chandler | vrijdag 9 september 2011 @ 09:26 | |||||||
Ik heb het zelfde gezeur met een website van een klant, uploaden gaat goed (move_uploaded_file geeft geen error en zegt dat het bestand is 'gemoved') maar als ik dan op de volgende pagina kom en in de directory kijk waar het bestand zou moeten staan staat er niets!!!! Hoster heeft wel meer vage problemen dus gaan we eerst een verhuizen en het dan nog eens proberen! (toch geen pcextreme hé ![]() | ||||||||
Wouter2006 | vrijdag 9 september 2011 @ 11:04 | |||||||
lijkt mij dan een rechtenprobleem? | ||||||||
Flepke | vrijdag 9 september 2011 @ 13:31 | |||||||
Inderdaad, mapje even 777 chmodden, testen ofdat het dan wel werkt, zoja dan de rechten goed instellen. | ||||||||
MrNiles | vrijdag 9 september 2011 @ 20:21 | |||||||
bij deze
krijg ik Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' ik zie m niet..iemand anders wel? | ||||||||
Tegan | vrijdag 9 september 2011 @ 20:24 | |||||||
Lekker inconsequent gebruik van ' en ". Loop die allemaal maar eens na. | ||||||||
Light | vrijdag 9 september 2011 @ 20:28 | |||||||
| ||||||||
MrNiles | vrijdag 9 september 2011 @ 20:29 | |||||||
dat heb ik dus gedaan..maar ik ben ff de draad kwijt ![]() | ||||||||
KomtTijd... | vrijdag 9 september 2011 @ 20:29 | |||||||
Hou eens op met developen in notepad.exe. Zelfs de syntaxhighlighter van FOK! pikt 'm er feilloos uit. | ||||||||
Light | vrijdag 9 september 2011 @ 20:31 | |||||||
In HTML tags altijd "" gebruiken, en strings met daarin HTML tags moeten dus tussen '' staan. | ||||||||
MrNiles | vrijdag 9 september 2011 @ 20:32 | |||||||
sorry ![]() ik zal eens iets opzoeken..roep eens iets | ||||||||
Tegan | vrijdag 9 september 2011 @ 20:33 | |||||||
Notepad++. | ||||||||
KomtTijd... | vrijdag 9 september 2011 @ 20:33 | |||||||
SRSLY? Ik dacht ik maak een grapje ![]() Probeer geany of notepad++. Voor PHP vind ik geany relaxter. | ||||||||
MrNiles | vrijdag 9 september 2011 @ 20:37 | |||||||
ik zit in plesk te klooien omdat ik ook in een vrij uurtje op het werk iets kan doen..daar mag ik niets installeren op de pc en geen eigen laptop op het netwerk kan aansluiten | ||||||||
Tegan | vrijdag 9 september 2011 @ 20:39 | |||||||
Je kunt ook offline programmeren. Sterker nog, dat zou je moeten doen. En pas online gooien als je jezelf hebt overtuigd dat het wel gaat werken. | ||||||||
KomtTijd... | vrijdag 9 september 2011 @ 20:44 | |||||||
NP++ laat zich heel makkelijk portable installeren. Geany is volgens mij ook een portable variant van. en anders: http://www.cdolivet.com/editarea/ | ||||||||
MrNiles | vrijdag 9 september 2011 @ 20:58 | |||||||
thanx voor de tips ga ik zeker iets mee doen | ||||||||
GlowMouse | zaterdag 10 september 2011 @ 00:15 | |||||||
http://nl3.php.net/manual/en/function.highlight-string.php | ||||||||
boem-dikkie | zaterdag 10 september 2011 @ 02:10 | |||||||
Voor het geval je er nog niet uit bent. ".$album."/thumbs/klein_".$files[$rand]. " Kijk daar nog eens goed naar. Je sluit je stukje php met " waardoor /thumbs/klein_ nergens meer tussen staat. Dit moet wel werken denk ik.
| ||||||||
MrNiles | zondag 11 september 2011 @ 20:58 | |||||||
het is min of meer gelukt alle foutmeldingen zijn verdwenen maar het script doet niet wat ik had gehoopt ![]() http://www.phphulp.nl/php(...)h-fotoalbum-v3/1491/ is een fotoalbum die vanuit mapjes zelf "sub"albums aanmaakt werkt prima maar op de voorbeeld pagina is het de overzichtspagina met linkjes EN plaatjes. In het script van phphulp heb ik alleen linkjes Ik had gehoopt met een aangepast script wat erbij stond dit te kunnen maken..maar helaas.. ook gaat mijn php kennis lang niet vergenoeg om zoiets zelf te maken | ||||||||
Tegan | zondag 11 september 2011 @ 21:03 | |||||||
Wij kunnen het wel weer voorkauwen maar wellicht kun je het hele project beter uitbesteden. | ||||||||
MrNiles | zondag 11 september 2011 @ 21:14 | |||||||
ik vraag er toch ook niet om, leg alleen even uit waar ik mee bezig ben als het me verder niet meer lukt..so be it..dan maar alleen linkjes tis maar voor de hobby..gelukkig hoef ik er niet rijk van te worden ![]() | ||||||||
KomtTijd... | zondag 11 september 2011 @ 21:16 | |||||||
Heb je wellicht GD niet geinstalleerd staan? [/wilde suggestie] En waarom maak je niet gewoon lekker een picasa-album ofzo? | ||||||||
boem-dikkie | zondag 11 september 2011 @ 21:16 | |||||||
Wat voor aangepast script wat erbij stond? | ||||||||
MrNiles | zondag 11 september 2011 @ 21:23 | |||||||
Wat is GD? (edit: GD support = enabled) Ik ben zelf een beetje aan het pielen met php als hobby daarom eigenlijk geen picasa, Heb nu zo gemaakt dat er een zipje wordt geupload naar de site deze wordt uitgepakt in de juiste dir en zo een fotoboek ontstaat Het is gewoon om te spelen eigenlijk, beetje bezig in m'n vrije tijd @boem-dikkie: verder omlaag in de comments staat er een aangepast script, ik wist niet precies wat het ging doen, de omschrijving was niet heel goed erbij als ik het nu terug lees is het denk ik een oplossing voor een ander probleem maar dit was de extra code erin
[ Bericht 2% gewijzigd door MrNiles op 12-09-2011 10:23:34 ] | ||||||||
wdn | donderdag 15 september 2011 @ 10:32 | |||||||
MySQL... Ik heb een display van `relaties` en daarnaast een tabel van enkele miljoenen (10+) records waarbij op basis van een veld `relatie` en `jaartal` moet gaan controleren wat de `omzet` (sum) is over 3 jaren. Dus... relatie, naam. omzet 2011, omzet 2010, omzet 2009. Maar zelfs met `indexering` op de tabel is het veel en veels te langzaam (30+ secondes) om alles bij elkaar te rapen. Nu ben ik een beetje aan het rondkijken en kwam ik `stored procedures` tegen. Is dit wat ik nodig heb om hiermee bijvoorbeeld een schaduwtabel te maken die real time ge-update wordt als de hoofdtabel opgebouwd wordt? Of is er een betere oplossing? Ik weiger om in de tabel `relaties` een veld op te nemen met de omzetgegevens voor die jaren ;-) | ||||||||
GlowMouse | donderdag 15 september 2011 @ 10:38 | |||||||
Onduidelijk verhaal. Wat is de output van SHOW CREATE TABLE, en wat is je query? | ||||||||
Catbert | donderdag 15 september 2011 @ 12:04 | |||||||
Ik vermoed dat 'ie een overzicht wil tonen van alle relaties met de omzet daarbij. Als hij geen index heeft op het veld wat die informatie bevat in de grote tabel zal 'ie voor zo'n overzicht iedere keer die hele tabel door moeten ploegen. | ||||||||
GlowMouse | donderdag 15 september 2011 @ 12:14 | |||||||
| ||||||||
Catbert | donderdag 15 september 2011 @ 12:18 | |||||||
Nee, want hij heeft vermoedelijk wel een index op relatie id. Tenminste, dat hoop ik, anders is het wel heel erg dom. | ||||||||
GlowMouse | donderdag 15 september 2011 @ 12:28 | |||||||
Zelfs met zo'n index is het goed mogelijk dat hij voor elke relatie in zijn overzicht de hele tabel doorloopt. Doorlopen moet je dan zien elke datapage raadplegen (als is het maar voor een record per page). | ||||||||
Tijn | donderdag 15 september 2011 @ 12:30 | |||||||
Dan heb je niet de juiste indices geplaatst. | ||||||||
GlowMouse | donderdag 15 september 2011 @ 12:43 | |||||||
Wat een snelle conclusie, een kenner? | ||||||||
Tijn | donderdag 15 september 2011 @ 13:27 | |||||||
Als er verder geen informatie wordt gegeven, kun je verder niet zoveel zeggen dan "je hebt het verkeerd gedaan" ![]() | ||||||||
Intrepidity | donderdag 15 september 2011 @ 14:02 | |||||||
Probeer eens een 'explain' voor je query te gooien om te kijken waar prestatiewinst te behalen valt. http://dev.mysql.com/doc/refman/5.0/en/explain.html | ||||||||
Pakspul | donderdag 15 september 2011 @ 14:37 | |||||||
Ik heb net query gemaakt en gekeken met explain wat hij toevoegt, maar ik zie wat hij doet, maar niet waar hoeveel tijd inging zitten en hoeveel percentage de belasting van een onderdeel was. Zou wel tof zijn als hij zegt dat een bepaalde join 60% van de belasting vraagt en dat je daar kunt beginnen voor verbetering. | ||||||||
Catbert | donderdag 15 september 2011 @ 14:45 | |||||||
Je weet niks als hij niet post welke indices hij heeft. De MSSQL query explain geeft overigens gewoon aan hoe zwaar een bepaald deel is. | ||||||||
Pakspul | donderdag 15 september 2011 @ 15:15 | |||||||
MySQL geeft echt weinig informatie ![]() | ||||||||
GlowMouse | donderdag 15 september 2011 @ 15:17 | |||||||
Je kunt het gewoon niet lezen. | ||||||||
Pakspul | donderdag 15 september 2011 @ 15:18 | |||||||
Geef dan eens een mooi voorbeeld. | ||||||||
GlowMouse | donderdag 15 september 2011 @ 15:31 | |||||||
Nee, want het kost gewoon tijd voor je het kunt. | ||||||||
Cue_ | vrijdag 16 september 2011 @ 15:47 | |||||||
Oke ik zit met het volgende, vanuit een pakket wordt de volgende code gegenereerd die ik in mijn database moet gooien:
Nu krijg ik de volgende foutmelding:
| ||||||||
ViPeRII | vrijdag 16 september 2011 @ 16:05 | |||||||
Een van je tabelnamen die geselecteerd worden, bestaat niet | ||||||||
Catbert | vrijdag 16 september 2011 @ 16:12 | |||||||
Kolomnaam volgens mij. | ||||||||
Cue_ | vrijdag 16 september 2011 @ 16:16 | |||||||
de kolommen/tabellen komen overeen met het datamodel | ||||||||
wdn | vrijdag 16 september 2011 @ 17:13 | |||||||
Onzin. Echt. Nee, de index staat op de relatie natuurlijk (als ik die niet zet gaat mysql onderuit ![]() Het is puur de hoeveelheid data (op dit moment 12.3 miljoen records) en hoeveelheid geheugen die ik kan gebruiken. Maar uit de discussie hier kan ik al bepalen dat mijn vraag met 'nee' beantwoord moet worden: stored procedures is niet de oplossing. relaties kent een 1500 records. factuur historie 12.3m records. factuur historie wordt op bedrijf, debiteur, contract factuur, regel doorlopen (en dat is de volledige primary key met debiteur ertussen). Geforceerd met een USE INDEX. Ik had het idee om een soort van afgeleide tabel boven op deze tabel te leggen (met een PK bedrijf, debiteur, jaar, omzet). | ||||||||
Intrepidity | vrijdag 16 september 2011 @ 17:15 | |||||||
Idee om je factuur historie tabel te gaan sharden? Dat zou de boel een stuk moeten versnellen. | ||||||||
dirkjo | zondag 18 september 2011 @ 14:39 | |||||||
Ik gebruik op dit moment voor m'n website een paging system:
Alleen er zijn nu zoveel pagina's dat de hele pagina wordt gevuld ermee. Nu heb ik zitten denken hoe ik ervoor kan zorgen dat ik '1 2 3 ... 30 31 32' krijg (of iets dergelijks), maar ik kom er niet uit. Iemand die mij kan helpen? | ||||||||
Chandler | zondag 18 september 2011 @ 17:34 | |||||||
Kun je hier wat mee? ![]() http://www.pfz.nl/scripts/147-class-paginanavigatie/ | ||||||||
Tijn | zondag 18 september 2011 @ 18:53 | |||||||
Gewoon een ifje in je for-loop die kijkt of $x kleiner is dan 3 en een ifje die kijkt of $x groter is dan $pages - 3 toch? | ||||||||
dirkjo | zondag 18 september 2011 @ 19:05 | |||||||
Ik ga eens even kijken naar een if statement ![]() | ||||||||
GlowMouse | zondag 18 september 2011 @ 19:29 | |||||||
Dat is erg inefficiënt, je kunt beter in die for-loop $x in 1x flink ophogen als je bij de puntjes aanbelandt. | ||||||||
dirkjo | zondag 18 september 2011 @ 20:17 | |||||||
Het is me nu gelukt op de volgende manier;
| ||||||||
Pakspul | zondag 18 september 2011 @ 21:14 | |||||||
Tijdje geleden heb ik een functie geschreven dit tot de dag van vandaag nog goed te gebruiken is. Volledig aanpasbaar door opgeven van parameters en hij poept netjes de pagina string uit.
![]() | ||||||||
ralfie | zondag 18 september 2011 @ 22:30 | |||||||
isset($decoration['breaker']) === true isset poept toch alleen maar true of false? waarom die === true ? | ||||||||
Tijn | zondag 18 september 2011 @ 23:58 | |||||||
Met een beetje geluk mag ik binnenkort een applicatie gaan schrijven die mailtjes moet importeren uit een POP3 mailbox (dmv van de imap-functies) en data moet exporteren naar iCalender voor gebruik in Google Calender en Apple iCal. Best tof lijkt me, want het zijn allebei dingen die ik nog nooit gedaan heb, maar volgens mij ook niet supermoeilijk te bouwen zijn ![]() | ||||||||
Pakspul | maandag 19 september 2011 @ 07:47 | |||||||
Ik vind
Maar dat is persoonlijk ![]() | ||||||||
mstx | maandag 19 september 2011 @ 08:17 | |||||||
Bij isset() is dat nutteloos want die returned sowieso alleen true of false. | ||||||||
Pakspul | maandag 19 september 2011 @ 08:18 | |||||||
En dan komt reden 1 om de hoek kijken ![]() | ||||||||
wobbel | dinsdag 20 september 2011 @ 11:14 | |||||||
Ik heb een tabel met producten, en een tabel met verkocht. Tabel "producten" 1 | Product A | 25,- 2 | Product B | 100,- 3 | Product C | 33,- Tabel "verkocht" 1 | 25-8-2011 1 | 26-8-2011 1 | 27-8-2011 2 | 27-8-2011 2 | 28-8-2011 3 | 25-8-2011 Hoe krijg ik nu een overzicht hoeveel producten er verkocht zijn van elk? Dus ongeveer dit: Product A | 3x Product B | 2x Product C | 1x | ||||||||
mstx | dinsdag 20 september 2011 @ 11:16 | |||||||
SELECT producten.naam, SUM(*) FROM verkocht LEFT JOIN producten ON verkocht.pro_id=producten.pro_id GROUP BY verkocht.pro_id zoiets? | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 11:19 | |||||||
SELECT producten.naam, COUNT(*) FROM verkocht LEFT JOIN producten ON verkocht.pro_id=producten.pro_id GROUP BY producten.pro_id | ||||||||
wobbel | dinsdag 20 september 2011 @ 11:22 | |||||||
Bedankt ![]() ![]() Array ( [Naam] => Draytek Vigor 2710N-A [Aantal] => 1 ) Array ( [Naam] => EnGenius M36 [Aantal] => 1 ) Array ( [Naam] => Draytek Vigor 2820N-A [Aantal] => 2 ) | ||||||||
Intrepidity | dinsdag 20 september 2011 @ 11:22 | |||||||
Geen COUNT(*) maar COUNT(id) doen. Bij * pakt hij de index niet mee ![]() | ||||||||
mstx | dinsdag 20 september 2011 @ 11:22 | |||||||
Oja het moet inderdaad een count zijn, foutje. ![]() | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 11:34 | |||||||
COUNT(*) is exact hetzelfde als COUNT(kolom die NOT NULL is) | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 11:35 | |||||||
En de GROUP BY is ook op een andere tabel, anders krijg je producten met 0 bestellingen niet te zien. | ||||||||
Intrepidity | dinsdag 20 september 2011 @ 11:36 | |||||||
Klopt, maar toch pakt hij een eventuele index niet mee tenzij je expliciet een kolom met index specificeert. MySQL is een hacky stuk code. Zolang je gewoon de PK in een COUNT gebruikt is er niets aan het handje ![]() | ||||||||
wobbel | dinsdag 20 september 2011 @ 11:43 | |||||||
Ik heb verkocht en producten al omgewisseld bij de LEFT JOIN, maar hoe krijg ik ook de producten waarvan er 0 zijn verkocht? ![]() ![]() | ||||||||
Intrepidity | dinsdag 20 september 2011 @ 11:44 | |||||||
Overigens is het ook een stuk sneller om de relatie om te draaien. selecten uit producten en verkocht hieraan joinen. Dit omdat er een stuk meer records in verkocht dan in producten zitten. | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 11:56 | |||||||
Ik heb hier aardig wat mee getest en dit heb ik nog nooit gezien. Heb je een dataset, een query, en een MySQL-versienummer waarbij dit optreedt? | ||||||||
Thomass | dinsdag 20 september 2011 @ 11:57 | |||||||
GlowMouse, hoe ben jij ooit zon MySQL-baas geworden als ik mag vragen? Ik kan zelf nog steeds niet altijd voorspellen wat het query plan wordt van bepaalde queries, is dat een kwestie van de source erop naslaan of heb je misschien een handige referentie voor me? De manual behandelt dit niet echt in-depth volgens mij ![]() Concrete vraag; ik heb zoiets:
Ik wil een ordening van alle items waarnaar content_id refereert op basis van MAX(created_at), stel ik heb dus 1 bepaald content_id, hoe bepaal ik dan de "offset", d.w.z. hoeveel content_id's zijn er met lagere MAX(created_at)? Zelf heb ik dit
Werkt prima maar ik vind het, a: spuuglelijk, b: ik heb een vermoeden dat het beter/korter/mooier moet kunnen. EDIT: Ik vind het ook vervelend dat ik FROM_UNIXTIME / UNIX_TIMESTAMP telkens moet gebruiken, ik werk met UTC timestamps dus de conversie van/naar is onnodig en vervelend. Is er een instelling voor de default weergave als UTC stamp? (ik heb hem niet kunnen vinden) | ||||||||
Intrepidity | dinsdag 20 september 2011 @ 11:57 | |||||||
Ik heb nu geen tijd (@ werk), maar zal vanavond eens wat gaan testen ![]() Kan idd ook wezen dat het al lang weer uit MySQL is. Het is een behoorlijke legacy-werkwijze van mij ![]() | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 12:04 | |||||||
![]() http://shop.oreilly.com/product/9780596101718.do en http://www.mysqlperformanceblog.com/ helemaal lezen, en veel uitproberen. De meeste kennis heb ik in een maandje of 2-3 wel verworven. | ||||||||
Intrepidity | dinsdag 20 september 2011 @ 12:05 | |||||||
En het is ook een kwestie van veel EXPLAIN gebruiken en kijken waar je kunt optimaliseren. Nadat je dat 10 keer hebt uitgevonden doe je het volautomatisch ![]() | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 12:09 | |||||||
zo?
| ||||||||
GlowMouse | dinsdag 20 september 2011 @ 12:14 | |||||||
Volgens mij bedoel je op regel 6 een < ipv een >. Voor een < kun je zoiets doen:
| ||||||||
GlowMouse | dinsdag 20 september 2011 @ 12:17 | |||||||
Deel 3 komt eraan: http://www.xaprb.com/blog(...)mysql-third-edition/ | ||||||||
Sitethief | dinsdag 20 september 2011 @ 12:51 | |||||||
Is EXPLAIN ook goed in te zetten als je een PDO class hebt opgebouwd waarmee je al je queries afhandelt? | ||||||||
Intrepidity | dinsdag 20 september 2011 @ 13:00 | |||||||
Binnen je applicatie heb je er niet zo veel aan afaik. Je gebruikt het direct op MySQL om je queries te optimaliseren voordat je ze in je applicatie gaat gebruiken. | ||||||||
Thomass | dinsdag 20 september 2011 @ 13:10 | |||||||
Het is verwarrend ja maar ik bedoelde wel een groter dan. Item met meest recent comment heeft 0 predecessors, t item met het op-ena-meest recente comment heeft 1 predecessor enz. Bedankt i.i.g. voor je bijdrage, maar ik heb wel de indruk dat het meer werk doet dan mijn oplossing. Kan dat kloppen? Als ik zo een tabelletje bouw en er wat data in prop:
Dan krijg ik bij jouw resp. mijn query dit (subquery apart doen en invullen maakt geen verschil)
| ||||||||
Sitethief | dinsdag 20 september 2011 @ 13:11 | |||||||
Hmm, ik doe mijn JOINS toch bijna alleen op de resultset, of daar nou heel veel snelheidsverbetering in zit vraag ik me af. | ||||||||
GlowMouse | dinsdag 20 september 2011 @ 14:11 | |||||||
Mijn query zou bij weinig resultaten idd sneller draaien als er ook een index stond op (created_at,comment_id). | ||||||||
StM | woensdag 21 september 2011 @ 17:31 | |||||||
Dat hangt er maar net vanaf. Wij werken hier bv aan een behoorlijk grote (web)applicatie met enkele duizenden query's waarvan ook een flink deel automatisch gegenereerd is. We hebben pagina's met meer dan 100 query's en dan is het nogal fijn als je niet alles met de hand hoeft na te lopen. We hebben daarom op de devservers gewoon een analyser meelopen die voor iedere query ook een explain uitvoert en deze analyseert. Als het systeem denkt dat het beter kan zet hij netjes een warnings icoontje bij onze query log die onder iedere pagina staat met de values, tijd etc. Klik je er op krijg je de explain, backtraces en nog veel meer debug informatie ![]() | ||||||||
GlowMouse | woensdag 21 september 2011 @ 17:40 | |||||||
Dit werkt veel lekkerder: http://www.mysqlperforman(...)maatkit-and-tcpdump/ | ||||||||
Flepke | woensdag 21 september 2011 @ 17:48 | |||||||
Nosql | ||||||||
GlowMouse | woensdag 21 september 2011 @ 17:50 | |||||||
HandlerSocket | ||||||||
StM | woensdag 21 september 2011 @ 18:04 | |||||||
Hmm een automatische tool die een samenvatting op iedere pagina zet vs een losse tool die je handmatig moet draaien, eerst een netwerk dump maken en dan analyseren. Ik weet het wel ![]() Die tool heeft imo meer zn nut om op productieservers te draaien zodat je een snapshot kan nemen over vele requests en zo de zware query's er uit te vissen, niet voor development ![]() Je klinkt imo als een random persoon die gewoon de laatste hype na blaat. | ||||||||
GlowMouse | woensdag 21 september 2011 @ 18:18 | |||||||
EXPLAIN is in het begin nog wel handig om de echte ondingen eruit te vissen. Je moet dan bij development je database al wel goed vullen. Bij draaiende servers is hij met name handig omdat hij ook relatief snelle queries eruit vist die heel vaak draaien. | ||||||||
StM | woensdag 21 september 2011 @ 18:22 | |||||||
Klopt, je hebt uiteraard data nodig. Wij hebben gewoon een paar maanden oude (geanonimiseerde) kopie van productie draaien. | ||||||||
wobbel | woensdag 21 september 2011 @ 21:20 | |||||||
Ik heb een hele domme, maar ik ben moe en komer niet meer op ![]() SELECT * FROM producten en dan waarvan 'prijs' 15 EN/OF 25 is Ik wil een array krijgen met alle producten die 15 EN/OF 25 euro zijn ![]() | ||||||||
Tijn | woensdag 21 september 2011 @ 21:24 | |||||||
Wat is het verschil tussen en/of en gewoon of?
| ||||||||
wobbel | woensdag 21 september 2011 @ 21:26 | |||||||
![]() ![]() Ik doe trouwens altijd WHERE (veld = 'waarde' OR veld = 'waarde2') met haakjes. Moet niet uitmaken toch? ![]() | ||||||||
Diabox | woensdag 21 september 2011 @ 21:29 | |||||||
Maakt niet uit, zolang je maar consistent blijft in gebruik ervan (wel zo netjes). | ||||||||
wobbel | woensdag 21 september 2011 @ 21:30 | |||||||
Dat ben ik altijd wel gelukkig ![]() ![]() | ||||||||
Dalando | woensdag 21 september 2011 @ 23:45 | |||||||
Ik heb een getal. 1940239315. En ik moet het leesbaar maken via PHP, dus 1.940.239.315 ofzo. Hoe? | ||||||||
BBQSausage | woensdag 21 september 2011 @ 23:52 | |||||||
number_format(); | ||||||||
Dalando | woensdag 21 september 2011 @ 23:58 | |||||||
| ||||||||
Catbert | donderdag 22 september 2011 @ 09:33 | |||||||
Helpt ook als je weet waarop je moet zoeken, formatting dus ![]() | ||||||||
wobbel | donderdag 22 september 2011 @ 10:03 | |||||||
- dom geneuzel, niet gelezen - | ||||||||
Chandler | donderdag 22 september 2011 @ 16:32 | |||||||
Weet iemand hoe ik het volgende vrij simpel kan maken? Ik heb 1 database met een paar velden. gebruiker, type, naam en inhoud. nu wil ik deze tabel uitlezen maar tegelijk in de zelfde query bepalen of er van de naam meerdere in het tabel voorkomen met de gegeven where voorbeeld:
inhoud van database
nu zie je dat appels er 3x in voorkomt met gebruikers id 1 dus wil ik als uitkomst van de query het volgende hebben.
Hoe krijg ik dit voor elkaar? zit er al een tijd mee te pielen, ook geprobeerd met FROM t1, t1 t2 Iemand? | ||||||||
GlowMouse | donderdag 22 september 2011 @ 16:36 | |||||||
SELECT t1.*,count(*) AS totaal FROM t1 JOIN t2 ON (t1.naam = t2.naam AND t1.gebruiker = t2.gebruiker) GROUP BY t1.gebruiker,t1.type,t1.naam WHERE t1.gebruiker = 1 ORDER BY t1.gebruiker,t1.type,t1.naam | ||||||||
Chandler | donderdag 22 september 2011 @ 19:12 | |||||||
Duidelijk, die gaat in de verzameldoos! ![]() | ||||||||
Cue_ | vrijdag 23 september 2011 @ 10:25 | |||||||
Vraagje Ik heb een connectie naar mijn database in mijn command prompt. Voer daar dus leuk mijn qrys uit en alles. Maar hoe krijg ik de output die ik daar heb naar bv excel? | ||||||||
Tijn | vrijdag 23 september 2011 @ 10:32 | |||||||
Copy/paste? | ||||||||
Cue_ | vrijdag 23 september 2011 @ 10:35 | |||||||
Is leuk bij kleine lijstjes, maar bij grote bv? Geen leuke command voor? | ||||||||
Tijn | vrijdag 23 september 2011 @ 10:38 | |||||||
Ik maak zelf meestal een CSV-file als het nodig is om data in Excel te importeren. fputcsv() kan je daarbij helpen, maar je zult er wel een klein scriptje omheen moeten schrijven om de juiste data in de juiste file te krijgen. | ||||||||
Cue_ | vrijdag 23 september 2011 @ 10:47 | |||||||
oke, via php script doen dus. ![]() | ||||||||
remi1986 | vrijdag 23 september 2011 @ 10:51 | |||||||
Er zijn ook PHP classes voor http://phpexcel.codeplex.com/ of simpel met de juiste headers http://forums.digitalpoint.com/showthread.php?t=60681 | ||||||||
Cue_ | vrijdag 23 september 2011 @ 11:08 | |||||||
tnx ![]() | ||||||||
Chandler | vrijdag 23 september 2011 @ 11:30 | |||||||
Heeft iemand een simpel regexje liggen die het volgende doet? ik heb een blog url http://www.blog.nl/mijnblog/123-dit-is-mijn-titel.html nu wil ik alleen het cijfer gedeelte van 123 ophalen en niets meer en niets minder. Nu kan ik natuurlijk opzoek gaan naar de eerste - maar wil dit eigenlijk liever met een regexje doen ![]() Regexje net gedeleted door overschrijven van pagina ![]() | ||||||||
Thomass | vrijdag 23 september 2011 @ 12:57 | |||||||
In woorden: match een forward slash, dan een of meer getallen, dan een of meer niet-forward slashes, dan het einde van de string. Lukt het daarmee? | ||||||||
GI | vrijdag 23 september 2011 @ 13:01 | |||||||
Waarom doe je niet gewoon http://www.blog.nl/mijnblog/123/dit-is-mijn-titel ? | ||||||||
mstx | vrijdag 23 september 2011 @ 13:02 | |||||||
Waarom? | ||||||||
Pakspul | vrijdag 23 september 2011 @ 13:13 | |||||||
gebruik strpos om de eerste - (streepje) op te zoeken en substr dan vanaf aantal karakters dat je URL lang is tot de positie van het eerste streepje. | ||||||||
Sitethief | vrijdag 23 september 2011 @ 13:29 | |||||||
Iemand ervaring met PDO + InnoDB? Insert queries die met PDO + MyISAM goed liepen doen het met InnoDB niet via PDO, wel direct in de database. Kheb al flink gezocht naar informatie hier over maar kan niet echt specifiek deze case vinden. Bij Inserts via PDO met InnoDB met gebruik van BindParam() gaat het mis. BindParam() geeft wél true terug, en debugDumpParams () geeft ook aan dat de parameters ook gebonden zijn. Maar er wordt gewoon ':name' ipv 'NaamVanObject' geinsert. Iets wat nog vervelender is als ':key' als string ipv als int in een foreign key veld geinsert wordt (of iig een poging). Ik heb geen zin om de functionaliteiten van PDO volledig te om zeilen alleen maar omdat Innodb hier blijkbaar niet goed mee om gaat. | ||||||||
GI | vrijdag 23 september 2011 @ 13:49 | |||||||
Of een implode van de url op / en dan het laatste resultaat imploden op - en dan de eerste pakken ? | ||||||||
Thomass | vrijdag 23 september 2011 @ 14:04 | |||||||
Zeer leesbaar uiteraard | ||||||||
GI | vrijdag 23 september 2011 @ 14:27 | |||||||
Ja, want leesbare code krijg je natuurlijk door op die manier te coderen... |