Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用单个数据库访问填充多个html字段_Php_Html_Ajax_Wordpress - Fatal编程技术网

Php 使用单个数据库访问填充多个html字段

Php 使用单个数据库访问填充多个html字段,php,html,ajax,wordpress,Php,Html,Ajax,Wordpress,这是一个很长的问题,但不太复杂,所以请耐心听我说 我正在建立一个WordPress网站。 其中一页应显示商店列表。 这里有5个字段,我应该用数据库中的商店填充它们 现在我是这样做的(在页面模板中): 有一个javascript-ajax请求,在加载html后就可以工作,它要求服务器端的PHP代码从数据库中获取商店信息。 当它们被返回时,javascript会用这些商店填充html字段 现在,我知道这在性能方面是错误的。 在将html发送到客户端之前,我应该填充服务器端的字段 所以我的问题是: 访

这是一个很长的问题,但不太复杂,所以请耐心听我说

我正在建立一个WordPress网站。
其中一页应显示商店列表。
这里有5个字段,我应该用数据库中的商店填充它们

现在我是这样做的(在页面模板中):

有一个javascript-ajax请求,在加载html后就可以工作,它要求服务器端的PHP代码从数据库中获取商店信息。
当它们被返回时,javascript会用这些商店填充html字段

现在,我知道这在性能方面是错误的。
在将html发送到客户端之前,我应该填充服务器端的字段

所以我的问题是:
访问数据库5次没有意义(对于5个商店和字段)。
我只想访问一次,获取所有5家店铺,然后填充字段。
但是如何在html中的5个不同位置使用DB返回的数组呢

在这个例子中,我将所有的商店放在一个字段中。我怎么把它们传给其他田地

<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++;
}
?>

试试这个

<?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; ?>

//东西

如果商店之间没有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; ?>

//东西

我不太确定我是否遇到了这个问题:在你的例子中,5家商店相邻,因此你可以使用一个简单的循环。这是一个真实的例子吗?即。这5家商店总是紧挨着吗?这是一个非常简单的例子。在我的代码的某些部分,它们彼此相邻,所以我想我可以使用循环,但在某些部分,它们不是。因此,我正在寻找一种在非相邻字段之间传递数据的方法。我不太确定我是否遇到了问题:在您的示例中,5个商店彼此相邻,因此您可以使用一个简单的循环。这是一个真实的例子吗?即。这5家商店总是紧挨着吗?这是一个非常简单的例子。在我的代码的某些部分,它们彼此相邻,所以我想我可以使用循环,但在某些部分,它们不是。因此,我正在寻找一种在非相邻字段之间传递数据的方法。因此,我打破了HTML代码(应该在您的代码之前)并编写了PHP代码(您的代码),它创建了更多的HTML代码,然后我打破了PHP代码以继续使用HTML(应该在您的代码之后)?这回答了我需要的部分内容,但这部分内容写得很好,所以谢谢你和+1。所以,我正在突破HTML代码(应该在你的代码之前)和编写PHP代码(你的代码),这会创建更多的HTML代码,然后我正在突破PHP代码,继续使用HTML(应该在你的代码之后)?这回答了我需要的部分内容,但这部分内容写得很好,因此感谢和+1。因此PHP代码知道不同代码部分中的变量,好像这两个代码部分是连续的(参考您的第一个建议)?我更改了建议顺序,因为我意识到商店可能紧随其后。是的,他们知道这些变量,除非有什么东西明确地删除了它们之间的变量。注意,这里我只是猜测mysql结果结构。。根据需要修改。实际上,我需要两种情况。干得好!谢谢因此PHP代码知道不同代码段中的变量,就好像这两个代码部分是连续的(参考您的第一个建议)?我改变了建议顺序,因为我意识到商店可能紧随其后。是的,他们知道这些变量,除非有什么东西明确地删除了它们之间的变量。注意,这里我只是猜测mysql结果结构。。根据需要修改。实际上,我需要两种情况。干得好!谢谢