簡體   English   中英

循環遍歷一個mysql數組並將每一行打印到一個<select>

[英]Looping through an mysql array and printing each row into a <select>

我想從一個表的一列中檢索每一行,並將所有這些都放入一個元素中。 我現在幾乎在黑暗中掙扎,我在做什么錯/想念?

$db_connect = mysql_connect("$host", "$db_username", "$db_password");
$db_select = mysql_select_db("$db_name");
mysql_set_charset('utf8', $db_connect);

$db_query_project="SELECT * FROM $tbl_name";

print('<form name="report" method="post" action="">');
print('<label for="project">Projekt </label>');
print('<select name="project_select">');

print('<option>Test</option>');

foreach ($db_query_project as $key => $value){
        print('<option>'.$key['project_name'].'</option>');
}
print('</select>');
print('</form>');

有沒有更好的方法可以做到這一點?

您需要連接到數據庫並執行查詢,以便檢索數據並獲取數據。 為此,可以使用mysqliPDO 這是一個有關如何使用mysqli從具有列project_name的表$tbl_name獲取數據的示例。

$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ")";
exit();
}

$query = "SELECT * FROM `$tbl_name`";

if ($result = $mysqli->query($query)) {

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf ("%s \n", $row["project_name"]);
    }

    /* free result set */
    $result->free();
}

/* close connection */
$mysqli->close();

我更喜歡這個:

function getFieldSelect($name, $selected, $values, $attributes) {
    $r = "<select name=\"$name\" $attributes>";
    foreach ($values as $k => $v) {
        if ($k == $selected) {
            $sel = "selected";
        } else {
            $sel = "";
        }
        $r .= "<option  value=\"$k\" $sel>$v</option>\n";
    }
    $r .= "</select>";
    return $r;
}

我從數據庫中獲取了值,並將其以數組格式提供給我的函數。 我認為這是打印選擇字段的最靈活的方法。 您可以使用數據庫來獲取值或任何數組。

<?php
$db_query_project= mysql_query("SELECT * FROM $tbl_name");

echo '<form name="report" method="post" action="">';
echo '<label for="project">Projekt </label>';
echo '<select name="project_select">';

echo '<option>Test</option>';

while( $row = mysql_fetch_assoc( $db_query_project ) )
{
        echo '<option>'.$row['project_name'].'</option>';
}
echo '</select>';
echo '</form>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM