2 bugs bij dieren spel

  • Hallo iedereen,


    Ik ben al een hele tijd bezig met een soort fantasie / dieren rpg te maken.
    Ik heb alleen een 2-tal problemen op de pagina.


    Het is een pagina die alle dieren laat zien die kunnen veranderen van vorm.
    Er zijn dieren die niet kunnen veranderen, en er zijn dieren die het wel kunnen, en sommige zelfs naar 2.
    Het probleem nu is dat hij maar 1 vorm toont in plaats van ze allemaal...


    Vervolgens, als ik op transformeren klik, dan update hij het verkeerde..
    Ik ben nu al een hele poos aan het zoeken, maar kan niets vinden.


    Misschien dat jullie eens zouden kunnen kijken wat er fout loopt, of waardoor hij dus wel alle vormen laat zien.
    code:


    Alvast bedankt!

  • Hij veranderd van het verkeerde dier als eerste (bij opzak_nummer staat er niets omdat ik hem niet bij me heb, wat dus al niet kan want het moet groter dan 0 zijn?) en hij wijzigd het id dus naar niets, terwijl het ook staat aangegeven wat het moet zijn

  • Het opzak nummer wordt eerder al meegegeven.
    Dit kan ik ook wijzigen op een pagina, dus dat moet goed lopen?


    En omdat het in de while loop staat moet hij van het juiste dier de gegevens updaten.
    Alleen moet er iets fout lopen in de query voor het updaten ervan.


    Alleen weet ik niet juist wat er fout gaat.

  • We zullen is een zien wat je gebakken hebt. Als ik je code bekijk heb je een while loop. In deze loop komen al je diertjes naar voren en dan heeft elk diertje een transform knopje.
    Om te beginnen wat is dit?

    PHP
    if(isset($_POST['transstart'])){
    	mysql_query("UPDATE dier_speler SET animal_id = '".$vormen['naar']."' WHERE opzak_nummer = '".$q['opzak_nummer']."'");
    	echo'<div class="green">Je dier is succesvol getransformeerd!</div>';
    }


    Waarom doe je dit in godsnaam met POST en waarom niet gewoon met GET? Dan kun je nog is eens id meegeven.


    Wat mij opvalt en ik denk dat je probleem vooral is, je query. Ergens in je while loop doe je dit.

    PHP
    $vormen = mysql_fetch_assoc(mysql_query("SELECT * FROM vormen WHERE van = '".$q['animal_id']."'"));


    Vervolgens in je query roep je $vormen aan. Hier zal nooit niks gebeuren met $vormen want de code zit niet eens in de loop. Als je je PHP op strict zou zitten had je dit heel snel gezien.

    SQL
    mysql_query("UPDATE dier_speler SET animal_id = '".$vormen['naar']."' WHERE opzak_nummer = '".$q['opzak_nummer']."'");


    Ik hoop dat dit je probleem oplost.


    Overigens is een ding zeker. De code die jij hier hebt heeft meer uitleg nodig wat jij precies wil bereiken met deze code. Misschien een andere tip koop een rubber eendje en ga rubber duck debugging doen http://en.wikipedia.org/wiki/Rubber_duck_debugging. Ik aan dat je nog flink lerend bent met php dus dat is deze manier van debugging zeer leerzaam


    P.S. MySql even vervangen :whistling:

  • Maikel, doe code helemaal in het begin van je bericht

    Citaat

    if(isset($_POST['transstart'])){
    mysql_query("UPDATE dier_speler SET animal_id = '".$vormen['naar']."' WHERE opzak_nummer = '".$q['opzak_nummer']."'");
    echo'<div class="green">Je dier is succesvol getransformeerd!</div>';
    }


    Daarin zou hij het dier van vorm moeten laten veranderen.


    Vervolgens, als ik die $vormen buiten de while loop haal, dan laad hij de gegevens niet...


    Dus ik ben nog niet echt verder :s


    Mvg

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!