Visualizzazione risultati 1 fino 4 di 4

Discussione: script mysql che ordina

  1. #1
    Guest

    Predefinito

    Ciao, alla fine ho pensato che forse è meglio scrivere da zero lo script a cui stavo lavorando.... praticamente è uno script che preleva un campione di 50 dati da mysql (numero sufficiente per evitare intoppi). prelevo un nome e una "data" che alla fine è un numero crescente...

    esempio:

    $nome_post mi restituisce nome del post
    $time_post mi restituisce il numero crescente 1309441582


    ora io volevo che fra questi 50 che ho selezionato mi restassero solo 5 elementi, con $nome_post diversi (per evitare righe che riportano allo stesso topic) e $time_post maggiore...


    Codice PHP:
    mysql_connect($db_host,$db_user,$db_pass)or die("non riesco a connettermi");

    mysql_select_db($database_name)or die("non riesco selezionare il database");

    $sql = "SELECT post_subject, post_time FROM phpbb_posts ORDER BY post_id DESC LIMIT 0, 50";

    $dati=mysql_query($sql);
    while (
    $fetchM=mysql_fetch_row($dati))
    {



    $nome_post=$fetchM[0];
    $time_post=$fetchM[1];
    //echo "<li><a href=\"".$url."\">".$forum."</a><br/> </li>";
    echo "<li><a>".$nome_post."-".$time_post."</a><br/> </li>";
    }

    echo
    "</ul>";

    per ora l'output è questo
    Re: Configurare il kernel 2.6.39-1309441582
    Re: Configurare il kernel 2.6.39-1309441470
    Re: Google+-1309441421
    Re: Configurare il kernel 2.6.39-1309439468
    Re: Configurare il kernel 2.6.39-1309438911
    Re: Configurare il kernel 2.6.39-1309438814
    Re: Configurare il kernel 2.6.39-1309438326
    Re: Configurare il kernel 2.6.39-1309437644
    Re: Configurare il kernel 2.6.39-1309436788
    Re: Google+-1309436297
    Re: Primax-1309436242
    Re: Configurare il kernel 2.6.39-1309436125
    Re: Configurare il kernel 2.6.39-1309436059
    Re: Primax-1309435638
    Re: Configurare il kernel 2.6.39-1309435512
    ..........
    fino al cinquantesimo elemento...

    EDIT:

    Codice PHP:
    <?php
    echo "<ul>";

    mysql_connect($db_host,$db_user,$db_pass)or die("non riesco a connettermi");

    mysql_select_db($database_name)or die("non riesco selezionare il database");

    $sql = "SELECT DISTINCT post_subject, forum_id,topic_id FROM phpbb_posts ORDER BY post_id DESC LIMIT 0, 5";

    $dati=mysql_query($sql);
    while (
    $fetchM=mysql_fetch_row($dati))
    {



    $nome_post=$fetchM[0];
    $forum_id=$fetchM[1];
    $topic_id=$fetchM[2];


    $sql1 = "SELECT forum_name,forum_image FROM phpbb_forums WHERE forum_id = $forum_id";

    $dati1=mysql_query($sql1);
    while (
    $fetchM1=mysql_fetch_row($dati1))
    {



    echo
    '<li><a href="/new/forum//viewtopic.php?f='.$forum_id.'&t='.$topic_id.'#p'.$post_id.'"\><img src="new/forum/' .$fetchM1[1]. '" style="vertical-align: middle;" alt="avatar" height="20" width="20" > '.$fetchM1[0].' - '.$nome_post.'</a><br/></li>';


    }





    }





    //fine modifica





    echo "</ul>";?>
    Questo codice funziona... solo che non riesco a ricavarmi post_id da:

    Codice PHP:
    $sql = "SELECT DISTINCT post_subject, forum_id,topic_id FROM phpbb_posts ORDER BY post_id DESC LIMIT 0, 5";
    come posso fare???

    EDIT:

    ok ho finito lo script... mi manca solo l'ultima cosa:

    recuperare il $post_id da

    Codice PHP:
    $sql = "SELECT DISTINCT post_subject, forum_id,topic_id FROM phpbb_posts ORDER BY post_id DESC LIMIT 0, 5";

    se metto


    $sql = "SELECT DISTINCT post_subject, forum_id,topic_id,post_id FROM phpbb_posts ORDER BY post_id DESC LIMIT 0, 5";


    non si eliminano piu i doppioni...

    EDIT:

    nessuno nessuno?? non c'e piu nessuno in questo forum??

    EDIT 2:
    vabbe, mi prendo un altra infrazione. ma se non faccio un altro up qua nessuno mi aiuta piu.

    up
    Ultima modifica di javascripter : 16-07-2011 alle ore 12.42.22

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Prova con:
    Codice:
    SELECT post_subject, forum_id,topic_id,post_id FROM phpbb_posts GROUP BY post_id DESC LIMIT 0,5
    ( Leggi sotto, mi sono sbagliato ) p.s. dopo 7 giorni, l'up/post consecutivo è consentito.
    Ultima modifica di javascripter : 16-07-2011 alle ore 12.42.58

  3. #3
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da javascripter Visualizza messaggio
    p.s. dopo 7 giorni, l'up/post consecutivo è consentito.
    No .
    Regole specifiche per le Sezioni di Svago
    14.b) È vietato effettuare UP della propria discussione prima di 7 giorni dal
    proprio ultimo messaggio, ed in generale se non si hanno significative
    informazioni da inserire.

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da javascripter Visualizza messaggio
    Prova con:
    Codice:
    SELECT post_subject, forum_id,topic_id,post_id FROM phpbb_posts GROUP BY post_id DESC LIMIT 0,5
    ( Leggi sotto, mi sono sbagliato ) p.s. dopo 7 giorni, l'up/post consecutivo è consentito.
    con questo sistema perdo l'ordine cronologico... mi tira fuori cose vecchissime

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •