1. #1

    Registered
    30/11/03
    Posts
    275
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    PHP: Aantal inputs afhankelijk van aantal database resultaten

    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?
    no votes  

  2. #2
    /\quila's Avatar
    Registered
    11/11/03
    Location
    Kortessem
    Posts
    512
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/16
    PHP Code:
    mysql_num_fields();
     
    mysql_num_rows(); 
    Dit mischien wat ge nodig hebt?
    function.mysql-num-fields
    function.mysql-num-rows

    Dit dan in combinatie met een loopje (for of while)...
    Last edited by /\quila; 30-09-2004 at 20:17.

    "Beat the machine that works in your head"
    no votes  

  3. #3
    Dece's Avatar
    Registered
    25/10/02
    Location
    Ninove
    Posts
    829
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    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
    no votes  

  4. #4
    J-Style's Avatar
    Registered
    05/01/03
    Location
    -
    Posts
    938
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/5
    Quote Originally Posted by Dece
    This quote is hidden because you are ignoring this member. Show
    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, ..
    no votes  

  5. #5

    Registered
    30/11/03
    Posts
    275
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    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
    no votes  

  6. #6

    Registered
    30/11/03
    Posts
    275
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    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.
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in