Подправить скрипт вывода ссылок

Тема в разделе "PHP", создана пользователем bravilor, 15 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. bravilor

    bravilor

    Регистр.:
    25 июл 2007
    Сообщения:
    438
    Симпатии:
    155
    Есть скрипт нерандомного вывода ссылок на страницу, хотелось бы чтобы он каждый раз выводил на странице рандомные ссылки, как это сделать? Или может у кого нить есть готовый вариант?
    Код
    PHP:
    <?php

    global $wpdb$post;

    // How many links do you want to make
    $c=5;



    $post_id $post->ID;
    $post_count $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE ID > '$post_id' AND post_type = 'post' AND post_status = 'publish'");

    if (
    $post_count >= $c)
    {
    $posts $wpdb->get_results("SELECT ID, guid, post_title FROM $wpdb->posts WHERE ID > '$post_id' AND post_type = 'post' AND post_status = 'publish' LIMIT 10");
    }
    else
    {
    $posts $wpdb->get_results("SELECT ID, guid, post_title FROM $wpdb->posts WHERE ID > '$post_id' AND post_type = 'post' AND post_status = 'publish' LIMIT 10");


    $limit $c $post_count;
    $posts array_merge($posts$wpdb->get_results("SELECT ID, guid, post_title FROM $wpdb->posts WHERE ID > 0 AND post_type = 'post' AND post_status = 'publish' LIMIT $limit"));
    }



    // Print links-block

    for ($i 0$i $c$i++)
    {

      
    $object $posts[$i];


      
    // getting seo-title (to use instead of post header)

      
    $ppp $object->ID;

      if (
    $ppp 0
        {
        
    $purl $object->guid;
        
    $pheader $object->post_title;
        
    $ptitle$wpdb->get_var("SELECT meta_value FROM `wp_postmeta` WHERE meta_key = 'title_tag' AND post_id = $ppp");
        if (
    $ptitle =="") { $ptitle=$pheader;} 
        echo 
    "\r\n\r\n<a href=\"$purl\" title='$pheader'>\r\n$ptitle</a> &nbsp;&nbsp;&nbsp;| ";
        }

    }

    ?>
     
  2. FL@SH

    FL@SH Читатель

    Заблокирован
    Регистр.:
    20 июл 2008
    Сообщения:
    193
    Симпатии:
    25
    Добавь в sql запрос
    Код:
    ORDER BY RAND()
     
    bravilor нравится это.
  3. Eihwaz

    Eihwaz

    Регистр.:
    7 окт 2007
    Сообщения:
    156
    Симпатии:
    54
    Непонятно только, нафиг там два запроса, так будет логичнее:
    PHP:
    <?php
        
    global $wpdb$post;
        
    // How many links do you want to make
        
    $c=5;
        
    $post_id $post->ID;
        
    $post_count $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE ID > '$post_id' AND post_type = 'post' AND post_status = 'publish'");
        
    $posts $wpdb->get_results("SELECT ID, guid, post_title FROM $wpdb->posts WHERE ID > '$post_id' AND post_type = 'post' AND post_status = 'publish' LIMIT 10 ORDER BY RAND()");
        if (
    $post_count $c) {
            
    $limit $c $post_count;
            
    $posts array_merge($posts$wpdb->get_results("SELECT ID, guid, post_title FROM $wpdb->posts WHERE ID > 0 AND post_type = 'post' AND post_status = 'publish' LIMIT $limit"));
        }
        
    // Print links-block
        
    for ($i 0$i $c$i++)
        {
            
    $object $posts[$i];
            
    // getting seo-title (to use instead of post header)
            
    $ppp $object->ID;
            if (
    $ppp 0) {
                
    $purl $object->guid;
                
    $pheader $object->post_title;
                
    $ptitle$wpdb->get_var("SELECT meta_value FROM `wp_postmeta` WHERE meta_key = 'title_tag' AND post_id = $ppp");
                if (
    $ptitle =="")
                    
    $ptitle=$pheader;
                echo 
    "\r\n\r\n<a href=\"$purl\" title='$pheader'>\r\n$ptitle</a> &nbsp;&nbsp;&nbsp;| ";
            }
        }
    ?>
     
    bravilor нравится это.
  4. bravilor

    bravilor

    Регистр.:
    25 июл 2007
    Сообщения:
    438
    Симпатии:
    155
    Ага, так лучше, в первом коде когда добалял ORDER BY RAND() первые две ссылки не рандомились, теперь все заработало, сенкс.
     
Статус темы:
Закрыта.