Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2013, 19:40   #1
Cloud25
Member
 
Iscritto dal: Mar 2008
Messaggi: 64
[PHP] array e query

ciao a tutti!

avrei bisogno di una mano su un codice php che sto preparando... premetto di essere uno alle prime armi e che sto preparando una specie di gestionale sul web.
Allora, io ho una serie di variabili POST del tipo: $_POST['1'], $_POST['2'], etc. che potrebbero potenzialmente arrivare all'infinito. Vorrei riuscire a salvare il loro contenuto in un database mysql e in particolare in delle colonne il cui nome è salvato in un array (nel mio caso $array_nomi) e quindi:
il contenuto di $_POST['1'] vorrei che fosse salvato nella colonna il cui nome è contenuto in $array_nomi[0];
il contenuto di $_POST['2'] vorrei che fosse salvato nella colonna il cui nome è contenuto in $array_nomi[1]; etc.

credo serva un foreach e una query del tipo INSERT INTO almeno, ma non saprei proprio come utilizzarli e i miei tentativi hanno portato a fallimenti clamorosi. grazie in anticipo a tutti!
Cloud25 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2013, 13:01   #2
Tuvok-LuR-
Senior Member
 
L'Avatar di Tuvok-LuR-
 
Iscritto dal: Sep 2001
Città: Pisa
Messaggi: 2213
se hai una lista di input omogenea puoi usare questa notazione nel form html (nomecampo+[])
Codice:
<input name="lista[]"></input>
<input name="lista[]"></input>
<input name="lista[]"></input>
a php verrà passato il solo parametro $_POST['lista'] che sarà un array.
poi puoi loopparlo così
Codice:
<?php
$lista = $_POST['lista'];
foreach ($lista as $item) {
   echo $item;
}
?>
__________________
9800X3D | 32GB DDR5 6400C30@TUNED | RTX 4090 | LG 32GQ950-B | Fractal Torrent | NZXT C1200W | Iliad Fibra 5Gb
Tuvok-LuR- è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2013, 13:04   #3
Cloud25
Member
 
Iscritto dal: Mar 2008
Messaggi: 64
Quote:
Originariamente inviato da Tuvok-LuR- Guarda i messaggi
se hai una lista di input omogenea puoi usare questa notazione nel form html (nomecampo+[])
Codice:
<input name="lista[]"></input>
<input name="lista[]"></input>
<input name="lista[]"></input>
a php verrà passato il solo parametro $_POST['lista'] che sarà un array.
poi puoi loopparlo così
Codice:
<?php
$lista = $_POST['lista'];
foreach ($lista as $item) {
   echo $item;
}
?>
grazie mille non avevo idea di poter usare l'html in quel modo! appena torno a casa provo
e come posso fare per inserire i dati nel db?
<? $lista = $_POST['lista'];
foreach ($lista as $item) {
foreach ($array_nomi as $column) {
mysql_query("INSERT INTO '$column' VALUE ('$array_nomi') ");
}
}
?>

così va bene?

Ultima modifica di Cloud25 : 08-11-2013 alle 13:12.
Cloud25 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2013, 13:13   #4
Tuvok-LuR-
Senior Member
 
L'Avatar di Tuvok-LuR-
 
Iscritto dal: Sep 2001
Città: Pisa
Messaggi: 2213
non hai bisogno di un'altro loop all'interno del foreach. poi puoi trattare $lista come un oggetto in modo da avere l'indice ($key) e recuperare il campo dall'altro array:
Codice:
<?php
$lista = $_POST['lista'];
$fields = Array('nome','cognome','eta');
foreach ($lista as $key=>$item) {
        // $key sarà in successione 0,1,2
	$campo = $fields[$key];
	$valore = $item;
	echo($campo.': '.$valore);
}
?>
inoltre ricordati che:
una INSERT non inserisce il valore in una specifica colonna ma serve a creare una nuova riga (se vuoi aggiornare colonne di una riga già esistente devi usare UPDATE)

i comandi mysql_ sono deprecati in PHP, ti consiglio di passare a PDO o, più semplicemente a mysqli_ (più simile a mysql_)
__________________
9800X3D | 32GB DDR5 6400C30@TUNED | RTX 4090 | LG 32GQ950-B | Fractal Torrent | NZXT C1200W | Iliad Fibra 5Gb

Ultima modifica di Tuvok-LuR- : 08-11-2013 alle 13:31.
Tuvok-LuR- è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2013, 20:01   #5
Cloud25
Member
 
Iscritto dal: Mar 2008
Messaggi: 64
grazie va una bomba
Cloud25 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2013, 14:45   #6
Cloud25
Member
 
Iscritto dal: Mar 2008
Messaggi: 64
senza aprire nuovo topic.... ho un nuovo casino che non riesco a risolvere da qualche giorno

il discorso è il seguente: devo recuperare dei dati presenti nella tabella "descr_movimenti" ma il nome di alcune colonne non è noto a priori ed è salvato nell'array $prefissi (mentre le colonne "tipologia", "data", "num_doc" sono note). Sono in grado di tirare fuori il contenuto delle colonne note, ma non riesco a stampare a video il contenuto delle colonne il cui nome è salvato nell'array... come posso fare?

Codice:
	$query = mysql_query("SELECT * FROM descr_movimenti WHERE ID_cliente = '$_POST[ID]' ORDER BY data") or die(mysql_error);
	
	$tipologia = array();
	$data = array();
	$num_doc = array();
	
	
	while ($linea = mysql_fetch_array($query)){
	$tipologia[] = $linea['tipologia'];
	$data[] = $linea['data'];
	$num_doc[] = $linea['num_doc'];
	
	}

	foreach ($prefissi as $key => $item) {
	echo "<tr><td align=center>".$tipologia[$key]."</td> <td align=center>".$data[$key]."</td> <td align=center>".$num_doc[$key]."</td>	
	 <td align=center>".$prezzo[$key]."&euro; x ".???."</td>
ps. so di usare funzioni php deprecated ma purtroppo non ho tempo materiale per aggiornarmi
Cloud25 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2013, 15:17   #7
Tuvok-LuR-
Senior Member
 
L'Avatar di Tuvok-LuR-
 
Iscritto dal: Sep 2001
Città: Pisa
Messaggi: 2213
stasera spaghetti!

prova così:
Codice:
$query = mysql_query("SELECT * FROM descr_movimenti WHERE ID_cliente = '$_POST[ID]' ORDER BY data") or die(mysql_error);

while ( $linea = mysql_fetch_array($query) ) {
	$tr = "<tr>";
	$tr .= "<td align=center>".$linea['tipologia']."</td>";
	$tr .= "<td align=center>".$linea['data']."</td>";
	$tr .= "<td align=center>".$linea['num_doc']."</td>";
	foreach ( $prefissi as $prefisso ) {
		$tr .= "<td align=center>".$linea[$prefisso]."</td>";
	}
	$tr .= "</tr>";
	echo $tr;
}
manca il prezzo che non ho capito da dove esce fuori
__________________
9800X3D | 32GB DDR5 6400C30@TUNED | RTX 4090 | LG 32GQ950-B | Fractal Torrent | NZXT C1200W | Iliad Fibra 5Gb
Tuvok-LuR- è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2013, 17:00   #8
Cloud25
Member
 
Iscritto dal: Mar 2008
Messaggi: 64
Quote:
Originariamente inviato da Tuvok-LuR- Guarda i messaggi
manca il prezzo che non ho capito da dove esce fuori
esce da qui: (è un pezzo di codice subito prima di quello che mi hai dato te, che ovviamente funziona alla grande!
Codice:
 //passo 1: recupero i prefissi
	$query = mysql_query("SELECT prefix_giacenza, quantity_giac FROM descr_clienti WHERE ID = '$_POST[ID]'");
	
	while ($giac = mysql_fetch_array($query)) {
	$prefissi = unserialize($giac['prefix_giacenza']);
	}
	
	foreach ($prefissi as $key => $item) {
		
		$query = mysql_query("SELECT Libro, Prezzo From descr_libri WHERE prefisso = '$prefissi[$key]'");
		
		$prezzo = array();
		while ($dati = mysql_fetch_array($query)) {
			$libro = $dati['Libro'];
			$prezzo[] = $dati['Prezzo'];
		}
		echo "<td>".$libro."</td>";
   	}
	//chiudo rigo html
	?>
	<td></td>
  	</tr>
Cloud25 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Segway Navimow presenta la nuova gamma d...
Xiaomi SU7 Pro: l'ispezione dopo 265.000...
Nimbus Innovation Awards 2026: le miglio...
SSD Samsung contraffatto, ma Windows e C...
Enrique Lores, CEO e presidente di HP, l...
SoftBank e Intel preparano la 'memoria d...
Il blocco dei porno per i minori è...
AMD: i nuovi processori Zen 6 saranno (i...
Ancora aumenti per le schede video Radeo...
Sonos presenta Amp Multi a ISE 2026: il ...
Una funzione esclusiva dei Pixel potrebb...
La Cina vieta ufficialmente le maniglie ...
HP e lavoro ibrido: le nuove cuffie Poly...
MSI sta lavorando a un dissipatore ottim...
27 offerte Amazon, le prime 5 in elenco ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v