prototype e update mysql

Ciao sto usando scripaculous per creare una lista ordinabile

tutto ok per quanto riguarda il js.

ma quando vado a salvare i dati nel dabatabse non ci riesco.

Sto usando una funzione per estrarre i dati che mi servono ( da mostrare ) dal database

ed un'altra per estrarre gli id dei record estratti e metterli in un'array.

un UL con id announce_list contiene dei li con id announce_ID

poi con javascript dovrei passare il nuovo ordine come array ad una pagina php che salva il nuovo ordine nel database.

         <script type="text/javascript">
            function updateOrder(){
               var options = {
               method : 'post',
               parameters : Sortable.serialize('announce_list')
               };               
               new Ajax.Request('process.php', options);
            }
         
         Sortable.create('announce_list', { onUpdate : updateOrder });
         </script>

questo è il JS che gestisce la lista

funzione per il return dell'array con gli ID :

   function getAnnounceList($page, $limit){
      $currentPage = $page * $limit;
      $limitPage   = $limit;
      $query = "SELECT `anid` FROM `sm_announces` ORDER BY `rank` DESC LIMIT " . $currentPage . "," . $limitPage;
      $exec  = mysql_query($query);
      while($row = mysql_fetch_object($exec)){
         $announces[$row->anid] = 0;
      }
      return $announces;
   }

funzione per il salvataggio chiamata come callback dello spostamento dei LI

    function updateOrder($page,$key){
      if (!isset($_POST[$key]) || !is_array($_POST[$key]))
         return;
      
      $announces = $this->getAnnounceList($page, 4);
      $queries = array();
      $ranking = 1;
      
      foreach ($_POST[$key] as $anid) {
         if (!array_key_exists($anid, $announces))
            continue;
      
         $query = sprintf('UPDATE sm_announces SET rank=%d WHERE anid=%d',
         $ranking,
         $anid);
         
         mysql_query($query);
         $ranking++;
      }
    }

in pratica il JS invia ( almeno dovrebbe inviare ) la richiesta ad una pagina che provvederà a fare questo :

$sm->updateOrder(1,'announce_list');

ma a quanto pare non salva nulla nel database

sapete aiutarmi?

 :bye:

inviato 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

risolto.

:bye:

risposto 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

risolto.

:bye:

e come?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

piu tardi posto il codice della funzione di callback

risposto 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda