Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Select con mod dinamico

    Buon Natale a tutti!

    Fatemi sto regalino

    Ho una select così:

    Codice PHP:
    $result mysql_query("SELECT id,number FROM temp where id mod 10 = 1 ORDER BY id asc"); 
    avrei bisogno che il numero che assegno a mod (10 nel caso sopra) sia dipendente da da count(*) cioè dal numero di record che ho nella tebella, per esempio se ho 300 sia 10, se ho 1000 sia 20 ecc...

    facendo come sotto assegno a mod il numero totale di record, ma non è quello che voglio, dovrei mettere una funzione tipo if o switch che mi legge count e se è 100 da 10, se 1000 20 ecc...

    Codice PHP:
    SELECT id,number FROM temp where id mod SELECT COUNT_rowid FROM temp ) = 1 ORDER BY id asc 
    un aiuto?

  2. #2
    Non puoi fare due select?
    Dal primo ottieni il count e dal secondo usi quella variabile per la seconda select?

  3. #3
    è hai ragione, non mi era venuto in mente... poi stasera ho risolto così:

    Codice PHP:
    $resultnum mysql_query("SELECT count(*)as num FROM temp"); 
    $num=mysql_fetch_assoc($resultnum); 
    $result mysql_query("SELECT id,numero FROM temp where id mod ".$num." = 1 ORDER BY id asc"); 

  4. #4
    Allora avevi già risolto gia senza il mio aiuto.
    Ce l'avevi fatta.

  5. #5
    ti ringrazio lostesso!

  6. #6
    Originariamente inviato da havana1977
    è hai ragione, non mi era venuto in mente... poi stasera ho risolto così:

    Codice PHP:
    $resultnum mysql_query("SELECT count(*)as num FROM temp"); 
    $num=mysql_fetch_assoc($resultnum); 
    $result mysql_query("SELECT id,numero FROM temp where id mod ".$num." = 1 ORDER BY id asc"); 
    ma sei sicuro funzioni? $num e' un array .... e poi conta i record e non divide in base al range che vorresti assegnare, ma divide per la quantita' totale dei record.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Si, perchè ho scritto solo l'idea iniziale, in realtà faccio così:

    $numero = $num['num'];

    poi per la divisione applico un'altra formula

    $numero = $numero / 10;

    In questo modo mi restituisce il totale dei results diviso per 10 e uso quel numero per il mod

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.