Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    lentezza ad elaborare lo script

    Carissimi,
    premetto che sto provando a cimentarmi ad utilizzare il PHP, vorrei un vs. aiuto in merito ad un piccolo problema con questo script che dovrebbe generarmi un xml prelevando i dati dal db mysql, ma purtroppo ci impiega così tanto tempo ad elaborare lo script, ho provato ad aumentare anche il limite, ma niente, ci vorrebbe chissa quanto tempo per elaborarlo, anche limitandoci ai primi 3 risultati.
    Cosa sbaglio?
    codice:
    function purifica($stringa){
    	$stringa=str_replace('à', 'a', $stringa);
    	$stringa=str_replace('è', 'e', $stringa);
    	$stringa=str_replace('ì', 'i', $stringa);
    	$stringa=str_replace('ò', 'o', $stringa);
    	$stringa=str_replace('ù', 'u', $stringa);
    	$stringa=str_replace('&', '', $stringa);
    	$stringa=str_replace('.', '', $stringa);
    	
    	return $stringa;	
    }#purifica
    
    
      // CONNECT TO DATABASE
      mysql_select_db($database, $cnConnection);
      
      $query_rsRecordset = "SELECT annunci.idAnnuncio,annunci.citta,annunci.codice_cap,annunci.provincia,annunci.regione,annunci.indirizzo,annunci.data_annuncio,annunci.tipo_contratto,annunci.titolo,annunci.tipologia,annunci.descrizione,annunci.tipo_contratto,annunci.metri_quadri,annunci.prezzo,annunci.immagine,annunci.immagine2,annunci.immagine3,annunci.immagine4,annunci.immagine5,annunci.immagine6,annunci.immagine7,annunci.immagine8,agenzie.nome AS nomeAgenzia,agenzie.telefono AS fissoAgenzia,agenzie.cellulare AS cellAgenzia,agenzie.email AS emailAgenzia FROM annunci,agenzia_annuncio,agenzie WHERE annunci.attivo='SI' AND annunci.idAnnuncio=agenzia_annuncio.idAnnuncio AND agenzia_annuncio.idAgenzia=agenzie.idAgenzia ORDER BY (annunci.idAnnuncio) DESC";# LIMIT 0,3
      $rsRecordset = mysql_query($query_rsRecordset, $cnConnection) or die(mysql_error());
      $row_rsRecordset = mysql_fetch_assoc($rsRecordset);
      $totalRows_rsRecordset = mysql_num_rows($rsRecordset);
    
    	$url='http://www.miosito.com/'.str_replace(' ', '-', strtolower($row_rsRecordset['regione'])).'/';
    	$q="SELECT * FROM province WHERE sigla='$row_rsRecordset[provincia]'";
    	$r=mysql_query($q) or die(mysql_error());
    	$w=mysql_fetch_array($r);
    	$url=$url.str_replace(' ', '-', strtolower($w['nome'])).'/';
    	$url=$url.str_replace(' ', '-', strtolower($row_rsRecordset['citta'])).'/';
    	$url=$url.purifica($row_rsRecordset['idAnnuncio'].'_'.str_replace(' ', '-', strtolower($row_rsRecordset['tipo_contratto'])).'-'.str_replace(' ', '-', strtolower($row_rsRecordset['tipologia'])).'-'.str_replace(' ', '-', strtolower($row_rsRecordset['citta']))).'.html';
      	$pub_date=date('d/m/Y', $row_rsRecordset['data_annuncio']);
    	#$pub_date=$pub_date.'T19:00:05+00:00';
    	
      // START STORING DATA IN VARIABLE TO PLACE IN XML FILE
      if($totalRows_rsRecordset > 0) {
     $strXML = "<?xml version=\"1.0\"?>\n";
        
      // STORE NAME OF TABLE
      $strXML = $strXML . "<item>\n";
      
      // STORE FIELD AND FIELD DATA IN ONE HIARCHY, REPEAT FOR MULTIPLE FIELDS
      do {
      $strXML = $strXML."<notizia>\n";
      $strXML = $strXML."<id>".$row_rsRecordset['idAnnuncio']."</id>\n";
      $strXML = $strXML."<description> ".$row_rsRecordset['descrizione']." </description>\n";
      $strXML = $strXML."<publish_date> ". $pub_date ." </publish_date>\n";
      $strXML = $strXML."<province> ".$row_rsRecordset['provincia']." </province>\n";
      $strXML = $strXML."<locality>".$row_rsRecordset['citta']."</locality>\n";
      $strXML = $strXML."<full_address> ".$row_rsRecordset['indirizzo'] ." </full_address>\n";
      $strXML = $strXML."<address>".$row_rsRecordset['indirizzo']."</address>\n";
      $strXML = $strXML."<advertiser>".$row_rsRecordset['nomeAgenzia']."</advertiser>\n";
      $strXML = $strXML."<phone_number>".$row_rsRecordset['fissoAgenzia']."</phone_number>\n";
      $strXML = $strXML."<phone_number2> ".$row_rsRecordset['cellAgenzia']." </phone_number2>\n";
      $strXML = $strXML."<listing_type>" . $row_rsRecordset['tipo_contratto'] . "</listing_type>\n";  
    
      $strXML = $strXML."<property_type>".$row_rsRecordset['tipologia']."</property_type>\n";
      $strXML = $strXML."<area>".$row_rsRecordset['metri_quadri']." </area>\n";
      $strXML = $strXML."<price> ".$row_rsRecordset['prezzo']." </price>\n";
      $strXML = $strXML."</notizia>\n";
      } while ($row_rsRecordset = mysql_fetch_assoc($rsRecordset)); 
      
      $strXML = $strXML . "</item>";
      
      // OPEN FILE, WRITE TO FILE, CLOSE FILE, CLOSE RECORDSET
      $XMLFile = fopen("news.xml", "w") or die("can't open file");
      
      fwrite($XMLFile, $strXML);
      fclose($XMLFile);
    }
      mysql_free_result($rsRecordset);
    Grazie
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessun aiuto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    39
    Bè prima di tutto, hai controllato che si connette al db ecc.. ? fa tutto con successo ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    qui al code ho omesso l'accesso al db con relativi dati, ma comunque dovrebbe collegarsi correttamente , come posso fare una prova per essere sicuro che ci sia il collegamento?
    Grazie
    G.

  5. #5
    commenta tutto il do/while, commenta l'fopen/fwrite/fclose, metti un pò di echo qua e là e vedi se va...

    poi dal codice che hai messo il primo record te lo perdi perchè fai un mysql_fetch a rsRecordset all'inizio ma poi non lo usi nell'xml...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Grazie SANTINO,
    purtroppo come dicevo all'inizio non saprei dove mettere mano perchè mi sto avvicinando al PHP, puoi farmi un esempio di modifica?
    Grazie
    G.

  7. #7
    Originariamente inviato da djjunior
    Grazie SANTINO,
    purtroppo come dicevo all'inizio non saprei dove mettere mano perchè mi sto avvicinando al PHP, puoi farmi un esempio di modifica?
    Grazie
    G.
    se ti dico "commenta le righe", commentale no? i commenti in php si fanno con // e /* */:

    codice:
    //questo è un commento
    $pippo = "questo non è un commento";
    
    /*
    * questo è un altro commento
    */
    ps: i commenti non vengono interpretati dall'interprete php quindi non vengono eseguiti
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.