Je kunt ook eerst de update doen, dan controleren hoeveel rijen er aangepast zijn (met mysql_num_rows()) en op basis daarvan je IF doen.quote:Op zaterdag 6 oktober 2012 20:40 schreef Devolution het volgende:
Nee helaas niet, omdat hij in die IF ook nog wat HTML output via een echo. Dit is voor dit probleem echter niet relevant en daarom heb ik dit niet in de code staan
Of hij begreep het heel goed en was bang voor overengineering of het second-system effect. Het wordt tijd dat de pragmatiek weer breder gedragen gaat worden in het developmentwezen.quote:Op woensdag 3 oktober 2012 14:17 schreef Tijn het volgende:
[..]
Ik zat vanochtend nog bij een klant voor een nieuw project die me expliciet vroeg om het niet "te object-georiënteerd" op te zetten
Maar goed, dat komt waarschijnlijk omdat 'ie het zelf ook niet zo goed begrijpt denk ik. Ik zie eigenlijk geen reden om niet gewoon met controllers en models te werken.
Mja, de vrij strakke deadline dwingt sowieso al een bepaalde pragmatiek afquote:Op zondag 7 oktober 2012 11:08 schreef rekenwonder het volgende:
[..]
Of hij begreep het heel goed en was bang voor overengineering of het second-system effect.
Het wordt tijd dat de pragmatiek breder gedragen gaat worden in het developmentwezen.
Programming Motherfucker.com, Do you speak it? :-)
Misschien dat je daar toch een stukje van kunt posten? Je zegt dat de code zoals je die postte in een nieuw document gewoon werkt, dus wellicht ligt het toch aan de overige code.quote:Op zaterdag 6 oktober 2012 17:11 schreef Devolution het volgende:
Ik heb de rest van de code op de pagina niet genoemd omdat ik niet denk dat daar het probleem in zit.
Daarnaast is het wel een walgelijk stukje code. In die 4 regels gaan al 4 dingen mis...quote:Op zondag 7 oktober 2012 13:33 schreef Devolution het volgende:
Ik heb het eindelijk opgelost. Het had te maken met een AJAX call in de code (die werd aangeroepen via een javascriptcode die weer via een echo geplaatst werd in die IF hierboven) die de bewuste cel aanpaste nadat de update de cel leeggemaakt had. De update werkte dus wel maar daarna veranderde de AJAX call doodleuk de waarde weer in de oude
Ik ben erachter gekomen door de javascriptcode weg te halen, waardoor de pagina het perfect deed. Toen wist ik dus dat het daaraan moest liggen en heb ik de complete javascriptcode (en de resulterende AJAX-call) vervolgens regel voor regel nagelopen en kwam ik achter de fout.
Ik heb hiervoor nog nooit met AJAX calls gewerkt dus vandaar dat ik deze stomme fout gemaakt had haha Maar het werkt nu weer
1 2 3 4 5 6 7 8 | <?php $rij = mysql_fetch_array(mysql_query("SELECT movespeler1,movespeler2 FROM fightdata WHERE id = '1'")); $move = $rij['movespeler1']; if ($move != ""){ // De tegenstander heeft een move uitgevoerd mysql_query("UPDATE fightdata SET movespeler1 = '' WHERE id = '1'"); } ?> |
jij gaat voor de bullshitbingo?quote:Op maandag 8 oktober 2012 19:42 schreef Scorpie het volgende:
Of pas na drie aanslagen fetchen, deze in cache opslaan en daar verder in filteren.
Nee lekker alles in het Nederlands uitspreken, dat zet zoden aan de dijkquote:
Je strooide met termen zonder specifiek aan te geven waar dat gebeurde. Fetchen is in php-land sowieso iets vreemds als je het over user-input hebt. Het was voor mij onbegrijpelijk wat je met je post bedoelde.quote:Op maandag 8 oktober 2012 20:12 schreef Scorpie het volgende:
[..]
Nee lekker alles in het Nederlands uitspreken, dat zet zoden aan de dijk
'Na 3 aanslaguh de resultaten ophaluh en dan lokaal bijhouduh en dan daarin gaan zoekuh'.
Data fetchen is jou vreemd? De relatie met een input field kon je ook niet leggen? User-input is wel een normale term ? Dit soort termen worden dagelijks gebezigd zonder dat er iemand is die niet snapt waar het over gaat, zeker de gemiddelde devver weet precies wat dit inhoud. Daarnaast is de door mij geposte manier een beproefde methode voor een live search veld.quote:Op maandag 8 oktober 2012 20:24 schreef GlowMouse het volgende:
[..]
Je strooide met termen zonder specifiek aan te geven waar dat gebeurde. Fetchen is in php-land sowieso iets vreemds als je het over user-input hebt. Het was voor mij onbegrijpelijk wat je met je post bedoelde.
Dan nog kun je zonder foutafhandeling in de problemen komen. Bijvoorbeeld als de tabel wordt aangepast en je de code niet overal bijwerkt. Of als het id niet bestaat, of de verbinding met de database moeilijk doet. Als mysql_query (een functie die je eigenlijk niet meer moet gebruiken) geen resultaat oplevert, gaat mysql_fetch ook mis.quote:Op zondag 7 oktober 2012 18:50 schreef Devolution het volgende:
Foutcontrole op de fetch is niet nodig omdat de cellen uit de query altijd bestaan.
quote:Op maandag 8 oktober 2012 19:09 schreef cablegunmaster het volgende:
2. onchange javascript dat als een verandering op het input veld is er een javascript activeert, die de resultaten post richitng de server. Dit lijkt me alleen zwaar te zijn, (kan het mis hebben). elke aanpassing een aparte query verstuurd , geen idee in wat voor orde query's gaan maar, mij is geleerd zo min mogelijk query's te gebruiken. kan het helemaal mis hebben.
Onchange() -> functie in jquery pakt de value van het huidige input veld. Stuurt de waarde per $.post in javascript door naar functie in php. en php stuurt het door richting SQL database.
Ik doe zoiets meestal met een timeout, dus dit idee:quote:Op maandag 8 oktober 2012 19:42 schreef Scorpie het volgende:
Of pas na drie aanslagen fetchen, deze in cache opslaan en daar verder in filteren.
1 2 3 4 5 | var timeout=null; function onkeyupfunctie(){ if (timeout!=null) clearTimeout(timeout); setTimeout("functieDieAjaxVerstuurt()", 3000); } |
Je moet nooit er vanuit gaan dat iets altijd bestaat.quote:Op zondag 7 oktober 2012 18:50 schreef Devolution het volgende:
Foutcontrole op de fetch is niet nodig omdat de cellen uit de query altijd bestaan.
Het kan wel zo, maar het is niet netjesquote:Er zijn niet 2 spelernamen in 1 tabel, zie onder*.
controleer je dan wel of die string ook aan je voorwaarden voldoet?quote:Als laatste stonden er quotes omdat daar normaal een php string staat, maar voor testdoeleinden had ik daar even een 1 van gemaakt.
Maar wat als je meer acties krijgt? Dan kun je het niet opschalenquote:* Elk gevecht krijgt een eigen rij. In die rij staan onder andere de columns movespeler1 en movespeler2. Deze geven aan welke aanval elke speler heeft gekozen in datzelfde gevecht en deze worden geleegd zodra beide spelers deze aanval gezien hebben als animatie. Het is dus niet nodig om deze in aparte tabellen te zetten omdat het slechts de acties weergeeft binnen 1 gevecht.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |