Newsgroup: it.lavoro.professioni.webmaster
Titolo: Buon libro Php (e oltre...)

Salve a tutti, di nuovo.
Sono quello del "Quesito esistenziale" sul php, ne approfitto per
ringraziare tutti delle risposte, stranamente (e fortunatamente) il
thread non è andato sul flame ma ha virato incredibilmente verso la
condizione del lavoro informatico (e non) italiana. Continuo a leggere
i vostri interventi con molta attenzione, ma, a rischio di sembrare
scortese, vorrei porvi un'altra domanda un pò più "pratica".
Sapreste consigliarmi un buon libro su Php (possibilmente in Italiano,
altrimenti pazienza, vada per un testo inglese)?
Sinceramente temo che la mia sia una domanda vana dato che il mio
problema è il seguente.
Attualmente sto leggendo "Beginning Php, Apache, MySQL Web Development"
, tutto bene fino a pagina 100, ma ad un certo punto mi sono bloccato.
Si è iniziato a fare sul serio con gli array e lì mi sono perso. Il
fatto è che su tutti i libri che ho letto (2 a dire il vero) ho
trovato sempre quello degli array come uno scoglio. Io non ho
esperienze precedenti di programmazione (se non il Pascal fatto al
liceo, quindi non ho alcuna esperienza) e mi piacerebbe trovare un
testo che mi spieghi ANCHE concettualmente come funziona un array. Dopo
aver letto diverse volte le pagine che ne trattano, guardato e
riguardato il codice non ho fatto molti passi avanti. L'unica maniera
per capire è quella di agire sul codice che ho scritto, cambiare
valori, provare e riprovare nuove soluzioni ed arrivare per deduzione
al concetto. Quando poi penso di averlo ben compreso TAC, mi trovo
davanti una cosa nuova riguardante gli array che mi fa quasi
dimenticare quanto appreso, e lì di nuovo a fare tentativi per
arrivare tramite deduzione al concetto di base.
Questo mi demoralizza un pò, dato che non mi permette di apprendere
molto velocemente... sia chiaro, ai fini pratici potrei riuscire a
realizzare la soluzione a cui miro, però francamente "imparare a
memoria" non mi è mai piaciuto e vorrei poter sapere esattamente
quello che sto facendo.
Questa divagazione per esporvi il mio problema, a questo punto penso
sia opportuno che prima del php studiassi un altro linguaggio di
programmazione per acquisire le nozioni generali della logica che sta
dietro a questo mondo. Ma questo mi sembra il gioco delle scatole
cinesi... da dove inizio, dal C? E per capire la logica del C cosa devo
studiare, l'Assembler?
Come avrete potuto leggere sono un pò demoralizzato, tuttavia, anzi,
ora più che mai, la mia voglia di imparare è ancora forte, spero che
qualcuno di voi mi possa dare qualche buon consiglio...
Grazie per la pazienza.

 studiare, l'Assembler?
ma no, comincia pure col php.
e non perderci il sonno!  ma hai visto che ore sono?  a dormire!  :-)

 studiare, l'Assembler?
Mmm magari un linguaggio come Python e` piu` indicato per imparare a
programmare. Impari i concetti, zero sintassi, te ne freghi di come le cose
vengono implementate (vedi asm e C). Poi torni al linguaggio che ti serve e in
poco tempo risolvi il tuo problema.
-- 
Lawrence - 
http://www.oluyede.org/blog
"Nothing is more dangerous than an idea
if it's the only one you have" - E. A. Chartier

 con un testo meno specifico.
Da quel che ricordo sono uno strano misto tra liste e hash.
Quello che fa PHP nel caso delle liste č usare gli indici come chiavi
dell'hash, quindi puoi passare una lista di "tipi" a array() e accedere
mediante [1] eccetera.
Mah.
  ngw

Grazie a tutti per le risposte.
Purtroppo non sono stato molto specifico, diciamo che io il concetto di
array l'ho capito abbastanza bene, se non vi dispiace entro un pò di
più nello specifico...
Nel manuale che sto leggendo quando arriva a trattare dell'integrazione
con mysql ho trovato difficoltà nel comprendere la parte relativa alla
query.
Mi spiega prima qual'è la sintassi per fare una query, e fin qui tutto
chiaro.
I dolori sono iniziati quando si inizia a estrapolare i risultati di
una query e ad utilizzarli nel proprio script php. In particolare viene
detto questo:
La query è la seguente:
$query="SELECT movie_name, movie_type
FROM movie
WHERE movie_year>1990
ORDER BY movie_type";
$results=mysql_query($query) or die(mysql_error());
Per la "stampa" dei risultati viene dato questo esempio:
while ($rows=mysql_fetch_array($results)) {
extract($rows);
echo $movie_name;
echo " - ";
echo $movie_type;
echo "<br>";
}
Il sottocapitolo viene chiuso spiegando come funziona la query ma non
spiega affatto il ciclo while, suggerisce di passare da while a foreach
per la visualizzazione dei risultati. Allora prima di andare al
capitolo successivo ho dovuto dedurre un pò di cose...
La funzione mysql_fetch_array($results) in pratica "prende" il
risultato della query e lo trasforma in un array, la funzione
extract($rows) dovrebbe "sistemare" i valori degli array in altrettante
variabili che prendono il nome dai campi della tabella ($movie_name,
$movie_type)... diciamo che forse questo intero passaggio l'ho capito,
ma i dubbi restano dato che ho dovuto fare tutto da solo, il manuale
non ha prestato la minima attenzione a descrivermi a cosa serva
"mysql_fetch_array" e "extract".
Questo per farvi comprendere cosa intenda io per spiegare bene i
concetti...

 altrimenti pazienza, vada per un testo inglese)?
Guide per newbie:
"PHP - Dall'HTML allo sviluppo di siti web dinamici"
Paolo Camagni - Riccardo Nikolassy
Hoepli informatica
ISBN 8820334453
"PHP4"
Luca Cattaneo
Tecniche nuove
ISBN 884811251X
"Sviluppare applicazioni per database con MySql/PHP"
Jay Greenspan - Brad Bulger
Apogeo
ISBN 8873038662
Un po' più approfondito:
"Guida a PHP"
Tim Converse - Joyce Park
McGrow-Hill
ISBN 8838644004
ciao
Filippo B.
-- 
Ci vuole tutta la vita per imparare a vivere e, quel che forse
sembrerà più strano, ci vuole tutta la vita per imparare a morire.
(Seneca)

Ducaleto ha scritto:

beh, ma quando ci sono dei comandi che non capisci o che non sono 
spiegati bene nel libro, non fermarti, ma vai su 
php.net
 e leggi cosa 
sono quei comandi
www.php.net/mysql_fetch_array
www.php.net/extract
ps, cmq eviteri l'uso di extract così come è stato fatto

Vi porto un altro esempio di cosa stia cercando.
Nel manuale su cui sto studiando dopo aver fatto un'introduzione
abbastanza esaustiva sull'integrazione col database l'autore propone
degli esercizi.
L'esercizio numero 1 l'ho risolto agevolmente, e ciò mi ha dato molta
soddisfazione.
L'esercizio numero 2 mi ha chiesto una cosa che apparentemente era
semplice ma mi ha dato parecchi grattacapi. Dopo più di un'oretta di
tentativi ho pensato bene di andare a vedere la soluzione, dato che
proprio non mi riusciva di venirne fuori.
Sorpresa.
Nella soluzione compaiono degli argomenti che non sono mai stati
trattati nel corso del manuale, ovvero introduce le funzioni...
A questo punto mi sa che cambio manuale...

A questo punto mi sa che cambio manuale...
Guarda, le cose che dici sono vere. Lo sto leggendo anche io questo manuale,
e non lo ritengo affatto un testo da consigliare a chi compie i primi passi
nell'affascinante mondo del php. In effetti per affrontare serenamente la
lettura di questo libro bisognerebbe già avere un minimo di familiarità con
l'html, il php e mysql. Secondo me questo è un ottimo manuale che
materializza bene i concetti base della programmazione in utili ed
illuminanti esempi operativi come la creazione di un sito di commercio
elettronico, o la messa in opera di un sito web per le recensioni di film.
Tuttavia prima di iniziare a padroneggiare il php con questi esempi sarebbe 
opportuno che tu iniziassi prima a creare delle solide fondamenta dei 
concetti base di programmazione. Quale manuale consigliarti in definitiva? 
Prima di leggere Beginning PHP5, Apache, and MySQL ho comprato un testo 
edito dalla Mondadori: "PHP5 subito e facile" che tutto è fuorchè subito e 
facile :) Molti dicono che "PHP5, guida per lo sviluppatore" sia un buon 
testo ma io non ho mai avuto modo di dargli un'occhiata.

Guarda, il tuo intervento francamente mi rincuora. E' vero, il testo
che sto leggendo è ottimo per far capire l'utilizzo pratico che si
può fare del php accoppiato con mysql e apache, però sulle basi molte
cose le da per scontate.  Più che altro alcune volte salta la
spiegazione che fornisce con gli esempi. Ad esempio, quando ti fa usare
per la prima volta un ciclo while ti spiega quasi riga per riga la
logica del programma, ma altre volte (come in questo caso, l'utilizzo
di una funzione) la salta a piè pari, avendone fatto solo una
spiegazione fondamentale verso l'inizio del manuale ma non avendo
fornito un'applicazione pratica.
Tu mi (s)consigli Php5 subito e facile. Beh, io sono già in possesso
del manualetto "PHP4 in 6ore) della Tecniche Nuove, e più che altro è
un handbook dove poter andare a guardare certe cose quando si hanno dei
dubbi, non certo per imparare. Purtroppo dopo aver controllato su ibs
ho visto che i manuali di PHP in Italiano non sono poi così tanti,
spero di trovare qualcosa in inglese...

 CUT
Allora è un testo mediocre.
Devi comunque sempre guardare "dentro" gli esempi, se non sai cosa ritornano
le varie funzioni poi quando usi il linguaggio sul serio sei nei guai.
  ngw