Ik heb een wereld gemaakt in mijn MYSQL database.
Alles opzich in orde maar ik kom even niet uit de navigate.
Ik wil nu met een query de juiste gegevens selecteren welke weergegeven moeten worden.
Als je naar jouw dorpje kijkt dan staat het gecentreerd dus bijvoorbeeld:
Ik weergeef 7 x 7 hokjes. 7 breed, 7 hoog dus in totaal 49 velden.
De coordinaten van mijn dorp zijn X-5 en Y-5 op de x-as en y-as.
Deze zal dus uiteraard in het midden van het beeld weergegeven worden in veldje 5, 5 (X-5, Y-5). Hoe weergeef ik nu het beste de velden er om heen? want deze zijn niet aansluiten natuurlijk.
Ik moet dus ranges selecteren van 22 t/m 28, en dan 32 t/m 38 en zo doende vanuit gaand het middel punt (denk ik?)...
zou iemand mij wat tips kunnen geven over hoe ik dit moet aanpakken want ik heb eigenlijk geen idee om eerlijk te zijn
want om nu 7 queries te maken voor elke rij, zal ook niet de ideale oplossing zijn denk ik toch ;)
Waarbij de vetgedrukte (X2 Y2) in het midden van mijn beeld moet komen te staan. Ik heb gewoon 5 x 5 div's gemaakt waarin ik een
<?php echo '<img src="">'; ?> heb staan en het id van de bijbehorende coordinaat weergeeft dan een plaatje die bij dat hokje hoort. Maar goed, ik krijg nu dus niet de coordinaten zoals ik hierboven heb afgebeeld. Zo moet ik ze dus hebben. Het centrale punt, in dit geval X2, Y2 komt uit een URL link bijvoorbeeld dorp.php?x=2&y-2.
Ik ga nog even verder proberen maar heb weinig hoop, ik zit volgensmijn gewoon dom na te denken of te moeilijk haha. Hopelijk kan iemand het even voordoen voor me, sorry voor het ongemak!
P.S. mijn MYSQL table is als volgt opgemaakt (hieruit haal ik de veldjes dus!)
Ah, ik dacht dat je van die coördinaten eromheen uit de database moest halen. Ik zal vanmiddag (als niemand anders eerder is) even kijken hoe ik het voor je moet aanpassen om te werken.
Ik wil dus de achtergrond types (tile_1.png, tile_2.png enzovoort) uit de MYSQL halen en in de array zetten. Als ik nu var_dump doe geeft mijn array het volgende weer:
PHP_EOL geeft afhankelijk van het OS een bepaalde enter weer.
%d staat voor het invoegen van een decimaal getal, kijk voor meer uileg bij PHP.net: sprintf
Wat je zegt over de if klopt:
statement ? doen_als_true() : doen_als_false();
Is de afkorting voor:
if (statement) {
doen_als_true();
} else {
doen_als_false();
}
Succes met dat stukje SQL, volgens mij doe je niets fout, dus dat zou vanzelf goed moeten komen. Voor de snelheid zou je eventueel alles in één keer op kunnen halen.
De query werkt niet schijnbaar, blijf een NULL terug krijgen als ik een var_dump doe op mijn $bg;
Ben er wel achter gekomen dat dit het probleem is:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-6"' at line 1
Dit komt omdat ik RONDOM het centrale puint selecteer.
Ik selecteer vanaf het midden 3 velden omhoog, als er maar 2 velden in mijn database staan, dan begint hij met - (minus) te rekenen.
Hierdoor loopt hij in de QUERY dus vast, iemand enig idee hoe ik dit kan oplossen?
De query in een IF statement zetten van, als x-as en y-as groter of gelijk zijn dan 0 (nul) dan query doen anders een leeg veld in de array doen??? want ik kan niet gewoon even 1 veld overslaan want dan klopt de array niet meer met het aantal veldjes van 7x7 ;)