GVKun编程网logo

PHP-MYSQL RAND()无法生成正确的列表(mysql无法创建函数)

24

以上就是给各位分享PHP-MYSQLRAND()无法生成正确的列表,其中也会对mysql无法创建函数进行解释,同时本文还将给你拓展android–创建OpenGraph故事时遇到的问题:“无法生成故事

以上就是给各位分享PHP-MYSQL RAND()无法生成正确的列表,其中也会对mysql无法创建函数进行解释,同时本文还将给你拓展android – 创建Open Graph故事时遇到的问题:“无法生成故事”和“无法生成预览”、apache php mysql php生成mysql的数据字典、asp.net – RazorGenerator没有生成正确的命名空间、Mysql CASE&SUM无法获得正确的结果等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

PHP-MYSQL RAND()无法生成正确的列表(mysql无法创建函数)

PHP-MYSQL RAND()无法生成正确的列表(mysql无法创建函数)

我在选择正确的结果时遇到问题.表wp_rdp_category_images具有3列:id(唯一)-category_name-category_image.

在下面的选择中,作为结果,我需要最多4个category_name,并且每个category_name中需要1个category_image.

有人可以帮助我更正此选择吗?会很好.提前致谢.

这里的PHP代码:

function show_game_category_images_func() {
    $content = '';
    $i = 1;
    $record = $GLOBALS['wpdb']->get_results('
    SELECT * FROM wp_rdp_category_images
    ORDER BY `category_name`, RAND()
    LIMIT 4 
    ');

    if($record){
        foreach($record as $key => $rec){                   
            // if($key == 'picture' && $rec != null && $rec != '')     
            $rec = '<img src="'.$upload_url.$record->category_image.'" width="150" height="150">';

            if ($i == 1) {
                echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span>';  // even
            }
            if ($i == 2) {
                echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span><br>';  // even
            }
            else {
                echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span>';   // odd
            }
            $i++;
        }
    }   
    return $content;
}
add_shortcode('show_game_category_images', 'show_game_category_images_func');

我的sql:

SELECT * FROM `wp_rdp_category_images`    
ORDER BY `category_name`, RAND() LIMIT 4

这是一个测试表:

CREATE TABLE IF NOT EXISTS `wp_rdp_category_images` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `category_name` varchar(32) NOT NULL,
  `category_image` varchar(64) NOT NULL,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;

INSERT INTO `wp_rdp_category_images` (`id`, `category_name`, `category_image`) VALUES
(1, 'natuur', 'natuur1.jpg'),
(2, 'natuur', 'natuur4.jpg'),
(4, 'aarde', 'aarde3.jpg'),
(5, 'sport', 'sport2.jpg'),
(6, 'aarde', 'aarde3.jpg'),
(7, 'auto', 'autogrijs.jpg'),
(8, 'auto', 'autowit.jpg'),
(9, 'auto', 'autoblack.jpg'),
(10, 'auto', 'autoroodzwart.jpg'),
(11, 'aarde', 'aarde1.jpg'),
(12, 'aarde', 'aarde2.jpg'),
(13, 'sport', 'sport4.jpg'),
(14, 'sport', 'sport3.jpg'),
(15, 'sport', 'sport1.jpg'),
(16, 'natuur', 'natuur2.jpg'),
(17, 'natuur', 'natuur3.jpg'),
(18, 'people', 'people1.jpg'),
(19, 'people', 'people2.jpg'),
(20, 'people', 'people3.jpg'),
(21, 'people', 'people4.jpg'); 

解决方法:

您可以使用以下查询:

select     category_name,
           (select   category_image
            from     wp_rdp_category_images
            where    category_name = main.category_name
            order by rand()
            limit    1) category_image
from       wp_rdp_category_images main
group by   category_name
order by   rand()
limit      4

SQL Fiddle

如果需要结果集中的所有列,请使用以下变体:

select     main.*
from       (
            select     category_name,
                       (select   id
                        from     wp_rdp_category_images
                        where    category_name = main.category_name
                        order by rand()
                        limit    1) id
             from       wp_rdp_category_images main
            ) sub
inner join  wp_rdp_category_images main
        on  main.id = sub.id
group by    main.category_name
order by   rand()
limit      4

SQL Fiddle

PHP代码

您的PHP有问题,因此重复了第一行.请注意,当$i为1时,您将在第一个if中执行该部分,而且还将在第二个if中执行该部分.

如果出现以下情况,则需要在第二个之前放置else:

if ($i == 1) {
    echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span>';  // even
} else if ($i == 2) { // !!!! ADDED "else" here!
    echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span><br>';  // even
}
else {
    echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span>';   // odd
}

但是您的意见似乎表明您想创建两列.在这种情况下,最好这样写:

echo '<span><img src="'.$upload_url.$rec->category_image.'" ></span>';  // all
if ($i % 2 == 0) echo '<br>';  // even only

android – 创建Open Graph故事时遇到的问题:“无法生成故事”和“无法生成预览”

android – 创建Open Graph故事时遇到的问题:“无法生成故事”和“无法生成预览”

我在Facebook上有一个应用程序(我们称之为mygame),与我正在开发的 Android游戏相关联.
在这个移动应用程序中,我想让用户在比赛后分享他们的分数.为此,我考虑过使用 Open Graph stories,actions and objects.

我做的第一件事是创建一个动作,“播放”和一个对象“匹配”,这个具有名为“得分”的整数属性.
之后,我使用相对按钮“添加自定义故事”以“播放比赛”的形式创建了我的第一个故事.

第一个问题:所有生成的示例都没有显示预览,而是显示红色消息,无法生成故事.

此问题先前已在Stackoverflow上处理,原因与“facebook has no examples of the story to render””有关.
在我的情况下,这不应该是真的,因为如果我打开Object Browser,我可以看到两个自动生成的Match对象. Facebook会尝试从这些记录中生成示例故事吗?
如果不是(甚至是真的),问题是什么?

第二个问题已解决,请回答:在Android上,简单地说,由于com.facebook.FacebookException的异常,我无法测试这个故事:无法为用户生成预览.

我用来显示Facebook对话框的方法,其中包含了这个“玩过的匹配”的详细信息,如下所示:https://developers.facebook.com/docs/android/open-graph#sharedialog-setup

在我的应用程序中,代码如下:

OpenGraphObject setobj = OpenGraphObject.Factory.createForPost("mygame:match");
        setobj.setProperty("score",set.getThisUserscore());
        setobj.setProperty("title",set.getType().getdisplayString());
        setobj.setProperty("url","http://www.mygame.com");
        setobj.setProperty("description","Can you beat me?");

        OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
        action.setType("mygame:play");
        action.setProperty("match",setobj);

        FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(activity,action,"match").build();
        activity.getUiHelper().trackPendingDialogCall(shareDialog.present());

一旦被调用,对话框就出现在我的设备上,但它会在一秒钟后自动关闭,抛出异常.

我真的无法专注于问题所在(我正在尝试实现最简单的故事分享方式).这两个问题是否相关?

解决方法

我使用此代码在墙上发布多个对象属性.

private void publishPhoto(String imageURL) {
Log.d("FACEBOOK","Post to Facebook!");

try {

    JSONObject attachment = new JSONObject();
    attachment.put("message",text);
    attachment.put("name","MyGreatandroidAppTest");
    attachment.put("href","https://stackoverflow.com/users/909317/sunny");
    attachment.put("description","Test Test TEst");

    JSONObject media = new JSONObject();
    media.put("type","image");
    media.put("src",imageURL);
    media.put("href",imageURL);
    attachment.put("media",new JSONArray().put(media));

    JSONObject properties = new JSONObject();

    JSONObject prop1 = new JSONObject();
    prop1.put("text","Text or captionText to Post");
    prop1.put("href",imageURL);
    properties.put(text,prop1);

    // u can make any number of prop object and put on "properties" for    ex:    //prop2,prop3

    attachment.put("properties",properties);

    Log.d("FACEBOOK",attachment.toString());

    Bundle params = new Bundle();
    params.putString("attachment",attachment.toString());
    facebook.dialog(MyProjectActivity.this,"stream.publish",params,new DialogListener() {

        @Override
        public void onFacebookError(FacebookError e) {
            // Todo Auto-generated method stub

        }

        @Override
        public void onError(DialogError e) {
            // Todo Auto-generated method stub

        }

        @Override
        public void onComplete(Bundle values) {
            final String postId = values.getString("post_id");
            if (postId != null) {
                Log.d("FACEBOOK","Dialog Success! post_id=" + postId);
                Toast.makeText(MyProjectActivity.this,"Successfully shared on Facebook!",Toast.LENGTH_LONG).show();

            } else {
                Log.d("FACEBOOK","No wall post made");
            }

        }

        @Override
        public void onCancel() {
            // Todo Auto-generated method stub

        }
    });      

} catch (JSONException e) {
    Log.e("FACEBOOK",e.getLocalizedMessage(),e);
}

}

apache php mysql php生成mysql的数据字典

apache php mysql php生成mysql的数据字典

把mysql数据库生成数据字典,直接可用便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。

 
 
 
<meta http-equiv="Content-Type" c><title>''.APPNAME.''--数据字典</title><style type="text/css"> 
  table caption, table th, table td { 
    padding: 0.1em 0.5em 0.1em 0.5em; 
    margin: 0.1em; 
    vertical-align: top; 
  } 
  th { 
    font-weight: bold; 
    color: black; 
    background: #D3DCE3; 
  } 
  table tr.odd th, .odd { 
    background: #E5E5E5; 
  } 
  table tr.even th, .even { 
    background: #f3f3f3; 
  } 
  .db_table{ 
    border-top:1px solid #333; 
  } 
  .title{font-weight:bold;} 
</style><div> 
  <b>''.APPNAME.''--数据字典</b> 
</div> 
<div>(注:共''.$tab_count.''张表,按ctrl+F查找关键字)</div>''."\n"; 
for($i=0;$i''."\n"; 
echo '' 
登录后复制
  • ''; echo ($i+1).''、表名:['' . $array[$i][''Name''] . ''] 注释:'' . $array[$i][''Comment'']; echo ''
  • ''."\n"; //查询数据库字段信息 $tab_name = $array[$i][''Name'']; $sql_tab=''show full fields from `'' . $array[$i][''Name''].''`''; $tab_result=mysql_query($sql_tab); $tab_array=array(); while($r=mysql_fetch_assoc($tab_result)){ $tab_array[]=$r; } //show keys $keys_result=mysql_query("show keys from `".$array[$i][''Name''].''`'',$conn); $arr_keys=mysql_fetch_array($keys_result); echo ''
  • ''; echo ''''; for($j=0;$j''."\n"; echo '' ''."\n"; echo '' ''."\n"; echo '' ''."\n"; echo '' ''."\n"; echo '' ''."\n"; echo '' ''."\n"; echo '' ''."\n"; echo '' ''."\n"; } echo ''
    字段 类型 为空 额外 默认 整理 备注
    '' . $tab_array[$j][''Field''] . '''' . $tab_array[$j][''Type''] . '''' . ($key_value!=''''?$key_value:$tab_array[$j][''Null'']) . '''' . $tab_array[$j][''Extra''] . '''' . $tab_array[$j][''Default''] . '''' . $tab_array[$j][''Collation''] . '''' . ($key_value!=''''?$key_name:$tab_array[$j][''Comment'']) . ''
  • ''."\n"; echo ''''."\n"; } echo ''''."\n"; echo ''''."\n";

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

    以上就介绍了apache php mysql php生成mysql的数据字典,包括了apache php mysql方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    asp.net – RazorGenerator没有生成正确的命名空间

    asp.net – RazorGenerator没有生成正确的命名空间

    我们正在为我们的项目使用RazorGenerator.当我编辑视图时,生成的文件的命名空间将更改为ASP而不是RazorGenerator的默认值,这应该是文件夹结构.我们没有更改RazorGenerator的任何设置(甚至不确定是否有设置)所以我不确定发生了什么,因为这只发生在我的机器上.我已经卸载/安装了该工具,但同样的事情发生了.有人有解决方案吗?谢谢!

    解决方法

    嘿,我刚才有同样的问题.根据这个 http://razorgenerator.codeplex.com/workitem/166你应该在你的views文件夹中创建一个名为razorgenerator.directives的文件,并在其中添加以下内容:

    GeneratePrettyNames: true

    它将生成正确的命名空间.

    Mysql CASE&SUM无法获得正确的结果

    Mysql CASE&SUM无法获得正确的结果

    more_like_this爆炸行数,然后在此临时表上完成JOIN;最后SUM将数据缩小。

    这导致GROUP BYSUM超出其应有的大小。

    对我们来说,“修复”是计算每个聚合时的最小COUNT数。这可能涉及多个子查询。

    关于PHP-MYSQL RAND()无法生成正确的列表mysql无法创建函数的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于android – 创建Open Graph故事时遇到的问题:“无法生成故事”和“无法生成预览”、apache php mysql php生成mysql的数据字典、asp.net – RazorGenerator没有生成正确的命名空间、Mysql CASE&SUM无法获得正确的结果等相关知识的信息别忘了在本站进行查找喔。

    本文标签: