GlowMouse | dinsdag 15 februari 2011 @ 13:36 | |||||
![]() cd niet bijgeleverd Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt ![]() Vorige delen: Via de zoekfunctie Zie ook: • PHP Dataverwerking • Officiële PHP website • PHP Documentatie • MySQL Reference Manual • Yet Another PHP Faq • PHP Cheat Sheet • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc Tutorials: • W3Schools PHP • W3Schools SQL Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP | ||||||
Chandler | dinsdag 15 februari 2011 @ 13:39 | |||||
Top GlowMouse! ik ben weer van de partij! ![]() @GlowMouse; het inserten van 1.500.000 records in je tabellen (tags/tag_links) kosten aardig wat tijd, is dat normaal? | ||||||
GlowMouse | dinsdag 15 februari 2011 @ 13:40 | |||||
Meer dan een uurtje mag het niet kosten. Indices tijdelijk uitzetten (niet verwijderen) helpt, storage engine tweaken soms ook. | ||||||
remi1986 | dinsdag 15 februari 2011 @ 13:40 | |||||
Lang leve bigdump ![]() | ||||||
Chandler | dinsdag 15 februari 2011 @ 14:17 | |||||
@GlowMouse, lol het duurt zekers 8 uur maar dat is dan ook incl indices, bestanden en andere tabellen vullen... heb zelf totaal geen ervaring met de engine te tweaken dus moet ik gewoon maar even rustig afwachten (tis een slome asus laptop ![]() @remi1986; dat is nu geen optie aangezien ik werk met on duplicate key en ruim 250K aan bestanden ![]() | ||||||
Chandler | woensdag 16 februari 2011 @ 08:57 | |||||
Pff mijn import is voltooid en heb nu de volgende query; die er volgens mij nog steeds lang over doet.
deze duurt wel 0.3 seconden voor maar 241K tags / 1.500k aan tag_links Kan ik deze nog verder optimaliseren? | ||||||
remi1986 | woensdag 16 februari 2011 @ 09:12 | |||||
Je doet
Wat alle kolommen selecteert. Heb je ze allemaal nodig? Misschien kan je alleen de kolommen selecteren die je echt nodig hebt. Volgens mij scheelt dat toch weer iets. | ||||||
Chandler | woensdag 16 februari 2011 @ 09:19 | |||||
klopt er zouden een paar kolommen af kunnen maar zou niet weten of dat echt wel een besparing oplevert (extreme besparing)... maar zal het proberen! -edit- geprobeerd totaal geen extra preformance winst ![]() | ||||||
remi1986 | woensdag 16 februari 2011 @ 09:31 | |||||
Oke, naja viel te proberen. Je query is eigenlijk ook helemaal niet zo lang en haalt maar 20 records op. Vond op http://www.debianadmin.com/top-84-mysql-performance-tips.html nog een lijst met performance tips. Misschien staat er nog wat tussen. Ik weet niet in hoeverre die lijst goed is. Just trying to help ![]() | ||||||
Chandler | woensdag 16 februari 2011 @ 09:35 | |||||
Alle hulp is welkom! en zo leren we allerbeide weer wat meer ![]() ![]() | ||||||
Light | woensdag 16 februari 2011 @ 10:07 | |||||
Met goedgeplaatste indices moet je een eind kunnen komen, volgens mij ![]() | ||||||
GlowMouse | woensdag 16 februari 2011 @ 10:33 | |||||
![]() http://gathering.tweakers.net/forum/list_messages/1429432 | ||||||
Light | woensdag 16 februari 2011 @ 10:46 | |||||
Oh, dat had ik nog niet eens gezien, maar dat is helemaal niet te indexeren. Dus met een goede index kun je ook niets oplossen, simpelweg omdat een goede index niet mogelijk is. Chandler, LIKE %cool% komt op hetzelfde neer als de Dikke Van Dale pakken en alle woorden waar een Q in staat opzoeken. Dat moet je niet willen. | ||||||
Emery | woensdag 16 februari 2011 @ 14:49 | |||||
Weet iemand wat hier fout gaat?
Ik wil dat hij alle data van vandaag en ná vandaag laat zien. Data van voor vandaag dus niet. Hij geeft nu gewoon 0 resultaat. Als ik inplaats van NOW(), $vandaag = date("d-m-Y"); gebruik en $vandaag achter WHERE invul laat hij álle resultaten zien inplaats van alleen de >=. Ben ongetwijfeld dom bezig, maar goed, kom er niet uit. | ||||||
remi1986 | woensdag 16 februari 2011 @ 14:51 | |||||
Werken datum velden in MySQL niet in Y-m-d formaat? | ||||||
Emery | woensdag 16 februari 2011 @ 14:52 | |||||
Hij zet de datum als unix_timestamp in een varchar veld. | ||||||
remi1986 | woensdag 16 februari 2011 @ 14:53 | |||||
dan moet je
gebruiken denk ik aangezien het anders geen timestamp is | ||||||
GlowMouse | woensdag 16 februari 2011 @ 14:55 | |||||
mktime | ||||||
remi1986 | woensdag 16 februari 2011 @ 14:58 | |||||
Overigs doe je
en
moet dat dan niet datum zijn i.p.v. agendadatum? | ||||||
Emery | woensdag 16 februari 2011 @ 14:58 | |||||
Nee, want als je daar agendadatum van maakt gaat hij vervolgens WHERE doen op de unixtimestamp die al is omgezet volgens mij. | ||||||
remi1986 | woensdag 16 februari 2011 @ 15:13 | |||||
Klopt idd. Maar dan kan je toch gewoon een timestamp maken met strtotime of mktime en dan kijken welke varchar daar boven zit? Ik heb zelf even een testtabel gemaakt met een varchar waar ik 2 timestamps in heb gezet. Die van 1-1-2011 en 10-10-2011. Een in de toekomst en één in het verleden. Als ik dan
krijg ik ze beide en met >= niks | ||||||
Emery | woensdag 16 februari 2011 @ 15:19 | |||||
Succes. | ||||||
remi1986 | woensdag 16 februari 2011 @ 15:20 | |||||
Opgelost? | ||||||
Light | woensdag 16 februari 2011 @ 15:27 | |||||
Een unix timestamp is gewoon een getal, kan dus prima in een INT-veld ![]() En verder zou ik de datum gewoon als timestamp uit de database halen. Je kunt op een veel later moment (namelijk als je alles op het scherm zet) nog wel bepalen hoe die datum precies op het scherm moet verschijnen. | ||||||
Chandler | woensdag 16 februari 2011 @ 17:29 | |||||
Ik heb je topic meerdere keren door gelezen maar kan niet vinden wat ik fout doe! Daarbij komt dat ik niets anders weet om te zoeken op tags, en aangezien ik dat wel wil heb ik dit geprobeerd. Kun je mij wijzen op,mijn fouten zodat ik er van kan leren? | ||||||
GlowMouse | woensdag 16 februari 2011 @ 17:49 | |||||
Vergelijk mijn queries maar met jouw queries. Ik heb per tag één id. | ||||||
Chandler | woensdag 16 februari 2011 @ 18:04 | |||||
Dat heb ik ook, maar ik heb meerdere tags per plaatje | ||||||
Flepke | woensdag 16 februari 2011 @ 18:19 | |||||
Simpel tooltje om timestamp om te zetten naar utc+1 http://tools.pcextreme.nl/?page=date | ||||||
GlowMouse | woensdag 16 februari 2011 @ 18:48 | |||||
Dat sluit mijn db-opzet niet uit. | ||||||
Chandler | woensdag 16 februari 2011 @ 19:54 | |||||
Klopt, maar wijs mij dan op het gene wat ik fout doe want nu snap ik er de balle van.... | ||||||
GlowMouse | woensdag 16 februari 2011 @ 20:03 | |||||
Jij koppelt meer tags aan één tag-id. | ||||||
Chandler | woensdag 16 februari 2011 @ 23:23 | |||||
nee, ook niet. Ik gebruik precies de tabellen die jij ook gebruikt in je voorbeeld op tweakers! tenzij je het hebt over de 'link' tabel tussen mijn plaatjes en de tags... maar dat is ook nodig voor mijn systeem want aan 1 tag per plaatje heb ik weinig! ![]() | ||||||
GlowMouse | woensdag 16 februari 2011 @ 23:40 | |||||
waarom gebruik je dan LIKE '%cool%' en niet ='cool'? | ||||||
Chandler | donderdag 17 februari 2011 @ 00:05 | |||||
omdat ik eventueel ook tags wil pakken die een deel van het woord bevatten!, of denk je dat dat over de top is? | ||||||
GlowMouse | donderdag 17 februari 2011 @ 00:07 | |||||
oh, je moet altijd met hele tags werken | ||||||
Chandler | donderdag 17 februari 2011 @ 00:12 | |||||
LOL, maar heb je ook een idee of ik dit eventueel voor delen van tags kan gebruiken of moet ik dan over een heel andere opzet gaan nadenken? zo niet dan houden we het op hele! ![]() | ||||||
GlowMouse | donderdag 17 februari 2011 @ 00:14 | |||||
| ||||||
Emery | donderdag 17 februari 2011 @ 01:44 | |||||
Hmm. Ik weet niet wat ik heb gedaan maar vanmiddag deed mijn script nog wat hij moest doen (gewoon de datum die is ingevuld in het formulier naar unix_timestamp omzetten en in de database pleuren) maar opeens (volgens mij heb ik niks veranderd?) doet hij het alleen nog maar de datum van vandaag in de database zetten.
Die variabelen $maand, $dag en $jaar verkrijgt hij door $maand = $_POST['maand']; et cetera. | ||||||
Tegan | donderdag 17 februari 2011 @ 01:47 | |||||
| ||||||
Emery | donderdag 17 februari 2011 @ 01:51 | |||||
Lijkt me sterk dat het daaraan ligt? Hij deed het vanmiddag gewoon goed en toen heb ik ook geen 0,0,0 gebruikt. Overigens is nu opeens de webserver van de website waar ik aan het testen ben down. Godver. | ||||||
Tegan | donderdag 17 februari 2011 @ 01:53 | |||||
Enigste wat me opviel. Verder weet ik het ook niet ![]() Lijkt me dat er vandaag al iets raars was met de server omdat hij nu down is. Dus ik denk dat het daaraan ligt. Als het eerder nooit een probleem was. | ||||||
Emery | donderdag 17 februari 2011 @ 01:58 | |||||
Ik denk dat er iets fout gaat in de POST want als ik in mijn 'uw bericht is toegevoegd'-message $dag, $maand en $jaar echo krijg ik gewoon $dag, $maand en $jaar te zien in plaats van de waardes die zijn ingevuld. Apart. | ||||||
Tegan | donderdag 17 februari 2011 @ 01:59 | |||||
Wat geeft vardump($mktijd) en wat is de unixtimestamp van vandaag? Hm, het is vast een fout in de postwaarden doorsturen dan. | ||||||
Emery | donderdag 17 februari 2011 @ 02:11 | |||||
Oké, dat is het ook niet. Het ligt aan mijn wijzigingsformulier denk ik. Hij voegt ze nu prima toe, zodra ik in mijn wijzigingsformulier de datum aanpas slaat hij hem niet goed op in de database. Als ik daar $maand e.d. echo laat hij overigens wél de goede (nieuwe) data zien na het opslaan. Dus dan gaat er iets fout bij de mktime() om het in de database op te slaan denk ik. Als hij geen waarden vindt in de variabelen bij mktime($maand, $blabla), ziet hij het dan gewoon als mktime()? Want als hij dat doet kan het wel kloppen dat hij vandaag in de database zet. | ||||||
Tegan | donderdag 17 februari 2011 @ 02:14 | |||||
vardump(mktime()) en je hebt je antwoord.
| ||||||
Tegan | donderdag 17 februari 2011 @ 02:17 | |||||
Ik weet het denk ik. Als je mktime() dus false is of een foute waarde heeft dan komt er automatisch vandaag in de database omdat het veld niet leeg mag zijn ofzo? if ($mktijd) { voer in } else { error } | ||||||
Emery | donderdag 17 februari 2011 @ 02:21 | |||||
Jup. Krijg de unixtimestamp van dit moment als ik dat doe. Géén idee waarom hij het niet doet maar in ieder geval weet ik nu waar de fout zit. | ||||||
Emery | donderdag 17 februari 2011 @ 02:25 | |||||
Et voila. Blijkbaar maakt het hem bij een INSERT niet uit dat er geen 0, 0, 0, staat in de mktime() en bij een UPDATE wel.. 0, 0, 0 toegevoegd in mktime() en hij werkt. ![]() | ||||||
Tegan | donderdag 17 februari 2011 @ 02:29 | |||||
Haha, dus mijn eerste opmerking was de fout ![]() | ||||||
Emery | donderdag 17 februari 2011 @ 02:32 | |||||
Haha ongeveer wel ja. Maar toen dacht ik nog dat het aan de INSERT lag. En niet aan het update script. Nou ja, bedankt voor het meedenken! | ||||||
MrNiles | donderdag 17 februari 2011 @ 08:48 | |||||
omdat het toevoegen van een kolom dmv een variable niet echt goed werk ontvangen hier moet ik dus redelijk opnieuw beginnen om het nu een beter inzicht te krijgen hoe ik de db moet opbouwen heb ik jullie opbouwende kritiek nodig ![]() ik wil dus dat een gebruiker op een bepaalde datum kan aangeven of hij wel of niet aanwezig is tabel 1 uniek gebruikers id (G_id) gebruikers naam (G_name) tabel 2 afspraak id (A_id) datum wat waar tabel 3 G_id A_id aanwezig (j/n/?) Tabel 3 zal voor elke unieke afspraak zijn: Tabel 3 voor datum1 Tabel 4 voor datum2 Tabel 5 voor datum3 etc etc Klopt deze opzet? | ||||||
remi1986 | donderdag 17 februari 2011 @ 09:14 | |||||
Je hebt die extra tabellen niet nodig. Je hebt aan een koppeltabel genoeg met g_id en a_id. Staat de gebruiker gekoppeld aan de afspraak (welke al een datum hebben), dan komt hij/zij. Anders niet. | ||||||
remi1986 | donderdag 17 februari 2011 @ 09:19 | |||||
Stel je wil weten welke gebruikers vandaag komen
of als je timestamps gebruikt
[ Bericht 1% gewijzigd door remi1986 op 17-02-2011 09:29:24 (Query was niet goed) ] | ||||||
Light | donderdag 17 februari 2011 @ 09:33 | |||||
Als je timestamps gebruikt, kan het makkelijker:
En mysql_real_escape_string() lijkt me niet direct nodig als je weet dat de variabele altijd een gegenereerd datumveld bevat. | ||||||
remi1986 | donderdag 17 februari 2011 @ 09:39 | |||||
Ja kan ook. En ben met je eens dat escapen niet nodig is, maar ik doe het zelf altijd standaard. Als het straks uit bijvoorbeeld POST data komt, waar je eerst een datum moet kiezen is het weer user input. [ Bericht 12% gewijzigd door remi1986 op 17-02-2011 09:45:32 ] | ||||||
MrNiles | donderdag 17 februari 2011 @ 09:53 | |||||
maar de gebruiker met zelf ergens kunnen aangeven of hij wel of niet aanwezig kan zijn dit moet toch ergens opgeslagen worden.... ooh..tijdens het typen bedenk ik me..je slaat alleen op als hij WEL aan wezig is.. hmm...en als ik 3 verschillende statussen wil hebben...JA NEE en ONBEKEND | ||||||
remi1986 | donderdag 17 februari 2011 @ 09:55 | |||||
Dan voeg je die toe aan die koppeltabel.. a_id,g_id,status 1,1,Ja Je kan dan in de JOIN nog aangeven als je een bepaalde status wil | ||||||
MrNiles | donderdag 17 februari 2011 @ 09:57 | |||||
maar dan moet ik voor die status een tabel maken want voor elke andere datum kan een andere status zijn | ||||||
remi1986 | donderdag 17 februari 2011 @ 09:59 | |||||
Nee is niet nodig op zich, want gebruiker 2 kan voor afspraak 1 een status NEE/ONBEKEND hebben. Je koppelt een gebruiker aan een afspraak. Dezelfde gebruiker kan op voor een andere afspraak een andere status hebben. Je kan wel een tabel maken met de statussen. Dan krijg je dus 1,1,1 in de koppeltabel, maar met maar 3 statussen zou ik dat niet doen. | ||||||
MrNiles | donderdag 17 februari 2011 @ 10:26 | |||||
ik probeer het te snappen he :p ik wil dat een tabel automatisch wordt aangemaakt zo min mogelijk (geen) handwerk zoals eerder door jullie aangegeven mag ik niet kolommen toevoegen bv aanwezig_$datum1 hoe kan ik tegelijkertijd meerdere datums voorleggen aan gebruikers? en hoe kan ik die in een tabel dan bewaren? | ||||||
remi1986 | donderdag 17 februari 2011 @ 10:34 | |||||
De kolommen tabellen (edit pfff het is nog vroeg ![]() Je kan dan afspraken maken (kan je iets voor maken, of je voert nieuwe afspraken in de database in). Deze afspraken hebben een datum en eventueel een plaats en onderwerp (wat is er te doen). Je kan dan deze afspraken uitlezen en de gebruiker laten invullen of deze wel komt (status ja), niet komt (status nee) of onbekend (status onbekend). Stel je hebt 2 afspraken
Koppeltabel:
Gebruiker 1 komt dan wel op afspraak 1, maar niet op afspraak 2 Gebruiker 2 komt niet op afspraak 1 en weet nog niet voor afspraak 2 Gebruiker 3 weet het nog niet voor afspraak 1 en komt wel op afspraak 2 Heb ff datumvelden gebruikt, je kan ook timestamps gebruiken, maar voor dit voorbeeld is het misschien wat duidelijker als er datums in staan | ||||||
KomtTijd... | donderdag 17 februari 2011 @ 10:38 | |||||
Welke joepmeloen verzint er nou kolomnamen als "waar" en "wat"? | ||||||
remi1986 | donderdag 17 februari 2011 @ 10:40 | |||||
Had even zijn voorbeeld gebruikt. Het is om het idee even duidelijk te maken. Zolang het idee maar van tafel is, dat voor iedere datum een aparte tabel/kolom moet worden aangemaakt ![]() | ||||||
MrNiles | donderdag 17 februari 2011 @ 10:43 | |||||
wat is het probleem? zolang je geen WHERE ofzo gaat gebruiken..dan lijkt me dat toch niet zo'n probleem of mis ik iets...stomme vraag..ik mis een heleboel op php/sql..maar goed.. | ||||||
KomtTijd... | donderdag 17 februari 2011 @ 10:52 | |||||
Het probleem is, dat als je geen beschrijvende kolomnamen gebruikt, je over een week al geen flauw benul meer hebt wat je query in hemelsnaam doet. | ||||||
MrNiles | donderdag 17 februari 2011 @ 11:01 | |||||
op die fiets...tja..hoeveel uitgebreider moet het zijn? ik weet toch wat die waar en wat betekenen in dit geval maar doe eens een voorstel hoe het zou kunnen zijn | ||||||
remi1986 | donderdag 17 februari 2011 @ 11:04 | |||||
Ik gebruik zelf altijd Engelse namen voor tabellen en kolommen. Maar als je het in het NL wilt houden kan je iets doen als locatie en onderwerp. Maar snap je het idee van de koppeltabel? | ||||||
MrNiles | donderdag 17 februari 2011 @ 11:10 | |||||
OK..ik heb het probleem eigenlijk met alle file namen..die ben ik nu dus ook maar beter aan het benoemen...edit2 en verwerken3 dan raak je al snel de draad kwijt ![]() hopelijk kom ik niet stom over als ik vraag dat dit een daadwerkelijk tabel is en niet iets gegenereerd vanuit een join oid | ||||||
remi1986 | donderdag 17 februari 2011 @ 11:12 | |||||
Helemaal als je Engelse en Nederlandse namen door elkaar gebruikt kan ik me dat voorstellen. Leer je aan om een bepaalde structuur (vaste namen en taal voor iets) te gebruiken. Nu weet je nog waar alles staat, maar weet je dat over een half jaar ook nog als je iets wil aanpassen? Die koppeltabel is inderdaad een vaste tabel. Die moet je dan ook gewoon aanmaken. | ||||||
MrNiles | donderdag 17 februari 2011 @ 11:30 | |||||
ik begin m te vatten nu ff bedenken hoe ik dit om kan toveren tot een goede (inner) join zodat ik iets om mijn scherm krijg te zien | ||||||
remi1986 | donderdag 17 februari 2011 @ 11:32 | |||||
Ik had ergens op deze pagina een voorbeeldquery gemaakt. Kan je vast wel wat mee. | ||||||
MrNiles | donderdag 17 februari 2011 @ 11:43 | |||||
ben aan het kijken
wat is die K bij INNER JOIN koppeltabel k benoem je die koppeltabel nu als k voor de vergelijking daarachter? | ||||||
remi1986 | donderdag 17 februari 2011 @ 11:46 | |||||
Ja klopt. Je kan k ook weglaten geloof ik maar moet je de volledige tabelnaam voor de kolommen gebruiken (koppeltabel.g_id = gebruikers.g_id) Vind het met verkorte namen makkelijker te lezen, helemaal als je het zo in de script zet als jij deed (over meerdere regels) | ||||||
MrNiles | donderdag 17 februari 2011 @ 11:56 | |||||
hoe kun je ook al weer een var dump van al je variabelen echo'en kan m niet meer vinden hoe het moest ![]() | ||||||
remi1986 | donderdag 17 februari 2011 @ 11:58 | |||||
var_dump(get_defined_vars()); ? | ||||||
MrNiles | donderdag 17 februari 2011 @ 12:00 | |||||
zoiets was het ja..maar bedenk me dat ik de var uit een array moet hebben... var_dump(array());? | ||||||
remi1986 | donderdag 17 februari 2011 @ 12:02 | |||||
? | ||||||
MrNiles | donderdag 17 februari 2011 @ 13:02 | |||||
kan iemand op mijn code schieten?
op deze manier hoop ik de mensen (G_name) te filteren die nog status "o" hebben | ||||||
remi1986 | donderdag 17 februari 2011 @ 13:13 | |||||
En dit werkt niet? Probeer de code eens uit in phpmyadmin en verander $id naar een id die bestaat. Kijk dan of je resultaat krijgt. | ||||||
MrNiles | donderdag 17 februari 2011 @ 13:18 | |||||
die code uitproberen in phpmyadmin werkt goed....meer gaan gebruiker deze werkt
| ||||||
GlowMouse | donderdag 17 februari 2011 @ 13:48 | |||||
Altijd leuk, queries tussen je html-output. | ||||||
MrNiles | donderdag 17 februari 2011 @ 14:15 | |||||
beter zo?
| ||||||
remi1986 | donderdag 17 februari 2011 @ 14:19 | |||||
Nee, wat GlowMouse bedoelt (denk ik), is dat je de query in een aparte functie zet en een array returned. Die array loop je in je html output door en geef je de namen weer. Zo hou je de queries gescheiden van de html. | ||||||
MrNiles | donderdag 17 februari 2011 @ 14:21 | |||||
dat is de bedoeling verkeerde methode? | ||||||
remi1986 | donderdag 17 februari 2011 @ 14:29 | |||||
ff snel hoe je het kan doen, namen in het Engels, verzin er maar wat moois voor ![]()
je kan ook een hele algemene functie maken (is denk ik nog mooier, die je als parameter de status meegeeft, die kan je dan invullen in de query
En dan (in een ander bestand, functions.php die je include)
| ||||||
MrNiles | donderdag 17 februari 2011 @ 14:37 | |||||
op die manier..jaja... zal eens kijken of ik dat veranderd krijg ![]() | ||||||
Chandler | donderdag 17 februari 2011 @ 18:07 | |||||
Goed! het systeem zoekt nu op het hele woord en niet op delen! ![]() ![]() | ||||||
GlowMouse | donderdag 17 februari 2011 @ 18:08 | |||||
Welk forum, en op welk woord zoek je? | ||||||
GlowMouse | donderdag 17 februari 2011 @ 18:13 | |||||
Ik denk dat je in de war bent met stemming; hij slaat muisje dan op als muis, en in zoekopdrachten vervangt hij muisje ook door muis. Maar door te zoeken op 'ersdo' kom je 'lucifersdoosje' niet tegen. Sommige zoekmachines staan zoeken op delen van een woord wel toe, Sphinx bijvoorbeeld. Dat lijkt mij gebaseerd op dat muis opgeslagen wordt als muis, uis, is en s. Als je dat met elk woord zo doet en dan alles op alfabet zet (index toevoegt in database-termen) dan kun je heel snel zoeken op een deel van een woord. Maar dat kost wel veel meer opslagruimte. | ||||||
MrNiles | vrijdag 18 februari 2011 @ 10:38 | |||||
hoe krijg ik $G_id hier nu uit?
| ||||||
remi1986 | vrijdag 18 februari 2011 @ 10:42 | |||||
echo $row['G_id']; ?? En je krijgt hier maar 1 row uit, dus de while lus is niet nodig.
| ||||||
MrNiles | vrijdag 18 februari 2011 @ 10:44 | |||||
klote dat ik niet kan editen..maaruh...zo simpel.... dat ik eerst dacht dat het niet werkte..maar helaas een domme type fout... gelukt dus ![]() sorry! | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 10:45 | |||||
adblocker? | ||||||
MrNiles | vrijdag 18 februari 2011 @ 11:05 | |||||
misschien maar ik zit opgescheept met McAffee..van het werk kan dus geen instellingen aanpassen | ||||||
MrNiles | vrijdag 18 februari 2011 @ 11:36 | |||||
kan iemand me nog eens een schop in de goede richting geven ben nu weer iets nieuws voor mij aan het proberen else..if
ik wil iets updaten maar dan moet het er wel zijn... dus moet eerst de regel gemaakt worden maar als eenmaal die regel gemaakt is en iemand wil toch nog een keer iets wijzigen dan moet die regel niet nog eens worden aangemaakt... if else (zit ik tot zover goed te redeneren) hoe vertel ik bij if dat als in koppeltabel $O_id en $G_id leeg zijn dat ie dan de else moet uitvoeren? | ||||||
remi1986 | vrijdag 18 februari 2011 @ 11:41 | |||||
Je moet een controle hebben of de id's bestaan. Waarom doe je dan niet eerst
| ||||||
Emery | vrijdag 18 februari 2011 @ 11:42 | |||||
Ik snap je niet? Je wilt iets updaten maar dan moet het er wel zijn? | ||||||
remi1986 | vrijdag 18 februari 2011 @ 11:42 | |||||
Je kan ook nog kijken met mysql_affected_rows of er een rij is geupdate. Zo niet dan insert http://php.net/manual/en/function.mysql-affected-rows.php | ||||||
MrNiles | vrijdag 18 februari 2011 @ 11:43 | |||||
ik snap het ook niet, vandaar de vraag ![]() | ||||||
remi1986 | vrijdag 18 februari 2011 @ 11:46 | |||||
Mooiste oplossing is denk ik:
| ||||||
MrNiles | vrijdag 18 februari 2011 @ 11:52 | |||||
dat doet de truc niet....ff eten..dadelijk weer verder over denken | ||||||
MrNiles | vrijdag 18 februari 2011 @ 11:54 | |||||
sorry..heel flauw ik wil een rij updaten..maar als deze rij niet bestaat kan ik m ook niet updaten ik kan de rij wel invoegen dan wordt bij elke wijziging deze rij ingevoegd terwijl hij geupdate moet worden | ||||||
Light | vrijdag 18 februari 2011 @ 11:56 | |||||
Je zoekt dus eigenlijk iets om een rij in te voegen, maar als die rij al bestaat moet'ie een update krijgen. Daar heeft MySQL al iets voor: INSERT ... ON DUPLICATE KEY UPDATE | ||||||
remi1986 | vrijdag 18 februari 2011 @ 11:57 | |||||
Hee dat is cool, wist ik zelf ook niet. Weer wat geleerd ![]() Het is echter wel in dit geval dat het gaat om een koppeltabel, dus geen primary key. Werkt dit dan ook ? | ||||||
KomtTijd... | vrijdag 18 februari 2011 @ 12:02 | |||||
of gewoon REPLACE INTO | ||||||
mstx | vrijdag 18 februari 2011 @ 12:03 | |||||
Let wel op dat REPLACE INTO eerst de rij verwijdert en daarna weer invoegt. | ||||||
remi1986 | vrijdag 18 februari 2011 @ 12:07 | |||||
Werkt dit ook met tabellen waar je geen primary key hebt? | ||||||
Light | vrijdag 18 februari 2011 @ 12:11 | |||||
Die koppeltabel kun je een primary key (of unieke key) geven op (g_id, o_id). Dat werkt meteen als een index op g_id, dus daar heb je geen aparte index meer nodig. Een index op o_id is wel handig. | ||||||
remi1986 | vrijdag 18 februari 2011 @ 12:14 | |||||
Snel ff getest in een project waar ik zelf ook een koppeltabel heb. Maar als ik een primary key toevoeg en ik voeg een rij in, krijg ik een error dat de key al bestaat. | ||||||
Light | vrijdag 18 februari 2011 @ 12:15 | |||||
Dat is hier ook een optie ![]() | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 12:16 | |||||
Dat dus, zou ik niet zo snel doen. | ||||||
remi1986 | vrijdag 18 februari 2011 @ 12:16 | |||||
http://dev.mysql.com/doc/refman/5.0/en/replace.html | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 12:33 | |||||
Je zegt niks nieuws. | ||||||
MrNiles | vrijdag 18 februari 2011 @ 12:34 | |||||
G_id is niet uniek O_id is ook niet uniek maar G_id AND O_id moeten wel uniek zijn | ||||||
remi1986 | vrijdag 18 februari 2011 @ 12:40 | |||||
Weet ik, maar paar berichten daarboven ging het over keys toevoegen in een koppeltabel. Maar dan kan je niet meer meerdere malen dezelfde user_id (in het geval van MrNiles) in de koppeltabel kwijt. REPLACE is dan denk ik niet de oplossing | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 12:43 | |||||
Als je vaker dezelfde user_id nodig hebt, moet je hem niet uniek maken. | ||||||
MrNiles | vrijdag 18 februari 2011 @ 12:45 | |||||
geldt voor INSERT ... ON DUPLICATE KEY UPDATE dan dat de query niet wordt uitgevoerd als er een dubbele waarde zou komen? | ||||||
Light | vrijdag 18 februari 2011 @ 12:46 | |||||
Daarom een unieke index (of primary key) op (G_id, O_id). Een index kan meerdere kolommen bevatten ![]() | ||||||
MrNiles | vrijdag 18 februari 2011 @ 12:50 | |||||
jullie zijn er natuurlijk allang achter dat ik een complete n00b ben maar wat moet een index (over meerdere kolommen) dan doen? | ||||||
remi1986 | vrijdag 18 februari 2011 @ 12:52 | |||||
Wat ik dan begrijp is dat de combinatie g_id en o_id uniek wordt. Waardoor je wel met REPLACE of INSERT DUPLICATE KEY kan werken, zoals eerder als oplossing is gegeven | ||||||
Light | vrijdag 18 februari 2011 @ 13:01 | |||||
De makkelijkste manier is via phpmyadmin. | ||||||
MrNiles | vrijdag 18 februari 2011 @ 13:58 | |||||
Niet Hoe maar wat de functie ervan is | ||||||
remi1986 | vrijdag 18 februari 2011 @ 14:07 | |||||
Dat maakt de combinatie van beide velden uniek. Dus je kan een INSERT doen. als de waarden van g_id EN o_id al voorkomen dan zal hij ze updaten. Wist dit ook nog niet. Heb dit net aangepast in mijn eigen project. Kon hierdoor van 4 queries terug naar 2. Voorbeeld met ON DUPLICATE KEY (werkt dus ook op indexen)... credits gaan naar Light ![]()
[ Bericht 38% gewijzigd door remi1986 op 18-02-2011 14:13:37 ] | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 14:18 | |||||
Je zou een klein MySQL-quizje moeten doen elke keer voordat je zo'n LAMP-pakket kunt downloaden. | ||||||
remi1986 | vrijdag 18 februari 2011 @ 14:19 | |||||
want? | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 14:26 | |||||
Spaart een hoop ellende. Gewoon simpele vraagjes: Je wilt een datum opslaan die door de user is ingevoerd als '18-02-2011'. Welk veld gebruik je hiervoor? - varchar(255) - anders Je wilt dat bij elk persoon maar één adres opgeslagen kan worden. Dit doe je met: - een UNIQUE index op adres - een PRIMARY KEY op adres - anders Je hebt een grote site en wilt dat gebruikers willen zoeken. Dit doe je met: - een index op de kolom waarin je wilt zoeken - een fulltext index op de kolom waarin je wilt zoeken - anders | ||||||
KomtTijd... | vrijdag 18 februari 2011 @ 14:26 | |||||
Beter een google-cursus. Ik wist twee weken geleden ook nog niet van het bestaan van REPLACE of ON DUPLICATE KEY UPDATE af. Maar zo moeilijk is het allemaal niet als je gewoon even de documentatie doorneemt. | ||||||
remi1986 | vrijdag 18 februari 2011 @ 14:33 | |||||
Ik ben er zelf niet zo voor om mensen af te kraken op een forum. Probeer het altijd zo netjes mogelijk te houden (zie dit dan ook niet als aanval), maar dit is een "voor dummies" topic. Daarnaast kunnen wij er niks aan doen dat we niet zo'n goede developer zijn als jij GlowMouse, dan hadden we niet op dit forum hoeven zitten. En in plaats alleen maar negatieve feedback te geven, kan je ook zeggen hoe het dan wel moet (ik kan me van gisteren een reactie herinneren van "altijd leuk, queries tussen je html output"). Daar kan iemand niks mee. Ben het wel met KomtTijd eens dat veel dingen op Google zijn te vinden. Maar ik zie het nu zo dat ik door een vraag van iemand anders, ik zelf nu iets heb geleerd. Nogmaals dit is geen aanval.. | ||||||
MrNiles | vrijdag 18 februari 2011 @ 14:45 | |||||
Moeilijkheid bij google is vaak de omschrijving van je probleem en vaak staat php/sql codes/oplossingen zo algemeen omschreven dat je nog hard moet nadenken hoe het toe te passen in je eigen script Ik weet niet hoe ik die ON DUPLICATE had moeten vinden.. daarbij..ben er wel achter gekomen dat er een hoop shit en tegenstrijdigheden op het internet staan | ||||||
GlowMouse | vrijdag 18 februari 2011 @ 15:22 | |||||
Jawel, daarmee kun je verder zoeken. Alsof ik hele snippets uit een boek ga overtypen. | ||||||
themole | zaterdag 19 februari 2011 @ 14:39 | |||||
Dat is dus de moeilijkheid van programmeren, je moet creatief zijn. Meestal zijn er geen uitgebreide omschrijvingen van een probleem te vinden. Uiteindelijk moet je zelf leren denken, dat is ervaring. | ||||||
YazooW | zaterdag 19 februari 2011 @ 19:02 | |||||
Ubernoob in problemen... Ik wil een simpele dropdownlist in een formulier gaan vullen met de cijfers 1 tot 31. Nu kan ik simpelweg 1 tot en met 31 gaan invullen in m'n code, maar ik wil het dus automatisch doen d.m.v een stukje code, ook omdat ik straks nog de jaartallen 1920 tot en met 2011 in een dropdownlist moet gaan toveren. Met de volgende code laat ik de cijfers 1 tot 31 zien:
Maar nu komt dus de vraag, hoe krijg ik die 1 tot 31 nu in mijn dropdownlist? Heb al van alles geprobeerd maar blijf heel de tijd maar foutmeldingen krijgen ![]() | ||||||
Tegan | zaterdag 19 februari 2011 @ 19:07 | |||||
| ||||||
YazooW | zaterdag 19 februari 2011 @ 19:11 | |||||
Aight, relaxt. Hij werkt perfect, bedankt voor je snelle hulp! ![]() | ||||||
Tegan | zaterdag 19 februari 2011 @ 19:15 | |||||
Ik ben wel erg benieuwd wat jouw code was die foutmeldingen gaf ![]() | ||||||
YazooW | zaterdag 19 februari 2011 @ 19:19 | |||||
Fout zat m meer in de HTML zeg maar bij het maken van de dropdownlist. De phpcode die ik heel de tijd had was gewoon goed. Fout was dus simpelweg dat ik een aanhalingsteken of < > miste... Ik ben ook maar een noob he ![]() Dmv jou code heb ik nu ook meteen de jaartallen 1920 tot 2011 ingevuld in een andere dropdownlist. ![]() Ik kan voorlopig wel weer vooruit denk ik. Nogmaals bedankt. edit. Om even preciezer te zijn, wist net zelf ook niet precies wat ik fout deed ![]() Ik had dus bij de echo output tussen de option tags maar 1x $i, terwijl het dus blijkbaar 2x moet, 1x achter de value en 1x tussen de haakjes. [ Bericht 13% gewijzigd door YazooW op 19-02-2011 19:25:23 ] | ||||||
Tegan | zaterdag 19 februari 2011 @ 19:28 | |||||
Nouja, dat hoeft niet echt. Maar de ene is welke je meegeeft aan de pagina, en de andere is welke je ziet/kan kiezen. Handig voor als je dus wil dat die verschillen ![]() | ||||||
GlowMouse | zaterdag 19 februari 2011 @ 19:45 | |||||
Als ze identiek zijn, kun je value weglaten. | ||||||
dirkjo | zondag 20 februari 2011 @ 00:40 | |||||
Zou iemand mij kunnen vertellen waarom ik hier niet WERK! te zien krijg?
| ||||||
ursel | zondag 20 februari 2011 @ 00:43 | |||||
echo je $go_ahead maar eens, dan zul je het wel zien. ![]() | ||||||
dirkjo | zondag 20 februari 2011 @ 00:44 | |||||
Ik heb net even een pauze gehad en blij naar boven gestormd omdat ik het wist. Wat kan eten toch wonderen doen ![]() Toch bedankt ![]() [ Bericht 0% gewijzigd door dirkjo op 20-02-2011 00:55:14 ] | ||||||
dirkjo | zondag 20 februari 2011 @ 00:46 | |||||
Nu heb ik alleen nog wel een vraagje. Ik wil checken of de username aanwezig is in de databse. ik heb het checken op NIET aanwezigheid gedaan via deze manier:
Maar hoe check ik of die er WEL is? ![]() | ||||||
Tegan | zondag 20 februari 2011 @ 00:57 | |||||
Waarom count(0)? | ||||||
dirkjo | zondag 20 februari 2011 @ 01:30 | |||||
Omdat hij anders de volgende warning geeft:
| ||||||
Tegan | zondag 20 februari 2011 @ 01:41 | |||||
Ik vind je manier een beetje omslachtig. En, userid is een string ![]() Ik zou het zo doen.
[ Bericht 0% gewijzigd door Tegan op 20-02-2011 01:58:56 ] | ||||||
GlowMouse | zondag 20 februari 2011 @ 02:02 | |||||
count(*) is gebruikelijker, je limit is overbodig, en volgens mij heb je met $found == 0 geen aanwezigheid en met $found == 1 wel. | ||||||
Catbert | zondag 20 februari 2011 @ 10:36 | |||||
Geen prepared statements? | ||||||
dirkjo | zondag 20 februari 2011 @ 19:30 | |||||
Ok thanks, het werkt nu ![]() | ||||||
Flepke | maandag 21 februari 2011 @ 20:00 | |||||
Iemand linkjes/ervarignen naar hoe om te gaan / op te zetten een mysql cluster? Ik kan me zo voorstellen dat als je 100 mysql servers aan elkaar hebt geknoopt een effectievere manier bestaat om te tellen hoeveel mensen 18 jaar zijn dan: SELECT age FROM users WHERE age='18' En vervolgens mysql_num_rows (Theoretisch idee & voorbeeld) | ||||||
Tegan | maandag 21 februari 2011 @ 20:06 | |||||
count(*) dan. Verder weet ik niets van clusters ![]() | ||||||
erikkll | maandag 21 februari 2011 @ 20:15 | |||||
Ik heb een vraagje! Voor m'n werk moet ik een formuliertje maken. Hierbij moeten keuzes gemaakt worden die de rest van het formulier beïnvloeden. Voorbeeldje van hoe ik dit voor me zie: 1. Is er een keuze gemaakt? Radiobuttons ja/nee indien ja => 2a. inputveld verschijnt met iets van een label 'keuze' indien nee =>2b. inputveld verschijnt met iets van een label 'datum waarop keuze wordt gemaakt' Dit gaat tot op 4 niveaus diep. Hoe zouden jullie dit doen? Zelf heb ik hier wel ideeën over - Ik hoef geen concrete aanwijzingen/code; meer een globale beschrijving. Ik ben voornamelijk benieuwd naar hoe jullie het zouden aanpakken en hoop inspiratie op te doen. | ||||||
GlowMouse | maandag 21 februari 2011 @ 20:16 | |||||
MySQL cluster gebruikt een storage engine die sterk afwijkt van de overige storage engines. Zonder erg uitgebreide kennis zou ik er zeker niet aan beginnen. En aan je vraag te zien ![]() | ||||||
Flepke | maandag 21 februari 2011 @ 21:23 | |||||
Allereerst even voor de duidelijkheid: Je bedoeld voor zover ik kan zien "het product" MySQL cluster? http://www.mysql.com/products/cluster/ Ik heb me een beetje zitten inlezen, http://www.howtoforge.com/loadbalanced_mysql_cluster_debian Zoiets ziet er nou niet bepaald heel eng uit om op te zetten / voor te devven. Echter neem ik aan dat grote sites zoals bijvoorbeeld een twitter/facebook/fok.nl hier niet op draaien. Even concrete vragen: Hoe moeilijk is het om 'normale' mysql queries te 'porten' naar taal die een mysql cluster wat door 'grote sites' gebruikt snappen, met andere woorden heeft het zin om zelf in de ontwikkel fase zelf wat te zitten knutselen? Waar zijn er mensen in te huren (freelance?) (prijs/uur?) die zo'n cluster zouden kunnen bedenken, opzetten onderhouden & queries ervoor kunnen schrijven? Mag ik er vanuit gaan dat een gemiddeld 'php professional' code hiervoor kan schrijven? Ik ben namelijk bezig met het uitdenken of een bepaald redelijk complex idee wat ik in mijn hoofd heb zitten mogelijk is. De database kant volledig uitbesteden zou al weer een zorg minder zijn... Nu we het toch over clustering hebben, een apache cluster is toch mag ik hopen niet zulk gespecialiseerd werk als een mysql cluster? Om te zien of dat het project realiseerbaar is zou ik graag meer een beeld krijgen van wat een freelance/vaste kracht objective c 2.0, c++ , php programmeur nou zo'n beetje vraagt (in nederland, free lance sites in het buitenland zijn er genoeg) [ Bericht 6% gewijzigd door Flepke op 21-02-2011 21:31:08 ] | ||||||
GlowMouse | maandag 21 februari 2011 @ 21:46 | |||||
Beide gebruiken de NDB storage engine, dus mijn opmerking slaat op beide. Percona kan het ongetwijfeld, maar daar betaal je voor. Een gemiddelde php professional heeft onvoldoende verstand van MySQL, en heeft vrijwel zeker geen enkele ervaring met MySQL cluster. Je moet je afvragen wat je precies nodig hebt. NDB hoort niet in dat rijtje thuis. Klopt. | ||||||
Flepke | maandag 21 februari 2011 @ 22:06 | |||||
Ziet er goed uit, meest rendabele lijkt me dan iemand in vaste dienst aan nemen en die naar zo'n trainings course te sturen, ziet er redelijk betaalbaar uit. Uiteraard zal ik in de eerste maanden niet een cluster van 100'en - 1000'en servers nodig hebben, het gaat mij erom dat ik liever zo weinig mogelijk geld en tijd besteed aan het continue herschrijven. Volgens mij is wat ik uiteindelijk nodig heb juist wel NDB /(Ndb Cluster + MySQL Server(s)/hoe je het ook noemt) nodig. Hoe ik hier het makkelijkste naartoe kan werken kom ik met wat google werk en eventueel hulp van jou linkje wel uit denk ik. Waarom zou ik volgens jou NDB niet nodig hebben? Trouwens bedankt voor je hulp scheelt me een hele hoop zoekwerk . | ||||||
GlowMouse | maandag 21 februari 2011 @ 22:14 | |||||
Je weet dat bij een NDB cluster alle data op elke server in het geheugen moet passen? | ||||||
Flepke | maandag 21 februari 2011 @ 22:24 | |||||
Hmm. Ik lees het net 5 minuten geleden inderdaad. Aan de ene kant lijkt het me perfect (snelheid). Andere kant natuurlijk wel dure nodes + dat je niet oneindig ram in je node kan prikken. (Hmm cloud hosting maybe?) Hoe draait fok eigenlijk, master/slave? Zal morgen nog eens een speurtocht beginnen naar de methodes die andere social media sites zoals facebook, twitter tumblr etc gebruiken voor hun database. In iedergeval bedankt voor je hulp ![]() | ||||||
GlowMouse | maandag 21 februari 2011 @ 22:42 | |||||
FOK! draait met een enkele db-server. Ga er gerust vanuit dat die sites geen algemene software voor alles gebruiken, maar voor elk stukje van de site wat anders. En dan is die software ook helemaal getweakt voor dat gebruik. Facebook bijvoorbeeld, heeft zelf patches geschreven voor software als MySQL en memcached. | ||||||
Deeltjesversneller | woensdag 23 februari 2011 @ 19:43 | |||||
Ik heb een tabel met een begintijd kolom en een eindtijd kolom, nou wil ik een controle maken dat nieuwe inserts geen al bestaande datum/tijd reeks mogen overlappen, in de vorm van een check constraint trigger? Maar ik kom er niet uit, hoe kan ik dit voor elkaar krijgen? (MS SQL) [ Bericht 10% gewijzigd door Deeltjesversneller op 23-02-2011 19:51:15 ] | ||||||
FastFox91 | woensdag 23 februari 2011 @ 20:00 | |||||
http://stackoverflow.com/(...)-using-a-sql-trigger | ||||||
mwvrs | woensdag 23 februari 2011 @ 23:50 | |||||
Graag wil ik dat op mijn website iedere keer een willekeurige achtergrondfoto getoond wordt. Nu kan ik zelf wel met een php scriptje een willekeurige achtergrond uit een map op mijn server met allemaal achtergrondafbeeldingen laten selecteren. Het lijkt me echter vrij irritant voor een bezoeker dat iedere keer dat er op een link geklikt wordt er een andere achtergrond geselecteerd wordt. Het liefst zou de site per bezoek willekeurig een achtergrond moeten selecteren uit de map en deze blijven tonen gedurende het hele bezoek, los van hoeveel pagina's binnen de website men bezoekt. Kan dit bijv. met behulp van sessies opgelost worden? Of op een andere manier? Ik heb zelf geen ervaring met sessies om dit concreet op te lossen. In ieder geval alvast hartelijk bedankt. ![]() | ||||||
KomtTijd... | donderdag 24 februari 2011 @ 00:00 | |||||
Jep. Of met een cookie. | ||||||
Tegan | donderdag 24 februari 2011 @ 00:22 | |||||
Ik weet niet of hij helemaal klopt. Maar zoiets?
[ Bericht 3% gewijzigd door Tegan op 24-02-2011 00:29:15 ] | ||||||
mwvrs | donderdag 24 februari 2011 @ 00:37 | |||||
Hoi Tegan, Bedankt voor je snelle reactie. Ik heb zelf ook op internet wat opgezocht en twee voorbeelden gecombineerd. Ik wil eigenlijk wel dat wanneer ik tussentijds extra afbeeldingen in een map upload, deze automatisch door het script meegenomen worden. Komt dit in de richting?
| ||||||
Tegan | donderdag 24 februari 2011 @ 00:39 | |||||
Wat nou als er per ongeluk andere bestanden dan images in die map staan? | ||||||
mwvrs | donderdag 24 februari 2011 @ 00:41 | |||||
Daar heb je een punt. Op een of andere manier alleen jpg bestanden mee laten nemen? | ||||||
Tegan | donderdag 24 februari 2011 @ 00:46 | |||||
| ||||||
GlowMouse | donderdag 24 februari 2011 @ 07:59 | |||||
| ||||||
themole | donderdag 24 februari 2011 @ 09:23 | |||||
HIer zou ik persoonlijk javascript voor gebruiken. Alhoewel het met puur php ook wel te maken is. | ||||||
boem-dikkie | donderdag 24 februari 2011 @ 13:51 | |||||
If, then. | ||||||
THeeF | donderdag 24 februari 2011 @ 14:08 | |||||
| ||||||
GlowMouse | donderdag 24 februari 2011 @ 16:33 | |||||
Glob is hoofdlettergevoelig. | ||||||
Tegan | donderdag 24 februari 2011 @ 16:43 | |||||
Dat hele stuk met rand() kan veel korter door alleen shuffle() te doen op de image array. | ||||||
GlowMouse | donderdag 24 februari 2011 @ 16:54 | |||||
rand lijkt me sneller als je een grote array hebt. De laatste twee php-codeblokken gaan nog fout omdat $imgarray op regel 5 helemaal niet bekend is. Die wil je ook helemaal niet hebben en dat is ook niet nodig om die te hebben. | ||||||
Tegan | donderdag 24 februari 2011 @ 16:54 | |||||
Ik denk niet dat hij zoveel verschillende achtergronden heeft. | ||||||
THeeF | donderdag 24 februari 2011 @ 16:57 | |||||
| ||||||
GlowMouse | donderdag 24 februari 2011 @ 16:59 | |||||
Met array_walk kun je die foreach nog wegwerken. | ||||||
Light | donderdag 24 februari 2011 @ 20:58 | |||||
array_rand() is nog netter, dan krijg je 1 (of meer) random key uit de array. Werkt ook met niet-numerieke keys. | ||||||
GlowMouse | donderdag 24 februari 2011 @ 20:59 | |||||
Die kende ik niet eens ![]() | ||||||
Dennis82 | zaterdag 26 februari 2011 @ 01:03 | |||||
Ik kom er even niet meer uit. Ik wil iets heel eenvoudigs. Namelijk dat als er geen rows uit een database worden gehaald er een melding komt en zodra er wel row uit de database komt, dan moet hij die info weergeven. Dit is mijn code:
Hiermee laat hij echter gewoon de reactie zien als er wel wat uit de query komt en niets zodra er ook niets uit de query komt. Ik heb zelf een echo op de $aantalrijen gedaan en dan komt er wel netjes 1 of 0 uit. | ||||||
GlowMouse | zaterdag 26 februari 2011 @ 01:04 | |||||
Regel 15-21 worden nu niet uitgevoerd omdat je nooit binnen de while komt. | ||||||
Ofyles2 | zaterdag 26 februari 2011 @ 01:37 | |||||
mysql_num_rows uit de while-loop halen. Deze controle is slechts één keer nuttig... | ||||||
Dennis82 | zaterdag 26 februari 2011 @ 08:08 | |||||
Bedankt mannen. Echter werd ik vanochtend wakker en had ik ineens een ingeving dat de if en else uit de loop moesten worden gehaald. Best logisch natuurlijk. | ||||||
Dokay | zondag 27 februari 2011 @ 11:27 | |||||
Hallo Fokkertjes, wellicht kan iemand met kennis van zaken hier snel uitkomen, ik wil de map waar het script in upload/uit leest variabel houden door deze path in te stellen als /data/$user. Als ik dit instel bij $filepath = "/data/$user/"; dan blijft het script alsnog in zijn eigen directory uploaden. Waar gaat het fout?
| ||||||
Light | zondag 27 februari 2011 @ 11:58 | |||||
Welke waarde heeft $usr in regel 37? (En dus niet: welke waarde denk je dat $user heeft.) En als je de php-code tussen [ php] en [ /php] zet, krijg je leuke kleurtjes die de leesbaarheid vergroten. ![]() | ||||||
mstx | zondag 27 februari 2011 @ 12:11 | |||||
| ||||||
Jump | maandag 28 februari 2011 @ 21:52 | |||||
83 delen verder staat mijn grapje van "cd niet bijgeleverd" nog altijd in de OP ![]() | ||||||
Ofyles2 | maandag 28 februari 2011 @ 23:36 | |||||
Tegenwoordig downloaden we tutorials via het net. Althans ik. Wel gecombineerd met literatuur kopen... | ||||||
cablegunmaster | dinsdag 1 maart 2011 @ 02:20 | |||||
![]() Vraagje welke charset heb ik nodig om gewoon umlauts toe te staan? <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> Dit staat ernu maar werkt niet echt. Krijg namelijk allemaal vraagtekens. [ Bericht 17% gewijzigd door cablegunmaster op 01-03-2011 02:56:11 ] | ||||||
GlowMouse | dinsdag 1 maart 2011 @ 10:29 | |||||
Bijna altijd voor UTF-8 kiezen tegenwoordig. | ||||||
erikkll | dinsdag 1 maart 2011 @ 10:34 | |||||
Op basis van jouw advies heb ik de volgende query gemaakt:
Mooi he? ![]() Nu heb ik nog een vraagje. Daarvoor geef ik even een mogelijk resultaat: Zoals je ziet zijn de records hetzelfde, met uitzondering van het laatste veld. Hoe kan ik er nu voor zorgen dat alleen de record met de LAAGSTE waarde van response.dateline wordt weergegeven? | ||||||
MrNiles | dinsdag 1 maart 2011 @ 10:41 | |||||
ik wil een vaker terugkomend werkje een beetje automatiseren wil 2 bestandjes laten maken waarin slechts een paar waardes worden aagepast iets als dit gevonden:
Het vreemde (voor mij dan) is dat de inhoud van galleria.php voor Data Written wordt geprint...en dat er in de inhoud van het gemaakte filetje wel Jane Doe staat...maar daar onder een "1" ipv de inhouden van galeria.php Kan iemand me uitleggen hoe het anders zou moeten | ||||||
GlowMouse | dinsdag 1 maart 2011 @ 10:42 | |||||
$filename via $_POST is niet handig, wat als $filepost = 'index'? | ||||||
MrNiles | dinsdag 1 maart 2011 @ 10:46 | |||||
je hebt gelijk inprincipe ben ik de enige die het invoert en zou ik altijd een bepaalde naam gebruiken die zeker geen index is..maar..goed punt | ||||||
erikkll | dinsdag 1 maart 2011 @ 11:22 | |||||
dit heb ik inmiddels opgelost!
| ||||||
GlowMouse | dinsdag 1 maart 2011 @ 11:28 | |||||
Oh, had je bericht gemist. | ||||||
erikkll | dinsdag 1 maart 2011 @ 15:26 | |||||
Geen probleem. Ik werd er inmiddels enigszins moedeloos van, tot ik dit vond: http://dev.mysql.com/doc/(...)olumn-group-row.html | ||||||
erikkll | dinsdag 1 maart 2011 @ 16:51 | |||||
Mooie query trouwens he? Helemaal naar jouw voorbeeld. ![]() | ||||||
GlowMouse | dinsdag 1 maart 2011 @ 19:52 | |||||
Ja, ik ben trots op je notatie. Let alleen wel op dat open.dateline en close.dateline uniek zijn bij één ticketid. | ||||||
erikkll | woensdag 2 maart 2011 @ 10:04 | |||||
Hmm. Ja, nouja, close.dateline kan meerdere keren voorkomen; het gaat om een ticket-systeem dat wij gebruiken. Die close.dateline is het moment dat een ticket naar 'Nog te factureren' wordt gezet. Het komt echter voor dat mensen dan een reactie in het ticket zetten, en dan gaat het automatisch terug naar 'Eerste lijn'. Op dit moment weet ik nog niet wat ik in mijn rapportage wil gaan zetten, de eerste of de laatste keer dat dit plaatsvindt (het verplaatsen naar 'Nog te factureren'), maar uniek zijn die getallen sowieso ![]() | ||||||
MrNiles | woensdag 2 maart 2011 @ 11:00 | |||||
als ik een filetje simpel wil uploaden met zoiets
maar ziet geen naam met POST..request ook niet, als ik van de post-functie een get maakt dan werkt het wel, maar dan upload ie weer geen bestand.... doel is om een bestand te uploaden, dat er een folder wordt gemaakt die de bestandsnaam zonder extensie heeft en dat de te uploaden file in die folder komt | ||||||
GlowMouse | woensdag 2 maart 2011 @ 11:10 | |||||
Hoe groot is de file? | ||||||
MrNiles | woensdag 2 maart 2011 @ 11:13 | |||||
klein..14kb zo kan het maar tot 8MB? file komt wel in de juiste dir te staan..maar de dir wordt niet aangemaakt want met de POST wordt uploadedfile niet gezien | ||||||
GlowMouse | woensdag 2 maart 2011 @ 11:16 | |||||
Ah ik zie het. Ik weet niet precies welke info je wilt, maar lang niet alles wordt doorgegeven. Doe eens var_dump($_POST, $_FILES), dan zie je wat er beschikbaar is. | ||||||
MrNiles | woensdag 2 maart 2011 @ 11:21 | |||||
ik moet denk ik met zoiets aan de gang $_FILES["uploadedfile"]["name"] enne..:@ ik blijf klooien om dingen goed te kunnen combineren hier vogel ik hier ipv uploads nu goed een variabele neer..met de slash erbij $target_path = "uploads/"; | ||||||
MrNiles | woensdag 2 maart 2011 @ 11:34 | |||||
edit...lama ![]() | ||||||
MrNiles | woensdag 2 maart 2011 @ 12:49 | |||||
Krijg de fout Fatal error: Call to undefined function: zip_open() wil dat net zoveel zeggen als..kut toch een te goedkope webhoster gekozen? Andere oplossingen om een zipfile te openen op server? | ||||||
GlowMouse | woensdag 2 maart 2011 @ 12:55 | |||||
via het progrmma zip | ||||||
MrNiles | woensdag 2 maart 2011 @ 12:56 | |||||
op een gehoste webserver? | ||||||
GlowMouse | woensdag 2 maart 2011 @ 13:01 | |||||
ja, exec, shell_exec, backticks, etc. | ||||||
GlowMouse | woensdag 2 maart 2011 @ 13:03 | |||||
Op http://nl3.php.net/manual/en/function.zip-open.php in de comments staat een mooie functie. | ||||||
MrNiles | woensdag 2 maart 2011 @ 13:03 | |||||
je weet wel beter.... | ||||||
mschol | woensdag 2 maart 2011 @ 13:16 | |||||
wat is handiger bij het opslaan van een bericht met ubb code: opslaan met de ubb code erin, of eerst de ubb code omzetten naar html en dan opslaan... | ||||||
GlowMouse | woensdag 2 maart 2011 @ 13:19 | |||||
Allebei opslaan. | ||||||
mschol | woensdag 2 maart 2011 @ 13:49 | |||||
is dat niet erg dubbelop en onnodig ruimte gebruik? (al gaat het niet echt om grote berichten) | ||||||
GlowMouse | woensdag 2 maart 2011 @ 13:51 | |||||
Omzetten is tijdrovend, dus bbcode opslaan is noodzakelijk. Als iemand een bericht wil wijzigen dan heb je de oorspronkelijke code ook nodig omdat er vaak geen mooie 1:1 terugvertaling is. Onnodig zou ik het dus niet noemen. | ||||||
ralfie | woensdag 2 maart 2011 @ 14:01 | |||||
Een alternatief is een intermediair op te slaan. Bijvoorbeeld alle valide bbcode items markeren zodat deze met simpele replace() statements naar zowel bbcode als html omgezet kan worden. | ||||||
mschol | woensdag 2 maart 2011 @ 14:03 | |||||
ah, niet bij stil gestaan inderdaad.... oke dan, weet ik weer voldoende ![]() | ||||||
wobbel | donderdag 3 maart 2011 @ 10:44 | |||||
Ik ben al eventjes aan het brainstormen, maar ik kom er niet uit. Ook niet dankzij Google. Gebruikers kunnen bij mij een CSV uploaden, en vervolgens selecteren welke kolommen ze willen importeren. Nu wil ik eigenlijk controleren of de aangeboden CSV correct is, voordat ik dit ga doen. Hiermee loop ik wel tegen een probleem, want elke CSV is anders. Sommige bestaan uit 2 velden, andere uit 5 of zelfs nog meer. Hoe kan ik alle regels van de CSV valideren? Dat er niet 150 regels zijn met 5 velden, en dat regel 151 er ineens maar 4 heeft en mijn scriptje in de war raakt ![]() | ||||||
mschol | donderdag 3 maart 2011 @ 11:03 | |||||
je bent bekend met de functie fgetcsv() ? dan kan je de lengte van de array checken... | ||||||
GlowMouse | donderdag 3 maart 2011 @ 12:37 | |||||
Dat dus. CSV wil je niet met een eigen methode inlezen. Wat als iemand een newline heeft maar die netjes insluit tussen quotes? | ||||||
mschol | donderdag 3 maart 2011 @ 12:43 | |||||
ik moet zeggen dat ik die functie pas 2 dagen ken maar em nu al fantastisch vind ![]() ik heb ook wat andere problemen gehad, maar ben er wel uit gekomen.. ![]() (csv bestand in UTF-8 importeren in mySQL i.v.m. japanse karakters is een klein rampje.., maar wel gelukt inmiddels ![]() | ||||||
cablegunmaster | vrijdag 4 maart 2011 @ 11:51 | |||||
http://trinitati.nl/%5C%27http://trinitati.nl/%5C%27 hmm.. ik krijg nu een probleem met magic quotes overal. ergens waar ik dit kan overriden zodat het uit staat?
![]() Dit in de htacces zetten wou me site killen.
| ||||||
GlowMouse | vrijdag 4 maart 2011 @ 12:07 | |||||
php_value magic_quotes_gpc off dan? Kun je bij php.ini? Wat zegt phpinfo over magic_quotes_*? | ||||||
cablegunmaster | vrijdag 4 maart 2011 @ 12:41 | |||||
ik kan niet bij php.ini en mijn webhost wil het niet zelf uitzetten. Warning: phpinfo() has been disabled for security reasons in /*/phpinfo.php on line 2 ![]() | ||||||
GlowMouse | vrijdag 4 maart 2011 @ 12:50 | |||||
ini_get_all? | ||||||
cablegunmaster | vrijdag 4 maart 2011 @ 13:02 | |||||
ik zal het proberen , leuke is dat mijn webhost ondertussen ook bezig is met een raid configuratie, als ik ze niet uit kan zetten zal ik ze moeten encoden en decoden en een eigen functie schrijven. maar als ze uitstaan bespaart met dat een hoop gezeik ![]() Webhost: Budgetwebhost zelf niet gekozen ![]() | ||||||
Light | vrijdag 4 maart 2011 @ 18:18 | |||||
En als je het script niet phpinfo.php maar bijvoorbeeld info.php noemt, krijg je dan ook die warning? | ||||||
GlowMouse | vrijdag 4 maart 2011 @ 18:30 | |||||
Ja, "in /*/phpinfo.php on line 2" lijkt me duidelijk. | ||||||
Light | vrijdag 4 maart 2011 @ 19:05 | |||||
Door die "in /*/phpinfo.php" krijg ik de indruk dat ze filteren op bestandsnaam en functie, niet alleen op functienaam. Maar goed, dat ben ik. Een hoster die phpinfo() uitzet, snapt het ook niet helemaal. Als je een site wilt bouwen, is het toch heel handig dat je php-instellingen na kunt kijken? Dat kan snel verklaren of iets wel of niet gaat werken. | ||||||
cablegunmaster | vrijdag 4 maart 2011 @ 19:09 | |||||
nou mijn vraag even stom.
nu wou ik hem dan maar weghalen met variabelen. hoe krijg ik dan de regex van een stom \ teken want die escaped natuurlijk ![]() | ||||||
Light | vrijdag 4 maart 2011 @ 19:29 | |||||
Je wilt slashes weghalen? Dat kan met stripslashes(). Of mis ik iets? | ||||||
cablegunmaster | zaterdag 5 maart 2011 @ 11:04 | |||||
als dat zo is dan faal ik keihard eigenlijk. ![]() | ||||||
Dennis82 | zaterdag 5 maart 2011 @ 17:11 | |||||
Ik heb een database met daarin een aantal auto's. Aan iedere auto is een klasse gekoppeld. Nu wil ik dit als volgend weergeven: Klasse 1 - auto 1 - auto 3 - etc Klasse 2 - auto 2 - etc en zo verder voor iedere klasse. Ik weet dat het kan maar ik heb geen idee hoe ik dat voor elkaar krijg. Ik ben niet opzoek naar een kant en klare code maar als iemand mij een hint in de juiste richting wil geven ben ik al tevreden. | ||||||
Luchtkoker | zaterdag 5 maart 2011 @ 17:13 | |||||
GROUP BY? | ||||||
GlowMouse | zaterdag 5 maart 2011 @ 17:17 | |||||
ORDER BY klasse,model en dan in je php-code de rest doen. | ||||||
Diabox | zaterdag 5 maart 2011 @ 18:23 | |||||
En dit is 2e jaars informatica student aan de UvA ![]() | ||||||
mschol | zaterdag 5 maart 2011 @ 19:33 | |||||
ik ben wat aan et rotzooien met cms made simple, ondanks dat hij (nu iig) nog niet helemaal kan wat ik wil, ik ga daar later eens naar kijken om zelf een catalogus module te maken die flexibel genoeg is voor mijn data... ik zoek eigenlijk een soort van tutorial met een aantal duidelijke voorbeelden hoe de templates daar gemaakt moeten worden.... iemand? | ||||||
Tegan | zaterdag 5 maart 2011 @ 19:36 | |||||
http://www.icms.info/website-howto/css-tutorial | ||||||
mschol | zaterdag 5 maart 2011 @ 20:37 | |||||
ah sorry, het gaat mij niet zo zeer om de css of html, eerder om de gebruikte tags... die lijken af te wijken van smarty? dus b.v.: ik wil een menu (laten) creeren, hoe geef ik dit aan in een template... | ||||||
Diabox | zaterdag 5 maart 2011 @ 20:42 | |||||
Al rondgekeken in de documentation? http://wiki.cmsmadesimple.org/index.php/Main_Page | ||||||
mschol | zaterdag 5 maart 2011 @ 20:51 | |||||
ik had wel gekeken, maar kon het niet vinden (zal voor de zekerheid het dubbelcheckken) | ||||||
boem-dikkie | woensdag 9 maart 2011 @ 21:13 | |||||
Even weer een dummievraag. Heb dit eigenlijk nog nooit gedaan namelijk. Ik heb een Excel-sheet met 188 rijen. In die rijen staan een naam + een wachtwoord. Nu had ik ze allemaal zelf ge'hashed en handmatig in de database gezet, vervolgens iets fout gedaan en nu moet ik ze er allemaal wéér in zetten. Het is dus de bedoeling dat ik alle namen + wachtwoorden (omgezet met SHA1 of MD5?) in mijn database zet. Hoe kan ik dit het handigst in één keer doen? Zoals eerder opgemerkt in dit topic weet ook ik niet hoe ik dit het handigst kan opzoeken via Google, vandaar hier de vraag. | ||||||
GlowMouse | woensdag 9 maart 2011 @ 21:19 | |||||
je stelt de queries samen in Excel. Als username in A1 staat en wachtwoord in B1 staat, doe je in C1: UPDATE table SET wachtwoord=SHA1(', in D1 doe je =B1, in E1 doe je ') WHERE username=, etc. | ||||||
boem-dikkie | woensdag 9 maart 2011 @ 21:39 | |||||
En dan in elke rij? | ||||||
GlowMouse | woensdag 9 maart 2011 @ 21:47 | |||||
Dan slepen idd. En dan heb je alle queries en kun je ze uitvoeren. | ||||||
boem-dikkie | woensdag 9 maart 2011 @ 22:09 | |||||
Maar met een UPDATE? Want ik heb dus nu een lege database? | ||||||
Light | woensdag 9 maart 2011 @ 22:39 | |||||
Je had die gebruikers toch al eens in de database gezet? Of was dat "foutje" dat de tabel nu weer helemaal leeg is? Als de tabel met users leeg is, moet je die weer vullen. En dan heb je idd niets aan een update, dan moet je een insert gebruiken. Het idee is wel vergelijkbaar met die update-query's. | ||||||
boem-dikkie | woensdag 9 maart 2011 @ 22:49 | |||||
Nee ik was met een UPDATE query een WHERE vergeten ![]() ![]() | ||||||
mschol | woensdag 9 maart 2011 @ 22:49 | |||||
![]() | ||||||
cablegunmaster | woensdag 9 maart 2011 @ 22:52 | |||||
toch wel een backup bij? ![]() | ||||||
boem-dikkie | woensdag 9 maart 2011 @ 22:59 | |||||
Niet dus. ![]() Scheelt dat het een lijst met leden is die ik voor het systeem daadwerkelijk 'live' gaat al moet inkloppen. Ik ben dus de enige die er last van heeft. | ||||||
mwvrs | woensdag 9 maart 2011 @ 23:31 | |||||
Iedereen die op mijn "willekeurige achtergrond selecteren"-code van een paar pagina's terug heeft gereageerd: heel erg bedankt. Ik had nu helaas pas weer tijd om er mee te sleutelen. Ik heb het idee dat ik erg dichtbij zit, maar toch werkt het nog niet.
De inhoud van $_SESSION['randombgimg'] en $imgarray[$rand] worden echter niet weergegeven (of zijn leeg...??). Weet iemand misschien waar dit in zit? Voor de goede orde: session_start(); staat op de eerste regel ![]() Heel erg bedankt! | ||||||
mschol | woensdag 9 maart 2011 @ 23:42 | |||||
heb je zelf al eens met wat echo(); 's geprobeerd te kijken wat waar in zit? | ||||||
GlowMouse | woensdag 9 maart 2011 @ 23:42 | |||||
Heb je geen code die wel juist inspringt? Wat doet die if op regel 16? Wat als imgarray leeg is? | ||||||
xaban06 | donderdag 10 maart 2011 @ 03:56 | |||||
Gezien er geen centrale HTML topic is probeer ik het hier. Ik maak genoodzaakt gebruik van in mijn header tag. Ik maak namelijk gebruik van RewriteRules, hierdoor kan ik SEO vriendelijke URL's gebruiken, bijvoorbeeld: http://www.mijnwebsite.nl/categorie/productnaam/ Echter stuit ik hierdoor op een probleem. Wanneer ik op ttp://www.mijnwebsite.nl/categorie/ ben, zie ik een lijst met alle producten. De producten moeten klikbaar zijn om de product te weergeven, dit doe ik door: De link moet dus worden: http://www.mijnwebsite.nl/categorie/productnaam Echter gebeurd dat niet door de base tag volgens mij. De link wordt: http://www.mijnwebsite.nl/productnaam Hoe is dit op te lossen? | ||||||
GlowMouse | donderdag 10 maart 2011 @ 09:52 | |||||
Linken naar /categorie/productnaam, of geen base href gebruiken en je css/images inladen via een pad dat met / begint. | ||||||
Flepke | vrijdag 11 maart 2011 @ 09:47 | |||||
@Glow, nog bedankt voor advies laatst, hele hoop geleerd afgelopen weken over schaalbare databases ![]() Ik ben op zoek naar wat info over de lengte van velden in een userdatabase, iemand leuke linkjes/blogposts hierover? (lengte van email veld, username veld etc) Handig tooltje om regular expressions mee te testen & te maken: http://rubular.com/regexes/ Generator voor .htcaccess bestandjes om je url mooi te maken: http://www.generateit.net/mod-rewrite/ Leuk artikeltje over hoe sql netjes te maken: http://kevin.vanzonneveld.net/techblog/article/sql_formatting/ | ||||||
MrNiles | vrijdag 11 maart 2011 @ 14:51 | |||||
waar moet ik ergens vertellen dat gebruikerA bijv admin rechten heeft en toegang heeft tot andere pagina's? GebruikerA logt in en die krijgt dan een extra button te zien die voor andere niet zichtbaar is? Hoe werkt zo iets? | ||||||
GlowMouse | vrijdag 11 maart 2011 @ 14:57 | |||||
Met een if. | ||||||
Tegan | vrijdag 11 maart 2011 @ 15:01 | |||||
In een database loggen welke users meer rechten hebben en dan uitlezen en dan; if (user=admin) { echo button; } . | ||||||
stefan1218 | vrijdag 11 maart 2011 @ 15:52 | |||||
als je userlevels per user geeft kan je ook nog moderators etc maken. ik gebruik bv: 1 alleen lezen, 5 mod, 10 admin kan je natuurlijk ook nog tussenstapjes in maken ![]() | ||||||
Flepke | vrijdag 11 maart 2011 @ 23:56 | |||||
Heb even snel scriptje gemaakt om mysql insert queries te kunnen bechmarken:Net even 5 minuten zitten spelen met innodb en zie hier het resultaat, ![]() (Insertqueries in userdatabase) Graag reacties over betrouwbaarheid van het scriptje. Het gaat mij niet zozeer om production vs development verschil maar meer om betrouwbaarheid tussen benchmark #1 met x settings en #2 met y settings zegmaar. Nu nog even database classes herschrijven naar een hybride memcache/mysql en hop hop, update erop ![]() | ||||||
erikkll | zaterdag 12 maart 2011 @ 00:01 | |||||
Ik ben voornamelijk onder de indruk van je grafiekje! Waarmee heb je die gemaakt? ![]() | ||||||
GlowMouse | zaterdag 12 maart 2011 @ 00:05 | |||||
Zoek je microtime(true)? Een md5 is 32 ipv 31 tekens. Doe gewoon return md5(microtime) ipv zo moeilijk te doen. Ik snap niet wat je precies benchmarkt. Insert speed hangt oa af van je buffer pool-grootte, van innodb_flush_log_at_trx_commit, is niet constant in de tijd als je niet harder flusht dan innodb gebruikelijk doet en wordt veel groter bij meerdere threads. | ||||||
xaban06 | zaterdag 12 maart 2011 @ 00:53 | |||||
met pchart is het super simpel ![]() | ||||||
MrNiles | maandag 14 maart 2011 @ 14:20 | |||||
Kan iemand me helpen met het volgende idee.... Ik heb: een tabel met Gebruikers (id, naam etc) een tabel met Optredens (id, datum etc) een koppeltabel voor de aanwezigheid per optreden($O_id) per gebruiker ($G_id) nu wil ik een compleet overzicht maken (in een tabel???) zodat ik op 1 pagina kan zien, of G_id op O_id wel of niet aanwezig is. / G_id=1/G_id=2/etc/etc/etc O_id=1/ JA / NEE / O_id=2/ NEE / JA / Hoe ga ik dit aanpakken? Mensen bij G_id zijn redelijk stabiel, dus om dat eenmalig met de hand op te zetten zou geen probleem zijn. O_id veranderd natuurlijk heel vaak, deze moet dus ook automatisch erbij komen Kan iemand me een concreet voorbeeld geven hoe ik dit moet aanpakken?? | ||||||
Tegan | maandag 14 maart 2011 @ 14:45 | |||||
Wat heb je al geprobeerd? Als er veel gebruikers zijn krijg je wel een heel lelijke tabel... | ||||||
MrNiles | maandag 14 maart 2011 @ 14:50 | |||||
er zijn ongeveer 20 gebruikers, max 30 tot nu toe heb ik dit (gevonden op internet en wat aangepast)
probleem is dat dit dus voor 1 geldt ($G_name) hier staat misschien een omslachtige manier beschreven om het G_id te krijgen maar dit heb ik even uit een ander deel gecopiet ...probleem (vraag) is dus nu.. ik kan dit voor elke gebruiker doen..maar als er dan een gebruiker weggaat of bijkomt moet ik dit gaan aanpassen. niet echt handig dus hoe wel? | ||||||
GlowMouse | maandag 14 maart 2011 @ 14:55 | |||||
Je kunt het allemaal uit 1 query halen: SELECT gebruikers.G_id,gebruikers.O_id,IF(koppel.O.id IS NULL,1,0) AS aanwezig FROM Gebruikers,Optredens LEFT JOIN koppel ON(koppel.O_id = Optredens.id AND koppel.G_id = Gebruikers.id) en dan: while($row=mysql_fetch_array($res)) $aanwezig[$row['G_id']][$row['O_id']] = $res['aanwezig']; } | ||||||
GlowMouse | maandag 14 maart 2011 @ 14:56 | |||||
mooie dag vandaag | ||||||
mschol | maandag 14 maart 2011 @ 15:00 | |||||
wat vinden jullie een logische benaming voor een koppeltabel, als je meerdere koppeltabellen nodig hebt in 1 database? | ||||||
GlowMouse | maandag 14 maart 2011 @ 15:03 | |||||
zeggen wat hij koppelt, bv. gebruikers_optredens | ||||||
MrNiles | maandag 14 maart 2011 @ 15:17 | |||||
ja ik dacht het is zo rustig..laat ik GlowMouse maar weer eens vervelen met stomme vragen ![]() | ||||||
lifeblind | maandag 14 maart 2011 @ 15:30 | |||||
Hm, interessant topic om te volgen, ik kan vast ook wel een zut vragen beantwoorden hier ![]() | ||||||
Chandler | dinsdag 15 maart 2011 @ 16:30 | |||||
Weet iemand een oplossing voor het volgende Ik wil een straatnaam + nummer van elkaar splitsen, echter kan het nummertje er op verschillende manieren staan straatnaam 12 straatnaam 12-12 straatnaam 12a straatnaam 12-a straatnaam 12 a1 etc Nu heb ik het volgende gevonden om het te matchen en splitten maar het werkt niet helemaal, nu heb ik zelf geprobeerd om er aan toe te voegen dat het ook streepjes kan accepteren, maar op een of andere manier werkte het niet. Origineel: preg_match ( '~(.*?)\s*(\d+\D*)$~' , $address , $number Aangepast: preg_match ( '~(.*?)\s*([\-]\d+\D*)$~' , $address , $number maar op een of andere manier weet ik niet hoe ik in (\d+\D*) een - als match kan toevoegen. Iemand? | ||||||
KomtTijd... | dinsdag 15 maart 2011 @ 17:23 | |||||
(.+)\s([0-9].*) | ||||||
Dale. | dinsdag 15 maart 2011 @ 18:13 | |||||
Wie kan me even helpen met deze regex? Ik wil graag floating point getallen matchen. Ik heb deze regex "[-]?[0-9]*\.?[0-9]+" van http://www.regular-expressions.info/floatingpoint.html. Ik wil echter dat de regex alles wegfiltert wat fout is. Nu krijg ik namelijk bij de invoer "-13x.1%.4$,14.2" "x%$," ervoor terug terwijl ik graag "-13.1" wil terug krijgen (alles na de 2de punt is immers fout). | ||||||
Ofyles2 | dinsdag 15 maart 2011 @ 18:50 | |||||
Waarom staat er een vraagteken achter dat punt als ik vragen mag? | ||||||
GlowMouse | dinsdag 15 maart 2011 @ 19:05 | |||||
Chandler: je kunt met preg_match kijken waar het eerste getal voorkomt, of anders
gaat mis bij "straatnaam 12 a1". Hoe moet hij raden dat met "-13x.1" -13.1 bedoeld wordt? | ||||||
Dale. | dinsdag 15 maart 2011 @ 19:54 | |||||
Door de x weg te filteren en alles na, inclusief, de punt? | ||||||
KomtTijd... | dinsdag 15 maart 2011 @ 20:00 | |||||
Gaat mis bij "1e middellandstraat" | ||||||
Ofyles2 | dinsdag 15 maart 2011 @ 20:03 | |||||
Of wat te denken van Plein 1945 3? | ||||||
KomtTijd... | dinsdag 15 maart 2011 @ 20:10 | |||||
waarom niet gewoon filter_var($float,FILTER_SANITIZE_NUMBER_FLOAT) ?? | ||||||
Tegan | dinsdag 15 maart 2011 @ 20:43 | |||||
Laat ze gewoon het huisnummer en toevoeging apart invoeren dan ![]() | ||||||
Ofyles2 | dinsdag 15 maart 2011 @ 20:44 | |||||
Goed idee, daar zat ik ook al aan te denken. | ||||||
Tegan | dinsdag 15 maart 2011 @ 20:44 | |||||
Hoewel ik me afvraag waarom je ze apart nodig hebt? | ||||||
Ofyles2 | dinsdag 15 maart 2011 @ 20:46 | |||||
Vergeet mijn vorige post, ik praatte voor mijn beurt... | ||||||
themole | dinsdag 15 maart 2011 @ 20:55 | |||||
En zelfs als je ze apart nodig hebt kun je het beter in twee velden zetten. Achteraf concateneren is makkelijker dan splitsen. Tenzij je natuurlijk de adressen in een al gegeven database wil splitsen. ![]() | ||||||
Tegan | dinsdag 15 maart 2011 @ 20:59 | |||||
Dat laatste dacht ik ook ja ![]() | ||||||
KomtTijd... | dinsdag 15 maart 2011 @ 21:00 | |||||
Euh, ja ok. | ||||||
GlowMouse | dinsdag 15 maart 2011 @ 21:15 | |||||
Je kunt technisch geen onderscheid maken tussen Plein, nummer 1945 3 en tussen Plein 1945, nummer 3. In dat geval zoek je [0-9x]*\.[0-9x]*, waarna je de x via str_replace uit het resultaat haalt. | ||||||
themole | dinsdag 15 maart 2011 @ 21:19 | |||||
Overigens heb je in nederland ook gebieden die alleen straatnummers hebben, wat het helemaal ingewikkeld maakt. | ||||||
Keiichi | dinsdag 15 maart 2011 @ 22:14 | |||||
Ik ben bezig met prepared statements in mysqli, maar ik kom iets tegen waar ik niet aan uitkom. Ik heb een tabel met veel kolommen, dus ik probeer wat geautomatiseerder queries te maken. Resultaat hiervan is bv: "REPLACE INTO `tabel` (`een`,`twee`,`drie`) VALUES (?,?,?)" Ik heb een array met corresponderende veldtypes en waardes in arrays staan. De types kan ik makkelijk impoden naar een bijhorende string, maar ik kan de array niet als argument opgeven en vol uitschrijven gaat niet (Althans, iemand heeft 100 kolommen in een tabel gemaakt, daarvoor ga ik echt geen 100 variables aanmaken en een mega bind_param call maken ![]() Wie heeft er hiervoor een oplossing? | ||||||
themole | dinsdag 15 maart 2011 @ 22:19 | |||||
Zit er een logica achter de kolomnamen of niet. Als ze bijvoorbeeld 1 t/m 100 heten kan je proberen een for/while loop. Anders ben je vrij goed gefuckt. | ||||||
Light | dinsdag 15 maart 2011 @ 22:30 | |||||
Met een query
| ||||||
KomtTijd... | dinsdag 15 maart 2011 @ 22:31 | |||||
Hoe ziet die array er precies uit dan? Zo'n prepared statement doe je toch gewoon een array voeren? | ||||||
Light | dinsdag 15 maart 2011 @ 22:31 | |||||
Je bent pas echt fucked als de kolomnamen niet duidelijk aangeven wat de inhoud is. | ||||||
themole | dinsdag 15 maart 2011 @ 22:34 | |||||
Dan moet de volgorde van je Array wel gelijk zijn aan de volgorde waarin de kolommen in de tabel staan. Maar het is iig vervelend lastig. ![]() | ||||||
KomtTijd... | dinsdag 15 maart 2011 @ 22:43 | |||||
Met AdoDB kun je ook:
geen idee in hoeverre dat vergelijkbaar werkt... | ||||||
Keiichi | woensdag 16 maart 2011 @ 08:22 | |||||
Ik heb het met PDO opgelost, daar kan ik individueel peer 'tag' opgeven welke waarde ik er aan wil toekennen, bv
Vanuit een DESCRIBE TABLE heb ik alle kolommen idd al gehaald en ook als zodanig de query opgebouwd en daarna bindValue laten doen. Stukje code waar ik uiteindelijk op gekomen ben ![]()
Maar ik vraag me eigenlijk af waarom de features van PDO en mysqli zo verwant aan elkaar zijn, maar dan toch op zulke dingen eigenlijk weer verschillen? |