Archief - PHP: Aantal inputs afhankelijk van aantal database resultaten

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

.kw

Legacy Member
Ik werk aan een systeem om woorden te leren (franse, duitse, engelse). De woorden die in je lijst staan kan je oefenen. Dan komt er bijvoorbeeld "een woord" op het scherm met daaronder een formulier met een input waarin je de vertaling moet typen. Het probleem: als het nederlandse woord meerdere keren voorkomt in de database (synoniemen) moeten er evenveel inputs komen te staan, zodat je ze allemaal moet ingeven. Hoe doe je dat?

Dece

Legacy Member
Hoe steek je die woorden in je db?
Code:
+++++++++++++++++++++++++++++
|  ID  |   vreemd woord | nederlands  |
+++++++++++++++++++++++++++++
| 1    |   Hello              | Hallo          |
| 2    |   Hello              | Goededag   |
+++++++++++++++++++++++++++++

-> php
$translations = mysql_query("SELECT nederlands FROM tabel WHERE vreemd_woord = 'hello'");
while($transarr[] = mysql_fetch_array($translations));
$last_element = array_pop($transarr); // laatste lege elementje in de $transarr verwijderen
$loops = count($transarr) -1;
for ($i=0; $i<=$loops; $i++) {
     //echo van u velden
}

of steek je de synoniemen in een rij?
Code:
++++++++++++++++++++++++++++++++++++++++
| ID  |  Vreemd_woord    | Vertaling1  | Vertaling2   |
++++++++++++++++++++++++++++++++++++++++
| 1    | Hello                 |  Hallo        | Goeiedag     |
++++++++++++++++++++++++++++++++++++++++

-> php
 $translations = mysql_query("SELECT * FROM tabel WHERE vreemd_woord = 'hello'");
$loops = mysql_num_fields($translations) - 2; // -2 want ID en vreemd_Woord zijn er ook bij
//echo maar

mn voorkeur gaat uit naar 1

J-Style

Legacy Member
Dece zei:
mn voorkeur gaat uit naar 1

Dan nog wel best 'taal' derbij steken.
Anders krijgt ge misschien woorden die hetzelfde zijn in het Frans als in het Engels, ..

.kw

Legacy Member
id int(9) unsigned NOT NULL auto_increment,
uid int(9) NOT NULL default '0',
lang enum('frans','engels','duitsa','duitsb','undefined') NOT NULL default 'undefined',
`foreign` varchar(150) NOT NULL default 'undefined',
dutch varchar(150) NOT NULL default 'undefined',
list varchar(50) NOT NULL default 'undefined'

dat is m'n table

.kw

Legacy Member
Het lukt nu wel om evenveel inputs te tonen als er vertalingen zijn voor een woord, maar hoe kan ik nu controleren of de ingevoerde woorden juist zijn? Voor elk woord dat verkeerd is komt het juiste antwoord in de error. Stel dat "hallo" 3 vertalingen had, namelijk "hello", "hi" en "hey"; de gebruiker gaf als antwoorden respectievelijk "hi", "hollo" en "hei". Dan moet de error zijn: "De vertalingen van 'hallo' zijn 'hello', 'hi' en 'hey'". Dit vind ik verschrikkelijk moeilijk, ik heb al meer dan een uur geprobeerd en getest, maar het werkt nog niet. :help:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan