我的 Wordpress 数据库中有附加表,其中包含公司列表、链接、描述等。我正在使用此插件 ( http://wpdatatables.com/ ) 在 WP 中呈现该表,效果很好。
它没有的一个功能是计算表中条目(行)的数量。我想得到这个计数并将其显示在 WordPress 的页面中。例如,计算表 X 中的所有行并在此处显示(使用简码或其他内容),这样我就可以得到“表 X 有 1,912 个公司”。
我发现这是一种开始的方式,但不确定它是否能满足我的需要,然后我不确定如何实际将结果放入帖子/页面中。
<?php
$myvar = $wpdb->get_results("SELECT COUNT(*) FROM company_table WHERE name=*");
if($myvar == 0)
{
// no rows, do whatever.
}
else
{
// at least 1 row, do something else.
}
?>
Run Code Online (Sandbox Code Playgroud)
或这个:
global $wpdb;
$wpdb->get_results( 'SELECT COUNT(*) FROM table_name' );
echo $wpdb->num_rows . 'Rows Found';
Run Code Online (Sandbox Code Playgroud)
如何获取行数并将其从此时(或其他推荐的起始点)显示在页面上?
更新
好的,我用这样的短代码制作了一个插件,可以让它正确地出现在我的页面中,但它呈现了错误的行数。它只显示 1 行,而实际上应该有数百行。
function row_count_shortcode() {
global $wpdb;
$wpdb->get_results( 'SELECT COUNT(*) FROM inno_db' ); …Run Code Online (Sandbox Code Playgroud) 如标题所示,我有一个带有Apache的AWS EC2实例。这是一台Linux服务器。我想用密码保护一个目录。我正在关注这个答案:https : //stackoverflow.com/a/18178857/989722
htaccess:
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /var/www/admin/.htpasswd
Require valid-user
Run Code Online (Sandbox Code Playgroud)
创建了一个正确的.htpasswd文件,但想知道是否还有另一个步骤。
但是,它不起作用(即目录不受保护)。我重新启动服务器,但无济于事。想知道我是否需要更改配置文件中的内容。
如果使用终端查看放置.htaccess文件的目录的内容,则看ls不到.htaccess文件。我使用SFTP上传了它,并使用我的FTP应用程序看到了它,但实际上可能不存在。我的.htpasswd文件也是如此。
当我输入console.log数据时,在Chrome开发工具中看起来像这样:
e.LatLngBounds {_southWest: e.LatLng, _northEast: e.LatLng}
_northEast: e.LatLng
lat: 50.62507306341435
lng: -69.169921875
__proto__: Object
_southWest: e.LatLng
lat: 27.059125784374068
lng: -127.96875
__proto__: Object
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
如果我JSON.stringify这样做(像这样:)var totbounds = JSON.stringify(mybounds);,我会得到:
{"_southWest":{"lat":27.059125784374068,"lng":-127.96875},"_northEast":{"lat":50.62507306341435,"lng":-69.169921875}}
Run Code Online (Sandbox Code Playgroud)
我正在尝试解析它以获取_southWest lat(例如),但是这些都不起作用:
totbounds[_southWest][lat];
totbounds._southWest.lat;
Run Code Online (Sandbox Code Playgroud)
(注意,totbounds是字符串化的对象)
我不确定我是否正确地问这个问题,但情况就是这样.
我有一个像这样的现有JSON对象,我需要"注入"一个新对象到这里指出:
{
"version": "1.0.0",
"stat_tag": "API",
"layers": [{
"type": "cartodb",
"options": {
"sql": "SELECT * FROM mytable)",
"cartocss": "mytable{marker-width: 10;}",
"cartocss_version": "2.1.0"
}
}
//INSERT NEW OBJECT HERE
]
}
Run Code Online (Sandbox Code Playgroud)
我需要注入的对象存储为变量,我只是不知道如何将它推入正确位置的现有对象.
我进入我的服务器进入正确的目录就好了(as su).
cd /var/log/httpd
当我ls,我得到:
access_log error_log
但是,当我尝试cd /error_log或者cd error_log,我得到bash: cd: /error_log: No such file or directory或bash: cd: error_log: Not a directory.
我想简单地查看最近50个左右的错误(来自PHP文件),但不知道如何到达它.我知道我需要类似的东西tail -n 300 error_log-20130602 | more,但我不知道日志文件名.
我在许多PHP文件中使用相同的代码块,有时在相同的PHP文件中(例如,当有一个if/else.我知道有更好的方法,但我不太清楚如何做.我想要替换有一些东西的大块,但不确定是什么适合.require也许?
$hostname = 'localhost';
$database = 'dev_testing';
$username = 'root';
$password = 'XXXXXX';
$dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud) 我不知道我在这里做错了什么,但我已经有一段时间了.
这是我回来的JSON的一个例子:
[
{
"0": "Horses",
"1": "Cows",
"Category": "Animals",
"total_number": "90"
}
]
Run Code Online (Sandbox Code Playgroud)
我通过AJAX得到了这个...我的success函数看起来像这样:
success: function(data) {
console.log(data); //this gives me the above JSON
var tot_num = data.total_number; //this comes back as undefined
}
Run Code Online (Sandbox Code Playgroud)
为什么最后一个变量(tot_num)以未定义的形式返回?
我的代码看起来像这样:
$muted = 'true'; //Note this is only for testing
if ($muted == 'false' || $muted == '' || $do_not_text == '' || $do_not_text =='false'){
//do this first thing
}
else{
//do something else
}
Run Code Online (Sandbox Code Playgroud)
我不能让我else跑.搞砸了什么语法?
与此相关,我在我的数据库中存储一个值(这将是$muted我的实际代码中设置的值),它是'true','false'或''.我应该将这些数据类型存储为什么?目前,我正在使用VARCHAR,但我怀疑这是问题的一部分.
我正在继承一些代码并尝试正确地重定向.
在HTML页面中有一个iframe是PHP.
当PHP执行(获取表单提交并发送电子邮件)时,iframe成功重定向,使用:
header('Location:http://www.example.com');
最好的方法是什么?
我需要的东西,window.top.location.href = "http://www.example.com";但在PHP(我认为)
我从API返回的数据看起来像this($response):
{
"data": {
"connections": [
{
"source": 1
},
{
"source": 6
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
那么,我这样做:
$array = json_decode( $response, true );
$results = $array['data']['connections'];
foreach($results as $member)
{
if ($member['source'] == 6)
{
function1();//run this function
break;
}
else
{
//what goes here? //reloop
}
}
Run Code Online (Sandbox Code Playgroud)
所以,如果source等于6,那么我运行该函数然后停止循环.那部分很好.问题是这个.怎么了else?我可能有15或20个不同来源的JSON,我只需要其中一个为6来运行该函数.所以,我需要该函数继续运行,直到它找到一个6 source或者它到达数组的末尾而没有找到6.如果它没有找到6,那么我需要运行一个不同的函数(说,function2).
我如何把它们全部拉到一起?
我的代码基本上是这样的:
console.log(placeCost) //this returns 0 (the number, not string)
if (!placeCost || placeCost == false || placeCost == "undefined" || placeCost == '') {
console.log("no")
}
else {console.log('yes')}
Run Code Online (Sandbox Code Playgroud)
结果在控制台中为“否”。为什么这会解析为“true”?
我有一个像这样的数组中的单个对象:
我得到一些这样的数据:
$.ajax({
url: 'myphp.php'
type: 'GET',
dataType: 'JSON',
data: {},
success: function(data) {
console.log(data) //gives [{"userId":"xyz1234"}]
console.log(data.userId) // undefined
}
});
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?为什么我不能userId从这里出发?
我正在使用它,但问题是只有第if一个正常运行.如果我改变顺序,每个if语句都可以自己工作,但逻辑如果第一个是假的,那么检查第二个,依此类推不起作用.我在这里错过了什么?
$("#search_button").click(function(){
var table = $('#main_index').DataTable();
var search_term = $("#second_select2 option:selected").text();
var first_s = $("#first_select2 option:selected").text();
if (first_s = 'District'){
table.columns(1).search(search_term).draw();
}
else if (first_s = 'Territory'){
table.columns(2).search(search_term).draw();
}
else if (first_s = 'Region'){
table.columns(0).search(search_term).draw();
}
else {
console.log('error');
}
});
Run Code Online (Sandbox Code Playgroud)
如果我console.log在search_term和first_s变量,我可以看到他们改变和正常工作.并且,正如我所说,如果没有if/else语句,每个语句都可以自行完成.