frantsium
frantsium

Reputation: 155

Get value form same table

I have dropdown menu with 3 values.

enter image description here

and here is my table (table name is Sms)

enter image description here

What I want to do? Example : If I choose 2,49 and press submit, then I get sonum value.

This is my form

<div class="col_12" style="margin-top:100px;">
    <div class="col_6"> 
                <label for="asukoht">Vali Hind</label>
                <form class="vertical" method="GET">
                    <select name="hind">
                    <option value="1">-- Vali --</option>
                    <?php
                        
                    // Tegin dropdown menüü, kust saab valida komponendi, mille alla see pilt läheb
                    $andmed = mysql_query("SELECT * FROM Sms");
                     
                     // Dropdown menüü
                    while($rida = mysql_fetch_array($andmed)){
                        echo '<option value="'.$rida['id'] . '">'.utf8_encode($rida['hind'] ). '</option>';
                    }
                    ?>
                    <input type="submit" name="add" id="add">
                </form>

I tried something like this

if(mysql_query("DESCRIBE `Sms`")) {
                    
                        $sql = "SELECT sonum FROM `Sms`";
                    echo $sql;
}

I think it should be pretty easy, but I'm looking for a solution and I didnt found it.

Thank you for helping !

Upvotes: 0

Views: 82

Answers (3)

Marco Mura
Marco Mura

Reputation: 582

You need to work on SQL and Loop.

Based on your code:

if(mysql_query("DESCRIBE `Sms`")) {

                        $sql = "SELECT sonum FROM `Sms`";
                    echo $sql;
}

First we do change the query including $_GET parameter. So this:

$sql = "SELECT sonum FROM `Sms`";

Will become:

$sql = "SELECT sonum FROM `Sms` WHERE id = ".$_GET['hind'];

It will be better if you check that the var exist and is setted with something like:

if(isset($_GET['hind']) && is_numeric(trim($_GET['hind']){//Code here}

But it is off-topic. Now let's change echo $sql; with a loop, we need to loop and fetch the data.

while($result = mysql_fetch_array($sql)){
  echo '<option value="'.$result ['id'] . '">'.utf8_encode($result ['hind'] ). '</option>';
}

I've only changed what i know, you know your system ^_^

Upvotes: 1

Joci93
Joci93

Reputation: 833

$sql = "SELECT sonum FROM Sms WHERE id = ".$_GET['hind'];
while($rida = mysql_fetch_array($sql)){
echo '<option value="'.$rida['id'] . '">'.utf8_encode($rida['hind'] ). '</option>';
}

Do not use MYSQL queries...try MySQLi or PDO with prepared statement.

Upvotes: 0

Kunal Gupta
Kunal Gupta

Reputation: 449

You should do:

    $sql = "SELECT sonum FROM Sms WHERE id = ".$_GET['hind'];

Then do :

    echo mysql_query($sql);

Upvotes: 1

Related Questions