Be, nel codice che hai postato ora $idordine è citato due volte, la prima viene impostato a 0 ( zero ) e la seconda scrive nel titolo il numero, che non può che essere zero, visto che nel codice non viene mai incrementato.
In pratica tu dici prima che idordine deve essere zero e poi lo scrivi nell'email. Che altro potrebbe fare?
Be, nel codice che hai postato ora $idordine è citato due volte, la prima viene impostato a 0 ( zero ) e la seconda scrive nel titolo il numero, che non può che essere zero, visto che nel codice non viene mai incrementato.
In pratica tu dici prima che idordine deve essere zero e poi lo scrivi nell'email. Che altro potrebbe fare?
Non è che non ho capito, ma se tu imposti il valore a zero, questo non parte.
Dovresti prima capire da dove prendere il dato da incrementare: da carrello.php?
$rigo_ordine è un array che contiene tutto il carrello? Allora ti basta un $idordine = count($rigo_ordine); per sapere quanti ordini ha fatto il tipo.
Dal codice non posso dirti di più
ciao
forse ti conviene farti una semplice tabella ordini con un rigo solo in cui memorizzi l'ultimo numero d'ordine
tabella ordini
num_ordine int(9) default 0
prima di spedire l'email leggi la tabella
PHP:
<?php
//....
$q=mysqli_query($connessione, "SELECT num_ord FROM ordini");
$ordine=mysqli_fetch_assoc($Q);
$idordine=$ordine['num_ord']+1;
//fai l'invio dell'email
//e quando inviata uppi il numero incrementandolo
$idordine+=1;
$q=mysqli_query($connessione,"UPDATE ordini SET num_ord=$idordine");
//.....
?>
poi vedo che usi per inviare la funzione mail() certi host di posta non la ricevono, cerca di evitarla e usa come suggerito phpmailler, non al 100%, ma è più sicura
ciao
forse ti conviene farti una semplice tabella ordini con un rigo solo in cui memorizzi l'ultimo numero d'ordine
tabella ordini
num_ordine int(9) default 0
prima di spedire l'email leggi la tabella
PHP:
<?php
//....
$q=mysqli_query($connessione, "SELECT num_ord FROM ordini");
$ordine=mysqli_fetch_assoc($Q);
$idordine=$ordine['num_ord']+1;
//fai l'invio dell'email
//e quando inviata uppi il numero incrementandolo
$idordine+=1;
$q=mysqli_query($connessione,"UPDATE ordini SET num_ord=$idordine");
//.....
?>
poi vedo che usi per inviare la funzione mail() certi host di posta non la ricevono, cerca di evitarla e usa come suggerito phpmailler, non al 100%, ma è più sicura
Non so se ho capito bene ma secondo me il contatore per gli ordini non ti serve. Se tu utilizzi un contatore per assegnare un progressivo al record estratto dal DB è assolutamente sbagliato perchè ogni qualvolta esegui quella routine il contatore degli ordini viene inizializzato a 0.Quindi se due utenti - che hanno effettuato uno un ordine e l'altro due - eseguono lo stesso codice al cliente che ha effettuato un solo ordine arriverà la mail con scritto: Ordine n:1. E verosimilmente al cliente che ha effettuato due ordini arriveranno due email con scritto: Ordine n:1 & Ordine n: 2.
Questo è sbagliato perchè (presupponendo che tu abbia salvato gli ordini dentro un db) il database (se specificato) crea un progressivo univoco per ogni record inserito in una ipotetica tabella. Quindi questo lavoro che stai facendo è inutile e non logico in quanto basta recupero l'identificativo univoco per quel record e così avrai il numero di ordine progressivo.
PS: Se vuoi recuperare il totale degli ordini la strada da seguire è un altra.
Allora ho capito bene. Prova a dare un occhiata alla guida su mysql.
Ti posto un semplice esempio perchè scriverti tutto il codice non sarebbe cosa buona e giusta.
PHP:
CREATE TABLE amici (
id INT(20) AUTO_INCREMENT,
nome VARCHAR(20),
cognome VARCHAR(20),
telefono INT(10),
PRIMARY KEY(id)
);
In questo esempio di creazione tabella puoi vedere come il campo id sia impostato su INT(20) AUTO_INCREMENT.
E' proprio quell'auto increment che ti permette di assegnare ad ogni record caricato sulla tabella, in questo esempio 'amici', un numero intero che si auto incrementa ogni volta che inserisci un record.
Questo è proprio quello che serve a te.
Spero di esserti stato di aiuto.
ciao
forse ti conviene farti una semplice tabella ordini con un rigo solo in cui memorizzi l'ultimo numero d'ordine
tabella ordini
num_ordine int(9) default 0
prima di spedire l'email leggi la tabella
PHP:
<?php
//....
$q=mysqli_query($connessione, "SELECT num_ord FROM ordini");
$ordine=mysqli_fetch_assoc($Q);
$idordine=$ordine['num_ord']+1;
//fai l'invio dell'email
//e quando inviata uppi il numero incrementandolo
$idordine+=1;
$q=mysqli_query($connessione,"UPDATE ordini SET num_ord=$idordine");
//.....
?>
poi vedo che usi per inviare la funzione mail() certi host di posta non la ricevono, cerca di evitarla e usa come suggerito phpmailler, non al 100%, ma è più sicura
Allora ho capito bene. Prova a dare un occhiata alla guida su mysql.
Ti posto un semplice esempio perchè scriverti tutto il codice non sarebbe cosa buona e giusta.
PHP:
CREATE TABLE amici (
id INT(20) AUTO_INCREMENT,
nome VARCHAR(20),
cognome VARCHAR(20),
telefono INT(10),
PRIMARY KEY(id)
);
In questo esempio di creazione tabella puoi vedere come il campo id sia impostato su INT(20) AUTO_INCREMENT.
E' proprio quell'auto increment che ti permette di assegnare ad ogni record caricato sulla tabella, in questo esempio 'amici', un numero intero che si auto incrementa ogni volta che inserisci un record.
Questo è proprio quello che serve a te.
Spero di esserti stato di aiuto.
Allora ho capito bene. Prova a dare un occhiata alla guida su mysql.
Ti posto un semplice esempio perchè scriverti tutto il codice non sarebbe cosa buona e giusta.
PHP:
CREATE TABLE amici (
id INT(20) AUTO_INCREMENT,
nome VARCHAR(20),
cognome VARCHAR(20),
telefono INT(10),
PRIMARY KEY(id)
);
In questo esempio di creazione tabella puoi vedere come il campo id sia impostato su INT(20) AUTO_INCREMENT.
E' proprio quell'auto increment che ti permette di assegnare ad ogni record caricato sulla tabella, in questo esempio 'amici', un numero intero che si auto incrementa ogni volta che inserisci un record.
Questo è proprio quello che serve a te.
Spero di esserti stato di aiuto.