Keskustelut - PHP - Lahjalistan alasvetovalikko


anxn 17:52 23.1.10 
Moro

Tarvitsisin neuvoja kuinka saada alasvetovalikkoon haettua tietokannasta jäljellä olevien lahjojen määrä. Esimerkki täällä. Eli alempana kuinka sen haluaisin.

Tällä hetkellä tuo osa koodistani on tällaista:


PHP

<form action="varaus.php" method="post">
           
      <table>
           
           <tr>
   
                <th> Lahja: </th>
                <th> Väri: </th>
                <th> Varattavana: </th>
                <th> Varaus: </th>
   
           </tr>
                         
            <?php
                $result = mysql_query("SELECT * FROM lahjalista", $connection);
                if (!$result) {
                    die("Tietokannasta haku epäonnistui: " . mysql_error());
                }
               
                while ($rivi = mysql_fetch_array($result)) {
                    $maara = $rivi[3];
                                                       
                    echo "<tr>
                        <td><p class=\"lista\">"
. $rivi[1] . "</p></td>
                        <td><p class=\"lista\">"
. $rivi[2] . "</p></td>
                        <td><p class=\"lista\">"
. $rivi[3] . " kpl </p></td>
                        <td><select name=\"varaa\"><option value=\"{$maara}\">{$maara}</option></p></td></tr>"
;   
                }
            ?>
           
            </table>

            <input type="submit" value="Varaa!" />

</form>

 


Kysy lisää, jos en osannut selittää tai tarvitset lisätietoja. :) Kiitos avusta jo etukäteen!
poistettu 19:04 23.1.10 
Lienee tarvetta tehdä tuon <select> elementin luomiseen oma looppi? Ja sitten sen mukaan, että mikä arvo löytyy kannasta, niin laittaa <option> tagille attribuutti selected="selected".
anxn 14:24 24.1.10 
Sain toimimaan tällä tavalla:


PHP

<?php
        $result = mysql_query("SELECT * FROM lahjalista", $connection);
        if (!$result) {
                die("Tietokannasta haku epäonnistui: " . mysql_error());
        }
       
        while ($rivi = mysql_fetch_array($result)) {                                
                                                                                  
                echo "<tr>
                        <td><p class=\"lista\">"
. $rivi[1] . "</p></td>
                        <td><p class=\"lista\">"
. $rivi[2] . "</p></td>
                        <td><p class=\"lista\">"
. $rivi[3] . " kpl </p></td>
                        <td><select name=\"varaa\">"
;
                       
                        for($maara = 0; $maara <= $rivi[3]; $maara++) {
                                                                       
                                echo "<option value=\"{$maara}\">{$maara}</option>";   
                       
                        }
               
                echo "</p></td></tr>";
        }
?>

 


Kiitos neuvosta! Koodin parantamiseksi otetaan toki ehdotuksia vastaan...