Visualizzazione risultati 1 fino 5 di 5

Discussione: Richiamare più tabelle

  1. #1
    Guest

    Predefinito Richiamare più tabelle

    Questo codice richiama un numero di post che ci sono ne db, quando i post raggiungono un tot vengono spostati nella tabella archivio; dovrei fare in modo che mi memorizzi il numero dei post di entrambi le tabelle

    Codice PHP:
    $_SESSION['totale_messaggi']=mysql_num_rows(mysql_query("SELECT id FROM messaggi"));

    ...

    Totale messaggi&nbsp;<?php echo "(".$_SESSION['totale_messaggi'].")"; ?>
    Ultima modifica di gruppoalveo : 04-12-2012 alle ore 22.19.34

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Perché sposti i record da una tabella all'altra?

    Per contare righe sarebbe assai più veloce usare SELECT COUNT(*) ...; a quel punto, non è un problema eseguire due query per contare in entrambe le tabelle.

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Perché sposti i record da una tabella all'altra?

    Per contare righe sarebbe assai più veloce usare SELECT COUNT(*) ...; a quel punto, non è un problema eseguire due query per contare in entrambe le tabelle.
    Le sposto perché non posso tenere tutto in una pagina, così giusto, non va

    $_SESSION['totale_successi']=mysql_num_rows(mysql_query("SELECT COUNT(*) id FROM successi"));
    Ultima modifica di gruppoalveo : 04-12-2012 alle ore 23.29.41

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da gruppoalveo Visualizza messaggio
    Le sposto perché non posso tenere tutto in una pagina
    Ed usare LIMIT x nella query per mostrare solo gli ultimi 10 ad esempio? E in un archivio, puoi usare LIMIT x,y per avere delle pagine (cerca "paginazione" qua sul forum magari)

    Citazione Originalmente inviato da gruppoalveo Visualizza messaggio
    $_SESSION['totale_successi']=mysql_num_rows(mysql_query("SELECT COUNT(*) id FROM successi"));
    SELECT COUNT ti restituisce una normale riga, con una colonna in più, quindi devi usare mysql_fetch_row() o simili.

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Ed usare LIMIT x nella query per mostrare solo gli ultimi 10 ad esempio? E in un archivio, puoi usare LIMIT x,y per avere delle pagine (cerca "paginazione" qua sul forum magari)



    SELECT COUNT ti restituisce una normale riga, con una colonna in più, quindi devi usare mysql_fetch_row() o simili.
    Ho messo così e funziona:

    Codice PHP:
    <?php
    session_start
    ();
    //Richiama i parametri di connessione al db
    require_once "connessione.php";
    //Sessioni conta successi
    $_SESSION['totale_successi']=$_SESSION['num_successi']+$_SESSION['num_archivio'];
    $_SESSION['num_successi']=mysql_num_rows(mysql_query("SELECT id FROM successi"));
    $_SESSION['num_archivio']=mysql_num_rows(mysql_query("SELECT id FROM archivio"));
    ?>
    <!DOCTYPE html>
    <html>
    ...

    //Qui stampa il numero totale
    Successi&nbsp;(<?php echo $_SESSION['totale_successi']; ?>)

    //Qui stampa solo quelli in archivio
    In archivio&nbsp;(<?php echo $_SESSION['num_archivio']; ?>)

Regole di scrittura

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