Newsgroup: it.comp.www.php
Titolo: Me la spiegate per favore .... :-(

Gentilmente chiedo a chi voglia darmi una mano se puo' spiegarmi le 
righe di cui sotto.
  Sto prendendo lezioni da un programmatore ma purtroppo fatico ad 
acquisire alcuni concetti. Magari se qualcuno mi spiegasse le righe 
sotto con altre parole (magari pure casarecce) capirei di piu'.
La funzione sotto dovrebbe servire (assieme ad un altra funzione) ad 
automatizzare l'inserimento dei dati inuna tabella.
Per come la capisco io vuol dire:
definire $fields come array. definire $result come risultato 
dell'operazione di visualizzazione dei campi della tabella $table
Verificare se $result esiste.
Se la procedura va avanti allora esiste e quindi a questo punto se 
$result ha piu' righe di zero allora (e qui cominciano i guai per me)
$row che valore iniziale ha? eseguire un operazione fintanto che 
$row=mysql_fetch_assoc_ecc.ecc. mi sta bene ma se $row non e' stata 
definita  come faccio a stabilire se e' uguale????
mysql_fetch_assoc($result) non ho proprio capito che vuol dire. Sono 
andato su 
php.net
, webmasterpoint, 
html.it
 ecc ecc. ma non capisco proprio.
Non parliamo della riga sotto. Io mi stendo un velo pietoso, ma se 
qualcuno mi aiutasse gli sarei davvero grato
Grazie.
BUD
function get_table_fields($table){
	$fields = array();
	$result = mysql_query("SHOW COLUMNS FROM ".$table);
	if (!$result) {
		echo 'Could not run query: ' . mysql_error();
		exit;
	}
	if (mysql_num_rows($result) > 0) {
		while ($row = mysql_fetch_assoc($result)) {
			$fields[$row['Field']]= $row;
		}
	}
	return $fields;

 			$fields[$row['Field']]= $row;
E` un po' complesso, ma se lo scomponi lo capisci. Parti, come in 
matematica, dalle parentesi piu` interne.
$row['Field'] ti torna il contenuto della "cella" di nome Field contenuta 
nell'array associativo $row.
Questo valore lo usi come indice dell'array $fields, che pero` qui e` a 
sinistra dell'uguale, quindi gli stai dicendo:
Nell'array $fields, all'indice dato dal risultato di $row['Field'] 
assegna il valore $row.
Riassumendo tutto, la query chiede a MySQL di dirgli come sono definite 
le colonne della tabella $table, e MySQL tornera` una tabella in cui una 
colonna e' intitolata Field (a memoria e` il nome della colonna stessa). 
Le altre colonne del risultato saranno le informazioni aggiuntive sulla 
colonna stessa (tipo, dimensione, se e` una chiave e di che tipo, ecc.)
A quel punto tu ti costruisci un array associativo che, per ogni nome di 
colonna, contiene tali informazioni.
Hai scelto un esempio un po' complicato (avere colonne con i dati di 
altre colonne...), ma analizzandolo con calma ci dovresti arrivare.
Bye.

> definita  come faccio a stabilire se e' uguale????
Intanto grazie per la risposta e per il tempo che mi hai dedicato. Ora 
me la studio passo passo, ma ad occhio dovrei arrivarci con le 
spiegazione fresche sottomano.
Ma secondo te il mio insegnante e' stato un po' troppo pretenzioso alla 
mia terza lezione da neofita della programmazione? Li' per li un po' di 
ansia e un po' il fatto di non voler fare la figura dello scemo al terzo 
tentativo di spiegazione ho detto di aver capito, fiducioso che poi a 
casa con calma avrei capito.
Comunque grazie ancora.
Bud

 Bud
leggi il manuale

dello scemo al terzo tentativo di spiegazione ho detto di aver capito
dipende però...se lo paghi hai tutto il diritto di non capire e 
chiedere...(che poi anche se non lo paghi ma va beh...)