Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Forum :: Programmazione.it :: PHP :: PHP e gestionali web - prima parte :-)
Scritto da Andrea Bassotti a.k.a. pammala il 27-11-2006 ore 19:13
Intel Parallel Studio XE
Salve a tutti...

Ieri (finalmente) sono riuscito a scrivere la mia prima pagina in PHP funzionante (una semplice pagina di news)...

Ho già scritto siti dinamici, ma in ASP.NET...

Ci sono diverse cose di ASP.NET che non so come replicare in PHP... per adesso ve ne propongo due che mi servirebbero per la creazione di gestioni anagrafiche...

Prima domanda :

in asp.net c'è una funzione davvero molto bella e funzionale... la possibilità di alimentare una tabella partendo da un dataset (recorset in PHP) e la possibilità di poter effettuare la paginazione su di essa dei dati caricati...

l'alimentazione della tabella non è cosa molto difficile (basta un ciclo for che scorre i record), cosa non vera invece per quanto riguarda la paginazione dei dati... questo mi servirebbe per visualizzare in poco spazio tutti i dati presenti all'interno delle tabelle...

avete qualche consiglio da darmi? esistono già delle cose già fatte che fanno al caso mio? generalmente che metodo utilizzate per visualizzare i dati presenti in una tabella di database?

Girottolando un po' su internet ho trovato questo:

http://www.pear.php.net/package/Structures_DataGrid

ma non ho capito come fare per "installarlo"...

Seconda domanda :

come faccio ad eliminare uina item dalla mia anagrafica? mi spiego meglio...

supponiamo che debba fare l'anagrafica clienti...

Io farei seguendo questi passaggi

1 - alimento una tabella con i dati prelevati dal db;
2 - nella fase di alimentazione inserisco un campo con dicitura "Seleziona";
3 - quando clicco su uno dei link presenti nella tabella, ricarico l'intera pagina mettendo però nella query string l'id del cliente selezionato;
4 - clicco sul pulsante elimina (creato precedentemente) che mi estrae dalla query string l'id del cliente da eliminare;
5 - elimino il cliente con la query sul db;

Posto l'esempio del layout della tabella che ho in mente:

|


|
|Nome |Cognome | |
|


|
|Andrea |Bassotti | Seleziona |
|Mario |Rossi | Seleziona |
|Paolo |Bianchi | Seleziona |
|Marcello |Verdi | Seleziona |
|


|

Secondo voi quello che ho in mente per l'eliminazione potrebbe andare bene?

Per ora mi sembra che può bastare ;-)...

Avrò sicuramente altre domande ma se mi rispondete a queste due sono un uomo al settimo cielo...

Ciao e grazie in anticipo a tutti !!!

Ciao ciao
Precedente: Turbo C++ 2006: Controllo Input
Successiva: Java, miglior manuale.
Commenti:  1 - 10 di 27  »  Più recenti  »  Ultimi
Intervento di Andrea Bassotti a.k.a. pammala del 27-11-2006 ore 19:16, Pistoia (PT)
Nobile
Nobile
(55 interventi)
Iscritto il 10-09-2002
PS = i campi "Seleziona che inserirei all'interno della tabella sarebbero i link che ricaricano la pagina aggiungendo i dati nella query string...
Intervento di Filippo Manganotto a.k.a. filippom del 28-11-2006 ore 09:13, Verona (VR)
Nobile
Nobile
(53 interventi)
Iscritto il 07-02-2006
Per quanto riguarda la prima questione, la paginazione, dipende molto dal DBMS che utilizzi, per esempio MySQL e PostgreSQL supportano la paginazione mediante LIMIT e/o OFFSET (sono costrutti SQL).

Per quanto riguarda la seconda questione, io eviterei troppi step per effettuare una singola operazione, mi spiego meglio:
in fase di visualizzazione della tabella al posto del link "Seleziona", puoi inserire direttamente il link "Elimina", impostando direttamente l'id del cliente come parametro del link richiamando una pagina "eliminaCliente.php", la quale estrae dall'url l'identificativo del cliente, lo cancella a database ed infine ridireziona la chiamata nuovamente alla pagina di elenco ricaricandola.

Spero ti sia di aiuto e di essere stato chiaro!
Intervento di Andrea Bassotti a.k.a. pammala del 28-11-2006 ore 09:40, Pistoia (PT)
Nobile
Nobile
(55 interventi)
Iscritto il 10-09-2002
Citazione:
Per quanto riguarda la prima questione, la paginazione, dipende molto dal DBMS che utilizzi, per esempio MySQL e PostgreSQL supportano la paginazione mediante LIMIT e/o OFFSET (sono costrutti SQL).

Conosco la funzione LIMIT (utilizzo mysql)... allora devo crearmi delle funzioni che gestiscano l'alimentazione della tabella e la paginazione dei dati al suo interno? non esiste davvero niente di già fatto?
Citazione:
Per quanto riguarda la seconda questione, io eviterei troppi step per effettuare una singola operazione, mi spiego meglio:
in fase di visualizzazione della tabella al posto del link "Seleziona", puoi inserire direttamente il link "Elimina", impostando direttamente l'id del cliente come parametro del link richiamando una pagina "eliminaCliente.php", la quale estrae dall'url l'identificativo del cliente, lo cancella a database ed infine ridireziona la chiamata nuovamente alla pagina di elenco ricaricandola.

Questa idea mi è venuta in mente ieri mentre utilizzavo phpMyAdmin... ho notato infatti che per eliminare un record di database, all'interno delle tabelle html ci mette una piccola X rossa che sarebbe appunto il link per effettuare l'eliminazione...

Grazie mille per le risposte...

Ciao ciao
Intervento di Andrea Bassotti a.k.a. pammala del 28-11-2006 ore 09:54, Pistoia (PT)
Nobile
Nobile
(55 interventi)
Iscritto il 10-09-2002
Citazione:
in fase di visualizzazione della tabella al posto del link "Seleziona", puoi inserire direttamente il link "Elimina", impostando direttamente l'id del cliente come parametro del link richiamando una pagina "eliminaCliente.php", la quale estrae dall'url l'identificativo del cliente, lo cancella a database ed infine ridireziona la chiamata nuovamente alla pagina di elenco ricaricandola.

Ho notato che in phpMyAdmin quando si clicca sulla X rossa per eliminare una item da una griglia non utilizza la query string per passare i parametri ad un'altra pagina... secondo voi come viene effettuata l'operazione?

La cosa sarebbe interessante in quanto evita di far vedere all'utente i parametri passati alla pagina di eliminazione (cosa che potrebbe TEORICAMENTE far eliminare tutta l'anagrafica modificando opportunamente il link)...

in ASP.NET ci sono "oggetti" tipo Session o Application per evitare di utilizzare la query string...

Ciao ciao...
Intervento di Filippo Manganotto a.k.a. filippom del 28-11-2006 ore 10:02, Verona (VR)
Nobile
Nobile
(53 interventi)
Iscritto il 07-02-2006
Citazione:
Ho notato che in phpMyAdmin quando si clicca sulla X rossa per eliminare una item da una griglia non utilizza la query string per passare i parametri ad un'altra pagina... secondo voi come viene effettuata l'operazione?

La cosa sarebbe interessante in quanto evita di far vedere all'utente i parametri passati alla pagina di eliminazione (cosa che potrebbe TEORICAMENTE far eliminare tutta l'anagrafica modificando opportunamente il link)...

in ASP.NET ci sono "oggetti" tipo Session o Application per evitare di utilizzare la query string...

Ciao ciao...

Forse una form con method POST...
Intervento di Pierpaolo Cira a.k.a. pierpaoloc del 28-11-2006 ore 12:16
Marchese
Marchese

(1372 interventi)
Iscritto il 17-01-2006
Citazione:
in ASP.NET ci sono "oggetti" tipo Session o Application per evitare di utilizzare la query string...

E comunque in php la session c'è... non so se c'è application, ma potresti implementarla con poco...

Asp ha il vantaggio di darti la pappina pronta un sacco di volte già scritta da MS... con Php le cose non ci sono, ma le trovi nel web, scritte da altri col vantaggio magari di avere diverse implementazioni, e poter scegliere quella che ti garba di più anche in base ai sorgenti quasi sempre aperti!!! ;)
Intervento di Andrea Bassotti a.k.a. pammala del 28-11-2006 ore 21:01, Pistoia (PT)
Nobile
Nobile
(55 interventi)
Iscritto il 10-09-2002
Citazione:
Asp ha il vantaggio di darti la pappina pronta un sacco di volte già scritta da MS... con Php le cose non ci sono, ma le trovi nel web, scritte da altri col vantaggio magari di avere diverse implementazioni, e poter scegliere quella che ti garba di più anche in base ai sorgenti quasi sempre aperti!!! ;)

E' PER QUESTO CHE MI PIACEREBBE ENTRARE NEL MONDO PHP !!!!! :-D

i siti in asp li ho dovuti fare perchè il mio capo è un microsoft dipendente..... conosce solo vb.... quindi....

come faccio ad accedere alla session ?
Intervento di Pierpaolo Cira a.k.a. pierpaoloc del 29-11-2006 ore 11:08
Marchese
Marchese

(1372 interventi)
Iscritto il 17-01-2006
Citazione:
come faccio ad accedere alla session ?

http://it2.php.net/manual/it/ref.session.php


Per la cronaca non credo che si possa accedere direttamente alla session per memorizzare dei dati di un form.
Il form è sul client, quindi devi cliccare su un submit e fare una request al server... solo allora potrai inserirli (se ne hai davvero bisogno)... ed in ogni modo, per farlo, come detto necessiti una request.
Come ti ha già detto prima Filippo, tu devi fare i dati in Post e non in Get... la sessione (o il contex Application) è per altro...

Ciauz :)
Intervento di Andrea Bassotti a.k.a. pammala del 29-11-2006 ore 12:06, Pistoia (PT)
Nobile
Nobile
(55 interventi)
Iscritto il 10-09-2002
grazie mille per il link...
Citazione:
Il form è sul client, quindi devi cliccare su un submit e fare una request al server... solo allora potrai inserirli (se ne hai davvero bisogno)... ed in ogni modo, per farlo, come detto necessiti una request.
Come ti ha già detto prima Filippo, tu devi fare i dati in Post e non in Get... la sessione (o il contex Application) è per altro...

ok... hai ragione... mi sono imbrogliato...

per ora proverò ad andare un pochino avanti su questa linea... se ho altre domande confiderò nella vostra disponibilità ;-)...

Grazie mille delle risposte che mi avete dato...

Ciao ciao...
Intervento di Pierpaolo Cira a.k.a. pierpaoloc del 29-11-2006 ore 13:35
Marchese
Marchese

(1372 interventi)
Iscritto il 17-01-2006
A disposizione ;)
Commenti:  1 - 10 di 27  »  Più recenti  »  Ultimi
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.427 secondi.