Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [PHP] ultimo id

  1. #1

    [PHP] ultimo id

    salve ragazzi ho un problema con una funzione, premetto che ho letto su internet ma non trovo ciò che mi serve.

    in pratica ho una tabella che per vari motivi non uso campi auto_increment quindi tramite una query prelevo l'ultimo id e poi lo aumento di uno ma non riesco a far funzionare il tutto.... questo è il codice:

    Codice PHP:
    include "database.php";
    $Database = new Database();
    $Database->connect();
        
        
    $ultimo_id "SELECT AnagrafeID FROM anagrafica ORDER BY AnagrafeID DESC LIMIT 0,1";
        
        
    $eseguisql mysql_query($ultimo_id);
        
        
    $increment $eseguisql 1;
        
        return 
    $increment;
        
        echo 
    "$increment"

    questo script lo uso per test ecco perchè ci sta echo ma non mi visualizza nulla... dove sbaglio?

    grazie anticipatamente
    Credo che la voglia di scappare da un paese con ventimila abitanti vuol dire che hai voglia di scappare da te stesso, e credo che da te non ci scappi neanche se sei Eddie Merckx. Credo che non è giusto giudicare la vita degli altri, perché comunque non puoi sapere proprio un ca**o della vita degli altri

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    ciao, puoi utilizzare più semplicemente la funzione max() di sql, che ti restituisce il numero più alto del tuo id.

    Codice PHP:
    include "database.php";
    $Database = new Database();
    $Database->connect();
        
        
    $ultimo_id "SELECT max(AnagrafeID) as ultimo FROM anagrafica";
        
        
    $eseguisql mysql_query($ultimo_id);
        
    $valore=mysql_fetch_array($eseguisql);
        
    $increment $valore["ultimo"] + 1;
        
        return 
    $increment;
        
        echo 
    "$increment"

  3. #3
    lo so infatti prima usavo la funzione MAX() ma leggendo su internet ho scoperto che la query strutturata come la mia è più veloce della funzione max... ma metto in conto che può essere anche una cavolata....

    ho provato il tuo codice ma comunque non funziona....
    Credo che la voglia di scappare da un paese con ventimila abitanti vuol dire che hai voglia di scappare da te stesso, e credo che da te non ci scappi neanche se sei Eddie Merckx. Credo che non è giusto giudicare la vita degli altri, perché comunque non puoi sapere proprio un ca**o della vita degli altri

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    In che senso non funziona?pagina bianca o riporta qualche errore?
    Chiaramente se è uno script di test devi togliere il return $increment;

    Codice PHP:
    include "database.php";
    $Database = new Database();
    $Database->connect();
        
        
    $ultimo_id "SELECT max(AnagrafeID) as ultimo FROM anagrafica";
        
        
    $eseguisql mysql_query($ultimo_id);
        
    $valore=mysql_fetch_array($eseguisql);
        
    $increment $valore["ultimo"] + 1;    
        echo 
    "$increment"
    Per la velocità potrei essere d'accordo con Internet xD Ma salvo casi in cui la tua tabella contiene un numero esorbitante di record, non te ne accorgi nemmeno della differenza computazionale.

  5. #5
    giusto, eliminando il return mi visualizza l'id corretto aumentato di uno... grazie.

    per il discorso della velocità quello che dici tu mi è chiaro, infatti per adesso la tabella è composta solo da tre id per testing ma a breve sarà popolata da una grande quantità di record...


    grazie mille, a presto
    Credo che la voglia di scappare da un paese con ventimila abitanti vuol dire che hai voglia di scappare da te stesso, e credo che da te non ci scappi neanche se sei Eddie Merckx. Credo che non è giusto giudicare la vita degli altri, perché comunque non puoi sapere proprio un ca**o della vita degli altri

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    avresti anche potuto fare:

    $ultimo_id = "SELECT * FROM anagrafica order by id desc limit 1";

    Ciao

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.