Visualizzazione dei risultati da 1 a 9 su 9

Discussione: rand articoli

  1. #1
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261

    rand articoli

    bene forse qlc di voi potrà aiutarmi

    su un database vanno degli articolo che gli utenti inscerisco..

    sulla home volevo fare una sezione che mi prende a caso un articolo..
    in pratica ad ogni reflesh della pagina mi si vede un articolo divero..

    da qui vedo quanto risultati ho nel database
    $sql="SELECT * FROM articolo ";

    $result=mysql_query($sql) or die (mysql_error());

    $row=mysql_num_rows($result);
    quindi $mi oscilla da 1 al numero max di articoli
    $mi=rand(1,$row);


    il problema è come le visualizzo,per id??

    $sql="SELECT * FROM articolo WHERE id=$mi";
    $result=mysql_query($sql)

    $ro=mysql_fetch_array($result) ;
    il problema che gli articoli si posso cancellare e quindi poi ci sarebberò dei salti..

    l ideale sarebbe che se cancello id n:10, l undicesimo diventi il n.10 e cosi via..

    che mi consigliate?

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Allora, il problema e' proprio quello dell'eliminazione. potresti usare una query cosi':

    $rows il totale dei record, poi:
    $select = "SELECT * FROM tabella LIMIT RAND(0,$rows),1";

    dimmi se funziona.

  3. #3
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    no nn funziona..mi da sempre lo stesso articolo..
    ma che signifia quello che mi hai passato??
    cmq nn va

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    $rows il totale dei record, poi:
    crei un numero a casa fra 0 e il numeromassimo di record
    $start = rand(0,$rows);
    LIMIT serve a prendere tot record a seconda di quanto specificato, qui sotto ad esempio dal numero che ti crea col random al numero seguente.
    $select = "SELECT * FROM servizi LIMIT ".$start.",1";

    PS ho modificato riprova.

  5. #5
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    e no..

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Scusa ma io ho provato questo in locale qui da me e funziona:
    Mi estrae a caso uno dei 4 record presenti nella tabella
    <?php
    require('_configure/config.cfg.php');

    $sql="SELECT * FROM servizi ";
    $query = mysql_query($sql);
    $rows = mysql_num_rows($query);

    $start = rand(0,$rows)-1;
    if($start == $rows) {$start = ($start -1);}
    if($start == '-1') {$start = 0;}


    $select = "SELECT * FROM servizi LIMIT ".$start.",1";
    $q = mysql_query($select);
    $res = mysql_fetch_array($q);
    foreach ($res as $dati){
    echo $dati."
    ";
    }
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    scusa, se facessi una cosa del genere:
    codice:
    SELECT * FROM tabella ORDER BY RAND( ) LIMIT 1
    Te ne prede randomicamente uno solo...
    ( http://dev.mysql.com/doc/refman/5.0/...functions.html )
    Prova anche questa se ti va.

    ciao

  8. #8
    Utente bannato L'avatar di merha
    Registrato dal
    Apr 2005
    Messaggi
    261
    funziona marco..

    cmq mi hai passato tutto un altra cosa adesso rispotto a prima..
    ben bene

  9. #9
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    si ho mod qualcosa bene!! ps ciao ken! scappo a casa a domani!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.