problem with "if-else" statement

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • naughtybynature
    New Member
    • Sep 2006
    • 9

    problem with "if-else" statement

    [PHP]
    <html>
    <head>
    <title>Search Questions</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php

    $query = '';
    $jenis = '';


    $searchtype=$HT TP_POST_VARS['searchtype'];
    $searchterm=$HT TP_POST_VARS['searchterm'];
    $searchterm=tri m($searchterm);

    if (!$searchtype || !$searchterm)
    {
    echo 'You haven\'t entered search details. Please try again';
    exit;
    }

    $searchtype = addslashes($sea rchtype);
    $searchterm = addslashes($sea rchterm);

    error_reporting (0);
    @ $db = mysql_pconnect( 'localhost', 'root', '');
    mysql_select_db ('sistem bank soalan');
    $jenis = $_GET["jenis"];

    if (!$db)
    {
    echo 'Error: Cannot connect to database!! ;p';
    exit;
    }

    $query = "SELECT * FROM soalan WHERE ".$searchty pe." LIKE '%".$searchterm ."%'" ;

    $result = mysql_query($qu ery);


    $num_results = mysql_num_rows( $result);

    echo '<p>Number of question found: '.$num_results. '</p>';

    for ($i=0; $i <$num_results ; $i++)
    {
    $row = mysql_fetch_arr ay($result);
    echo '<p><strong>'.( $i+1).'. No Soalan: ';
    echo htmlspecialchar s(stripslashes( $row['id']));
    echo'</strong><br />Soalan: ';
    echo stripslashes($r ow['soalan']);
    echo '<br />Jenis: ';
    echo stripslashes($r ow['jenis']);


    if ($jenis == "Objektif") {
    echo '<br />A: ';
    echo stripslashes($r ow['jwpA']);
    echo '<br />B: ';
    echo stripslashes($r ow['jwpB']);
    echo '<br />C: ';
    echo stripslashes($r ow['jwpC']);
    echo '<br />D: ';
    echo stripslashes($r ow['jwpD']);
    echo '<br />Jawapan: ';
    echo stripslashes($r ow['jwpObj']);
    }
    else {
    echo '<br />Jawapan: ';
    echo stripslashes($r ow['jwpSubj']);
    }
    echo '<br />Aras Kesukaran: ';
    echo stripslashes($r ow['araskesukaran']);
    echo '<br />Sesi Peperiksaan: ';
    echo stripslashes($r ow['sesipeperiksaa n']);
    echo '<br />Bahagian: ';
    echo stripslashes($r ow['bahagian']);
    echo '<br />Add User: ';
    echo stripslashes($r ow['adduser']);
    echo '</p>';
    }
    ?>
    <p align="center"> <font face="BatangChe "><strong> </strong></font></p>
    </body>
    </html>
    [/PHP]

    NOTES: My coding cannot funtion well. it doesnt work..urmm.. okay, let me explain bout it first.. there's a table name SOALAN in my system that contain some field such as id, soalan, jwpA, jwpB, jwpC, jwpD, jwpObj, jwpSubj, jenis(which is type), and many more. I've two types(jenis) of questions(soala n) in my system; which is "subjektif" and "objektif".

    For type "Objektif", only jwpA, jwpB, jwpC, jwpD and jwpObj that exist the content (its empty for field jwpSubj for this type), meanwhile for type "Subjektif" , its only exist the content for jwpSubj and empty for the others field(i mean jwpA, jwpB, jwpC, jwpD, jwpObj).

    So, when i want to call the question(soalan ) field, i want to make a if-else statement to call the different types of question; which is like in the above coding.. hv i make it clear...? i just don't know why it can't funtion well.. i think its because of the system didn't recognize which type the question would be.. hurm.. anyone.. please help me with this.......
  • bevort
    New Member
    • Jul 2006
    • 53

    #2
    First of all, dit you test the SQL in a tool like PHPMyAdmin or, when working locale, a stand alone query tool?
    Make sure that you get the results from the database as you want them.

    Second, do not name a field in a table the same as the table itself, you will run in trouble soner or later.

    When looking at the beginning of the code it seems you search for a type and a question together. they must be given both by the user

    This means you can adjust your SQL to search for the type and the question

    Inyour input form make sure you use a select statement (either radio or dropdown) to make sure you always get either a "objektif" or "subjektif"
    Than you do not need a LIKE statement in your SQL, its rather time consuming

    Before you submit the query to the database echo it to your screen to see if it is complete. Test this query also in the databse itself to see howmany results you can expect.

    Next just print everything. If this is all OK than start working with the IF:s

    Comment

    Working...