Newsgroup: it.comp.www.php
Titolo: Form persistenti

Qualcuno è a conoscenza di qualche package/metodo per creare in php
delle form  che implementino la visualizzazione, modifica e
eliminazione dei record senza dover ogni volta ricaricare tutta la
pagina html?
grazie


nessuno si fa con Php, cioe' tu ti prepari la pagina di php che cancella e
fa le operazioni che ti servono e poi ci sono svariati modi per richiamare
quella pagina senza ricaricare la tua principale:
- il piu' semplice e' indirizzare il form ad un (i)frame nascosto con
l'attributo target (non permesso pero' da XHTML1.1)
- se puoi ridurre il contenuto del form anche in GET, puoi inviare la
richiesta facendo una finta richiesta di immagine con JavaScript ( var img
= new Image();img='delete.php?.....')
- se conosci Javascript e/o ti appoggi gia' a qualche tool per le
XmlHttpRequest (AJAX tanto per capirci), lo puoi fare con lui

santa ha scritto:

il metodo più divertente IMO è usare AJAX. non tanto per la qualità 
tecnica della soluzione ma per il puro godimento di vedere interfacce 
dinamiche...
un BELL'argomento di discussione sarebbe uscire dall'ABC su AJAX che 
solitamente ti propinano gli articoli e stabilire, dopo uno studio più o 
meno generico, quale sia l'impostazione strutturale del documento 
(HTML/XHTML) più adatta a gestire gli aspetti di una intera applicazione 
basata su AJAX. (personalmente mi sto facendo in questi mesi delle 
opinioni personali, ma trovare conforto negli altri programmatori è 
impossibile).
l'ultima implementazione del genere su cui ho lavorato è basata su 
scriptaculous funziona circa così:
<ot reason="not really php">
<div id="block">
  <a onclick="new Ajax.Updater('form',
	'insert_form.php'">
   Inserisci Item
  </a>
  <a onclick="new Ajax.Updater('list',
	'get_list.php');">
   Aggiorna Lista
  </a>
  <div id="list">
   <ul>
    <li>
     <div id="Item1" onclick="new Ajax.Updater('form',
	'upd.php?item=2');">
      Item1
     </div>
    </li>
    <li>
     <div id="Item2" onclick="new Ajax.Updater('form',
	'upd.php?item=2');">
      Item2
     </div>
    </li>
    <li>
     <div id="Item3" onclick="new Ajax.Updater('form',
	'upd.php?item=3');">
      Item3
     </div>
    </li>
   </ul>
  <div id="form">ohoh, mi sono perso?!</div>
  </div><!-- fine div list-->
</div><!-- fine div block-->
</ot>
insert_form.php presenta il form "vuoto" che però abbia l'accortezza di 
avere il submit AJAX:
<form method="post" action="insert_item.php"
	onsubmit="new Ajax.Updater('list', 'insert_item.php',
		{asynchronous:true, parameters:Form.serialize(this)});
		return false;">
l'insert_item va a ricoprire interamente la list perché rifa' 
l'ordinamento ed aggiunge eventuali item aggiunti da altri utenti.
l'update è un po' + complesso:
dovrebbe mostrare lo stesso form popolato coi dati dell'item ma andare a 
ricoprire il div del SOLO ITEM MODIFICATO. a meno che, anche qui, non si 
voglia rifare la query.
la delete non l'ho messa, ma con uno <span> accanto all'item può fare 
altrettanto.
il limite di questa organizzazione, che poi è il limite stesso della 
concezione "MANUALE" di AJAX è abbastanza evidente:
la struttura della pagina va premeditata allo scopo di contenere 
eventuali dati acquisiti da ajax e i passaggi e i richiami ajax sono 
molto manuali.
alcuni framework (tipo cakephp), facilitano parecchio queste operazioni 
ma non hanno una struttura fortemente orientata ad AJAX.
AIUTO! qualcuno mi fermi!! mi sono fatto un po' prendere!! :-)))
ciao
-- 
punkarruso
(a volte si dilungano)