[PHP] Recupero id autoincrement

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Buonasera,

Avrei bisogno di recuperare tramite una query il prossimo id autoincrement prima ancora di eseguire la query. Esiste un modo?


Grazie
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao Bubino,
se non ho capito male, tu vorresti uno script che recuperasse, da un DB, il valore dell'ultimo ID immesso (e quindi il valore del successivo). Giusto?

Zorro
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
ciao
si è proprio così ma l'ultimo id effettivo.

Es.: Se recupero l'ultimo id che è 34 incremento e il successivo sarà 35.

Ma se dovessi cancellare il record con id 34 l'id precedente sarebbe 33 quindi alla query seguente l'id successivo diventerebbe nuovamente 34.

Non so se mi sono spiegato:D
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao grazie per le risposte intanto.

Allora ID autoincrement non lo metto io, il discorso che con la SELECT MAX(ID) del tuo esempio non vado a recuperare l'ID effettivo ma quello dell'ultimo record.
Quindi se cancello l'ultimo record quindi ID 34 con MAX(ID) recupererò quello precedente quindi 33.


mi sono spiegato male
diventerebbe nuovamente 34.
l'id ovviamente si incrementa ma ho bisogno di averlo prima per poterlo mettere in una campo.

in sostanza devo creare in un campo un URL di questo tipo:
http://192.168.1.108/qrcdr/contatore.php?url=sito&id=(numero ID autoincrement)

Non so in che altro modo spiegarmi scusate hehe.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
premesso che la tua spiegazione é molto chiara, provo a riepilogare la mia, integrandola

autoincrement è per definizione automatico,
ma nessuno vieta di gestirlo manualmente definendo il campo come un intero e poi usando la "insert…. select … 1+max(id) from ….",
se gestito manualmente ciò che vorresti ottenere é di facile soluzione

ma dovrebbe essere di facile soluzione anche con la versione automatica, nella discussione che ti ho indicato, trovi
PHP:
$db = new mysqli('localhost', 'user', 'pass', 'database');
$sql = "SHOW TABLE STATUS LIKE 'table'";
$result=$db->query($sql);
$row = $result->fetch_assoc();
echo $row['Auto_increment'];
ovvero questo codice va ad interrogare il valore che avrà il prossimo "autoincrement" per la tabella che é stata specificata

questo lascerebbe supporre un giusto trattamento anche in caso di cancellazione dell'ultimo record inserito

ma rimane il problema, se l'applicazione è utilizzata da più utenti contemporaneamente, non sai chi conferma per primo e chi si prende il primo "autoincrement" ….

la soluzione che stai adottando, come parere, é "debole", mi sembra impossibile tu non possa creare l'url nel momento in cui deve essre usato, prendendo l'autoincrement" aggiornato nella seconda tabella ...
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Grazie mille per la risposta sei stato chiarissimo.

Ora che mi hai fatto notare
chi conferma per primo e chi si prende il primo "autoincrement"
ho optato per farlo non sull'id ma su un codice casuale generato che ovviamente anchesso sarà univoco.


Grazie ancora per la disponibilità
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao Bubino
anch'io, come Marino, avevo qualche dubbio sulla gestione dell'ID AUTOINCREMENT: ho fatto qualche prova ma, come dice il nome, questo viene assegnato in modo automatico: se l'ultimo ID immesso risulta essere il 33 e tu lo cancelli, e quindi l'ultimo risulterebbe il 32, il nuovo ID sarebbe omunque il 34.
A questo punto potresti (io ho adottato questa soluzione) o recuperare l'ID appena immesso e inseritrlo poi nella URL o, come dici tu, utilizzare un campo univoco interamente gestito da te.


Zorro
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao ringrazio anche te per l'aiuto.
Come detto mi sono espresso decisamente male, sono a conoscenza che appunto autoincrement è autonomo e funziona correttamente.
Io dovevo recuperarlo ed inserirlo sulla stessa query. Precedentemente ho fatto
o recuperare l'ID appena immesso e inseritrlo poi nella URL
e con query UPDATE vado ad aggiungere l'ID.

Poi ho optato per la seconda
utilizzare un campo univoco interamente gestito da te.
siccome mi serve per gestire dei QR, in questo modo li rendo dinamici per poterli modificare in un secondo momento.


RISOLTO
Grazie per l'aiuto
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Recupero nome immagine da Form con input file PHP 3
S [PHP] form con metodo get e recupero id PHP 4
Emix [PHP] Check - Select e recupero variabili PHP 40
bubino8 [PHP] Recupero input senza invio PHP 1
U [PHP] Selezione con menu a tendina e recupero selezione PHP 5
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
P [PHP] Recupero dati da un array PHP 5
Alessio Gebbia [PHP] Recupero dati da un WHILE ! PHP 3
L PHP e recupero risultati da query PHP 2
L PHP e recupero risultati da query PHP 11
I Recupero numero file uploadati php PHP 1
F errori sul recupero dati mysql e php PHP 3
T Problema recupero dati da file [era: help script php] PHP 9
L [PHP/MYSQL] Recupero campo USER e visualizzarlo nella tabella pagine PHP 13
A Accesso e recupero informazioni su db mysql e 2 tabelle. Php lento nell'esecuzione. PHP 4
L [PHP] Recupero valore dopo il submit PHP 1
M Recupero dati da pagina php PHP 2
P recupero variabile e invio a php Flash 5
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0

Discussioni simili