translation script - printing multiple records

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
sn202
Forum Commoner
Posts: 36
Joined: Thu Dec 16, 2004 7:30 pm

translation script - printing multiple records

Post by sn202 »

Hi people,

Basically I am creating a translation script and what I want is to print (in a table) all the strings stored in table dictionary_new which are LIKE '%$search_term%'. These need to be printed in language code 'translate_from' and 'translate_to' (e.g. English and French - these depend on preset variables stored in the database). What I have at the moment is a singular string being printed in both selected languages. What I want is all the strings that are relevant... Code:

Code: Select all

<?php    
require_once("/var/www/html/settings/config.php");

    print "</head>\n";
    print "<body bgcolor=\"#FFFFFF\"><p><strong><font size=\"3\">Translation Page:</strong></font></p>\n";
    print "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#C0C0C0\" width=\"100%\">\n";
    print "<form name=\"form1\" method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">\n";
    print "<tr><td width=\"20%\" align=\"centre\"></td></tr>\n";
    print "<tr><td width=\"80%\" align=\"left\">Term to be translated:<input type=\"text\" name=\"term\"><input type=\"submit\" name=\"Submit\" value=\"Submit\"></td></tr>\n";
    print "</table><br/>\n";
        
    $admin_id = $_SESSION['admin_id'];
    $search_term = escapetxt($_REQUEST['term']);
    
    if ($search_term !="")
        {
        //get admin users' specified translation languages
        $get_langs = "SELECT *  
        FROM admin_users
        WHERE ID = '$admin_id'";
        $lang_result = mysql_query($get_langs);
    
        $translate_from = mysql_result($lang_result,0,"language_from");
        $translate_to = mysql_result($lang_result,0,"language_to");
      //get data where search term is included
        $translate_term = "SELECT * FROM `dictionary_new`
        WHERE value LIKE '%$search_term%'";
        $translation_terms = mysql_query($translate_term);
            
        $elem_id = mysql_result($translation_terms,0,"elem_id");
        //get translation  
        //$from = get_dic_term($elem_id, $translate_from);
        //$to = get_dic_term($elem_id, $translate_to);
        
        print "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#C0C0C0\" width=\"100%\">\n";
        print "<tr><td align=\"centre\"><b>Language From: </b>$translate_from</td><td align=\"centre\"><b>Language To: </b>$translate_to</td></tr>\n";
        Print "<br />\n";
        print "<tr><td><b>original</b></td><td><b>translated</b></td></tr>\n";    
        
        $ask = "SELECT value from dictionary_new WHERE elem_id='$elem_id' AND language_id = '$translate_from'";
        $result=mysql_query($ask);
        $terms = '';
        while ($row = mysql_fetch_array($result, MYSQL_NUM)){
            $terms .= " {$row[0]},";
        }
                
        $ask2 = "SELECT value from dictionary_new WHERE elem_id='$elem_id' AND language_id = '$translate_to'";
        $result2=mysql_query($ask2);
        $translation = '';
        while ($row2 = mysql_fetch_array($result2, MYSQL_NUM)){
            $translation .= " {$row2[0]},";
        }
        
        print "<tr><td>$terms</td><td>$translation</td></tr>\n";
        print "</table></form></table>\n";
        }
    ?>

Cheers.
Last edited by sn202 on Thu Oct 13, 2005 5:45 pm, edited 1 time in total.
User avatar
bokehman
Forum Regular
Posts: 509
Joined: Wed May 11, 2005 2:33 am
Location: Alicante (Spain)

Re: translation script - printing multiple records

Post by bokehman »

sn202 wrote: I am creating a translation script
Should I laugh now or wait until I see your output.
sn202
Forum Commoner
Posts: 36
Joined: Thu Dec 16, 2004 7:30 pm

Post by sn202 »

Thank you..... Very helpful and informative…. Exactly what this forum was created for…
Post Reply