- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Connessione a mysql
-
Attenzione:
mysql_pconnect è appunto il comando per le connessioni persistenti! Verifica bene il numero di connessioni che puoi aprire: se vai in saturazione lo script per alcuni utenti potrebbe non essere in grado di aprire ulteriori connessioni.
-
Ma il problema sorge nel caso in cui ci fossere più utenti collegati allo stesso momento al sito?
Cioè comunque quando chiudo il browser la connessine si chiude,o no?
E comunque sai come posso controllare il numero di connessioni massime supportare dal db?
-
azz!!!
Dopo aver pubblicato il mio lavoro ho visto che il provider non supporta le connessioni persistenti
Hai qualche consiglio su come fare una cosa simile?
Praticamente usavo la tabella temporanea come carrello...nel caso in cui l'utente chiudeva il browser la tabella si cancellava e non mi andava a creare una tabella fissa sul database che poi non sarebbe mai stata cancellata,con conseguente occupazione di spazio non più utilizzato.
-
Immaginavo ma non volevo fare il guastafeste...
Per il carrello elettronico, in assoluto, lo strumento di gran lunga più adatto, più semplice e più flessibie è la sessione.All'inizio di ogni script scrivi:
session_start();
poi quando vuoi memorizzare qualcosa scrivi:
$_SESSION['quantita']=3;
$_SESSION['prodotto']='scatola di fagioli';
$_SESSION['quello_vuoi']='quello che vuoi 2 volte!';l'array $_SESSION è simile a $_POST o $_GET: è una variabile globale sempre disponibile. La cosa bella è che passando da una pagina all'altra (o anche andando in altri siti e tornando) il dato è sempre lì (beh... più o meno :D).
Quando hai fatto tutti i giochi che vuoi (email, ordini, aggiornamenti db, ecc) se vuoi puoi chiudere la sessione con:
session_unset();
$_SESSION = array();
setcookie(session_name(), '', 1, '/');
session_destroy();E' molto più facile di quanto immagini.
-
Grazie Ceccus x non avermi guastato la festa!!
Ero così gasato ieri sera che mi funzionava tutto!Poi ho pubblicato....e sono tornato sulla terra!
Senti,allora alle sessioni avevo già pensato,infatti le utilizzo,ma avevo optato per la tabella perchè se dovessi avere più di un prodotto come posso fare per visualizzare una lista del carrello?
Con la tabella era una figata perchè la gestivo da paura,invece con una variabile come gestisco per esempio 2 descrizioni?
P.S. Grazie x l'aiuto!
-
Array di array
$_SESSION['dati']['email']
$_SESSION['dati']['nome']
(...)
$_SESSION['prodotti']['nome'][1]='patate'
$_SESSION['prodotti']['nome'][2]='cipolle'$_SESSION['prodotti']['prezzo'][1]=2 //? relativo alle patate
$_SESSION['prodotti']['prezzo'][2]=3 //? relativo alle cipollete la puoi gestire veramente come ti pare!
-
si più o meno ho capito
quello che non riesco a fare è una cosa un po più "dinamica" nel senso che i numeri dovrebbero incrementarsi tanti quanti sono i prodotti ne carrello e quindi lì dovrei mettere una cosa del tipo:
$_SESSION['prodotti']['nome']='patate'
$_SESSION['prodotti']['nome']='cipolle'o no?
poi come stampo il tutto?
sto facendo molto prove,ma non arrivo a niente.E' la prima volta che uso array di array.
grazie per la pazienza
-
Ho risolto cos': dimmi che ne pensi,se vuoi....
//registro
$_SESSION['carrello'][]['id_regalo'] = "$row[id]";
$_SESSION['carrello'][]['miniatura'] = "$row[miniatura]";
$_SESSION['carrello'][]['nome'] = "$row[nome]";
$_SESSION['carrello'][]['descrizione'] = "$row[descrizione]";
$_SESSION['carrello'][]['prezzo'] = "row[prezzo]";//stampo
foreach ($_SESSION['carrello'] as $value){
print ("$value[id_regalo]<br>");
print ("$value[nome]<br>");
print ("$value[descrizione]<br>");
print ("$value[prezzo]<br>");
}Cioè,risolto per modo di dire,perhè se stampo quello sopra mi lascia degli spazi allucinanti tra una scritta e l'altra,come se stampasse righe vuote.
in teoria dovrebbe essere giusto così,ma non mi stampan niente:
foreach ($_SESSION['carrello'] as $value){
print ($_SESSION['carrello'][$value]['nome']."<br>");
...
...
}
-
Sto praticamente facendo un monologo,volevo modificare il posto già scritto,ma non me lo fa più fare...cmq ho risolto!
Solo un'ultima cosa....se voi cancellare un prodotto inserito...
ho provato si a unset che a mettere caratteri vuoti
Il problema è che quando vado a ristampare l'array mi fa una righa ti tabella in più vuota,che sarebbe l'oggetto che ho cancellato.
Come posso risolvere?
-
Ciao, sono contento che tu abbia quasi risolto.
Un consiglio, usa echo al posto di print.Per cancellare un prodotto, ad esempio il n.5 devi:
$_SESSION['carrello'][5]=array();
inolrte cerca di prevedere sempre un controllo, ad esempio nel ciclo foreach:
if ($value[nome]!="")
oppure
if (strlen($value[nome])>0)
questo perché se cancelli un prodotto con id intermedio (tipo il 2 su 5 prodotti), con il foreach ti esce comunque una riga vuota in corrispondenza del prodotto id=2.
Spero di essere stato chiaro!
-
Hai ragione,era più semplice di quanto pensassi.
Grazie per l'aiuto!