簡體   English   中英

使用單個數據庫訪問填充多個html字段

[英]Filling multiple html fields with a single DB access

這是一個很長的問題,但不是太復雜,所以請耐心等待。

我正在構建一個WordPress網站。
其中一個頁面應該顯示商店列表。
有5個字段,我應該填充我從DB獲得的商店。

現在我這樣做(在頁面模板中):

有一個javascript ajax請求,一旦加載html就可以工作,並要求服務器端的PHP代碼從數據庫獲取商店。
當它們被返回時,javascript隨后會填充那些商店的html字段。

現在,我知道這是錯誤的表現。
在將html發送到客戶端之前,我應該填充服務器端的字段。

所以我的問題是:
訪問數據庫5次是沒有意義的(對於5個商店和領域)。
我只想訪問它一次,獲得所有5個商店,並填充字段。
但是如何在html中的5個不同位置使用數據庫返回的數組呢?

在這個例子中,我將所有的商店都放到了一個領域。 我如何將它們傳遞給其他領域?

<tr><td><input id="shop1" type="textbox" value="<?php global $wpdb; echo $wpdb->get_results("SELECT * FROM shops"); ?>"></td></tr>
<tr><td><input id="shop2" type="textbox" value=""></td></tr>
<tr><td><input id="shop3" type="textbox" value=""></td></tr>
<tr><td><input id="shop4" type="textbox" value=""></td></tr>
<tr><td><input id="shop5" type="textbox" value=""></td></tr>

嘗試這個

<?php 
global $wpdb; 
$results =  $wpdb->get_results("SELECT * FROM shops");
$i = 1;    
foreach ( $results as $shop ) 
{
  echo '<tr><td><input id="shop'.$i.
       '" type="textbox" value="">'.$shop->name_of_field_you_need.'</td></tr>';
      $i++;
}
?>

如果商店之間沒有HTML:

<?php
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM shops");
?>

//stuff

<?php foreach( $results as $result ): ?>
<tr><td><input id="shop<?php echo $result -> shop_id; ?>" type="textbox" value="<?php echo $result -> fieldName; ?>"></td></tr>
<?php endforeach; ?>

如果有,有這樣的事情:

<?php
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM shops");
?>

<tr><td><input id="shop1" type="textbox" value="<?php echo $results[0] -> fieldName; ?>"></td></tr>

//random stuff here

<tr><td><input id="shop2" type="textbox" value="<?php echo $results[1] -> fieldName; ?>"></td></tr>

//random stuff here

<tr><td><input id="shop3" type="textbox" value="<?php echo $results[2] -> fieldName; ?>"></td></tr>

//random stuff here

<tr><td><input id="shop4" type="textbox" value="<?php echo $results[3] -> fieldName; ?>"></td></tr>

//random stuff here

<tr><td><input id="shop5" type="textbox" value="<?php echo $results[4] -> fieldName; ?>"></td></tr>

暫無
暫無

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

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