-1

Hello.
I have tired too much ways to overcome this issue but can't find a way yet.
I am making a user defined function, when click a "And new row", This function will be called and a new row will be added. There in first cell, a dropdown menu will be appper, where options will be collected from sql table doctor_t. All going well, but menu options are missing. Please help..

The code is here

    var element = document.createElement("select");//create select element
    element.setAttribute("name", "text");
    var option = document.createElement("option");//create option element
    <?php
    //Server= localhost, Username= root, pasword = "there is no password" and db name = bsc_db.
    mysql_connect('localhost', 'root', '') or die('Connection could not be established');
    mysql_select_db('bsc_db') or die('Database is not present');
    $q = mysql_query("SELECT * FROM doctor_t");
    $options = '';
    while($r = mysql_fetch_array($q))
    {
    $options .= '<option value="'.$r['id'].'">'.$r['dname'].'</option>';
    }
    ?>
    option.text = '<?php echo $options;?>';//option text attribute
    option.value= "text";
    //option.value = "name";//option value attribute
    try
    {
    element.add(option, null); //Standard
    }catch(error) {
    element.add(option); // IE only
    }
    cell1.appendChild(element);
4
Contributors
6
Replies
40
Views
4 Years
Discussion Span
Last Post by pzuurveen
-1

there is error in line 20 and 22.The variable name must be options that you have created above.

Why are you using these two lines.Remove these two lines.

 option.text = '<?php echo $options;?>';//option text attribute
    option.value= "text";

This might solve your problem as you are adding option which is a group and assigning value to it that is an error.

So your code will be :-

$options = '';
while($r = mysql_fetch_array($q))
{
$options .= '<option value="'.$r['id'].'">'.$r['dname'].'</option>';
}
?>

try
{
element.add(options, null); //Standard
}catch(error) {
element.add(options); // IE only
}
cell1.appendChild(element);
0

Nope. I am still not geetting point. Their is still an error I am making. Its still not working. I have tried the code you mentioned above.

When I click the "Insert New Row" button, A line is inserted in the new row in all 4 cells.

Edited by akkbkht: Statement missing.

-1

you need to add each option-element to the select-element separately.
So put the element.add insde the while loop:

    var element = document.createElement("select");//create select element
    element.setAttribute("name", "text");
    var option = document.createElement("option");//create option element
    <?php
    //Server= localhost, Username= root, pasword = "there is no password" and db name = bsc_db.
    mysql_connect('localhost', 'root', '') or die('Connection could not be established');
    mysql_select_db('bsc_db') or die('Database is not present');
    $q = mysql_query("SELECT * FROM doctor_t");
    $options = '';
    while($r = mysql_fetch_array($q))
        {
        $options .= '<option value="'.$r['id'].'">'.$r['dname'].'</option>';

        ?>
        option.text = '<?php echo $options;?>';//option text attribute
        option.value= "text";
        //option.value = "name";//option value attribute
        try {
            element.add(option, null); //Standard
            }
        catch(error) {
            element.add(option); // IE only
            }

   <?php  } // end while ?>  
    cell1.appendChild(element);

Edited by pzuurveen

1

Urgh! Sorry, no offence, but mixing all that php in the js gives me the shivers. How about separating out the php (e.g. above the DTD or in an include file) and just leaving the echo variable? Your js will be a lot cleaner and it'll be easier to maintain.

Edited by diafol

0

@pzuurveen.
Thanks for suggession. I have tried your instruction but its taking these options like string. I am puzzled where is the mistake....

Image shows the mess.Click HereWhen I click on the "New Row" Button. So get the stuff just shown in the attached image...

Attachments patient_error.png 21.17 KB
-1

This should be better

    var element = document.createElement("select");//create select element
    element.setAttribute("name", "text");
    var option = document.createElement("option");//create option element
    <?php
    //Server= localhost, Username= root, pasword = "there is no password" and db name = bsc_db.
    mysql_connect('localhost', 'root', '') or die('Connection could not be established');
    mysql_select_db('bsc_db') or die('Database is not present');
    $q = mysql_query("SELECT * FROM doctor_t");

    while($r = mysql_fetch_array($q))
        {
        ?>
        option.text = '<?php echo $r['dname'];?>';//option text attribute
        option.value= "<?php echo $r['id']; ?>";
        try {
            element.add(option, null); //Standard
            }
        catch(error) {
            element.add(option); // IE only
            }
    <?php } // end while ?>
    cell1.appendChild(element);
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.