Bij voorbaat alvast dank voor de genomen moeite tijdens het lezen van deze post van een gloednieuwe gebruiker.
Op het moment ben ik bezig met het schrijven van een vragenlijst. Deze vragenlijst sla ik lokaal op in een phpMyAdmin database en run ik op OSX d.m.v. MAMP.
De betreffende database ziet er als volgt uit (ter illustratie, ik hoop dat de opmaak een beetje fatsoenlijk er uit rolt):
ID | vraag_top | vraag_bot | post_btn_nee | post_btn_ja
1 | vraag | vraag | int 1 of 0 | int 1 of 0
2 etc
3 etc etc.
Nu zou ik middels <p class ="vraag-top"><?= $vraag_top ?></p> in de HTML in een <div> (niet in een php echo), de variabele $vraag_top & _bot willen gebruiken om de vragen uit de database te laden, en nog belangrijker; later de gegeven waardes van de <a href> voor post_btn_ja & nee in opslaan. In mijn leek taal: de variabelen $vraag_top en $vraag_bot zijn middels sass/scss mooi gestyled en met (?) if else statements (?) of onClick events op de Ja / Nee href (?) bepalen dat er antwoord is gegeven, dit antwoord opslaan in de database om hier later een uitkomst op te genereren en de volgende vraag te weergeven.
Ik betwijfel of mijn code allemaal logisch en/of semantisch is, ik beroep mij dan op het feit dat ik recent met .php begonnen ben :-), en hoop dat jullie mij alsnog verder willen helpen!
Even ter duidelijkheid om een regelmatige veel gemaakt fout recht te zetten:
phpMyAdmin is geen database, maar een databasebeheertool voor MySQLi/MariaDB databases. In het algemeen gebruik je deze het meest om een databasestructuur op te zetten en even snel wat data in te voeren (voor bijv. test- en ontwikkeldoeleinden).
Even ter duidelijkheid om een regelmatige veel gemaakt fout recht te zetten:
phpMyAdmin is geen database, maar een databasebeheertool voor MySQLi/MariaDB databases. In het algemeen gebruik je deze het meest om een databasestructuur op te zetten en even snel wat data in te voeren (voor bijv. test- en ontwikkeldoeleinden).
Dank voor uw snelle en duidelijke reactie Ariën!
Wat adviseert u met betrekking tot mijn bovenstaande vraag en uw gegeven informatie?
Bij voorbaat dank.
Ik ben benieuwd waarom je twee velden hebt met: post_btn_nee en post_btn_ja.
Moet je altijd één van beide keuzes maken, of mag je ook een vraag leeg laten?
Correct, de gebruiker beantwoord de vraag met "ja" of "nee", deze waarden moeten opgeslagen worden om met de uitkomst aan het eind een conclusie aan te trekken.
Dan is deze opzet niet echt verkeerd. Je kan ook kiezen voor een enkel veld met 'answer' en daarin een E_NUM type met 0 of 1. Maar dan blijft het wel bij vaste keuzes. Als je de opzet verandert met open vragen, meerkeuzes etc, dan zul je een aparte tabel moeten gebruiken.
Dan is deze opzet niet echt verkeerd. Je kan ook kiezen voor een enkel veld met 'answer' en daarin een E_NUM type met 0 of 1. Maar dan blijft het wel bij vaste keuzes. Als je de opzet verandert met open vragen, meerkeuzes etc, dan zul je een aparte tabel moeten gebruiken.
Dank voor je reactie. Ik ga de velden veranderen naar "antwoord/answer", dit lijkt me inderdaad beter. Nu kom ik terug op de eerste vraag. Hoe kan ik de vragen uit de database lezen, displayen in een div/p tag en het antwoord op die pagina opslaan?
** quote-knip **
Dat is ook mij huidige structuur, excuus voor het niet eerder volledig vermelden.
$id = isset($_GET['id']);
$sql = "SELECT * FROM vragenlijsttbl ORDER BY id DESC";
$result = $connection->query($sql) or die($connection->error);
while($row = $result->fetch_assoc()) // nog geen foutmelding handler
{
$vraag_top = $row["vraag_top"];
$vraag_bot = $row["vraag_bot"];
};
en deze wil ik displayen in:
<div class ="container_vragen">
<p class ="vraag-top"><?= $vraag_top ?></p>
<p class ="vraag-bot"><?= $vraag_bot ?></p>
</div>
Het resultaat toont de laatste vraag in de row van de database, id2. Door "ORDER BY id DESC" toe te voegen aan de $sql variabele "SELECT * FROM" tonen $vraag_top en _bot de eerste row.
Het gewenste resultaat is dat er een <a href> (of iets anders) op de "Ja" en "Nee" knop komt te staan en die de resultaten post in de betreffende row gekoppeld aan het id.