Zufällige Quests temporär speichern

Jap hat sich überschnitten.
Intresant wird es wenn der TE auf die Frage des Counters zurückkommt. Timing und Logged/NotLogged User und Abläufe. Ab er da gab es hier irgendwo nen Thread dazu.
 
Soooo hier mal so weit wie ich es bisher geschafft habe...

In dieser Funktion soll erst einmal geprüft werden, ob Einträge in der Tabelle `character_quests` vorhanden sind.

Wenn nicht => 3 zufällige aus der Tabelle `quests` generieren und in `character_quests` mit zusätzlichen Werten (Belohnung, characterID, Dauer) speichern.

Wenn vorhanden => Die 3 Quests anzeigen...

PHP:
        $questID = ; //keine Ahnung wie ich an die Werte noch ran komme
        $questTitle = ;
        $questDescription = ;
        $characterID = ;
        $questMoney = getCharacters('levelID') * rand(1,4);
        $questExperience = getCharacters('levelID') * rand(50,200);
        $questTime =  150 * rand(1,4);

function listRandomQuests() {
    global $db, $characterID;
    
    if(mysqli_query($db, "SELECT count(*) FROM character_quests WHERE characterID = $characterID") > 0) {
    
        $sql    =   "
                    SELECT
                        questName,
                        questDescription,
                        questGold,
                        questExperience,
                        questTime
                    FROM
                        character_quests
                    WHERE
                        characterID = $characterID
                    ORDER BY
                        questTime ASC
                    ";
        $result = $db->query($sql);
        $rows   = array();
        
        while($row = $result->fetch_object()) {
            $rows[] = $row;
        }
        
        foreach($rows as $row) {
            echo "<div>";
            echo "<input id='$row->questName' type='radio' name='randomQuest' value='$row->questName' />";
            echo "<label for='$row->questName'>";
            echo "<span class='yellow'>$row->questName</span>";
            echo "<br />";
            echo "$row->questDescription";
            echo "</label>";
            echo "</div>";
        }

    } else {

        $sql  = "
                INSERT INTO
                    character_quests(
                        questID,
                        questTitle,
                        questDescription,
                        characterID,
                        questMoney,
                        questExperience,
                        questTime
                    )
                VALUES
                    (
                        ?, ?, ?, ?, ?, ?, ?
                    )
                ";
                
        $stmt = $db->prepare($sql);
        $stmt->bind_param   (
                            'issiiii',
                            $questID,
                            $questTitle,
                            $questDescription,
                            $characterID,
                            $questMoney,
                            $questExperience,
                            $questTime
                            );
        $stmt->close();
    
    }
}

Jetzt seht ich vielleicht nochmal deutlicher was ich versuche da zu schaffen...

Was ich konkret wissen möchte: Geht das so überhaupt, oder verfolge ich eine falsche Spur?!
 
Zuletzt bearbeitet:
Zurück