Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. giopego
    3. Post
    G

    giopego

    @giopego

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 3
    • Post 10
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    Località Mestre - VE Età 41
    0
    Reputazione
    10
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User Newbie

    Post creati da giopego

    • RE: Dump database MySql

      @Samyorn said:

      Ciao giopego

      senza l'uso di PhpMyAdmin non saprei aiutarti molto, forse puoi dare un'occhio a questo post, magari ti torna utile 😉
      :ciauz:

      Grazie a Samyorn e al link sono riuscito a risolvere il problema!!!!
      sostanzialmente il programma che si trova indicato in quella discussione "MyBackup" scritto in Python ma con del codice php per creare il dump del database è stato la mia salvezza!:vai::vai:

      Avendo la necessità di esportare il database con un click e poterlo poi reimportare tramite phpMyAdmin, ho apportato delle piccole modifiche al codice originale e sono giunto ad una definizione del file sql perfettamente compatibile con l'importazione in PMA.

      se può esservi utile vi inserisco il codice qui sotto.

      Ciao
      GIo

      [php]
      <?
      /*
      Questo script è preso dal sito planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=772&lngWId=8
      a questo indirizzo trovate anche un tutorial e lo stesso codice per utilizzare lo script.
      Sono state apportate piccolissime modifiche al file per renderlo un po più semplice
      e sicuro.


      Changelog

      5 Nov 2007 : risolto bug caratteri accentati, fixed bug sui tag html
      3 Nov 2007 : modificato il metodo get_table_def() per compatibilità mysql5 (Giuseppe Piraino)

      */

      //Sintassi per richiamare il file back.php?password=1
      //questo file (backup.php) può essere rinominato in questo caso la sintassi diventa ad esempio
      //nuovonome.php?password=tuapassword

      if(!isset($_GET['password']) || $_GET['password']!=1)exit("For open this page you must digit a password!");

          $target="file";
          if($target=="file")
          {
              header('Content-Type: application/octetstream');
              header('Content-Disposition: filename="backup.sql"');
              $asfile="download";
          }
      
          
          $crlf="\r\n";
          $localhost="localhost";
          $dbuser='root';
          $dbpass='';
          $dbname='db_name';
          $link = mysql_connect($localhost, $dbuser, $dbpass);
          $database = mysql_select_db($dbname); 
      
          //$dbname = "newobs";
      
          $dump_buffer="";
      
          $tables = mysql_query("show tables from $dbname");
          $num_tables = mysql_num_rows($tables);
      
          if($num_tables == 0)
          {
              echo "# No Tables Found";
              exit;
          }
          //MODIFICATI ALCUNI COMMENTI
          $dump_buffer.= "# DatabaseBackup $crlf";
          $dump_buffer.= "# Backup made:$crlf";
          $dump_buffer.= "# ".date("F j, Y, g:i a")."$crlf";
          $dump_buffer.= "# Database: $dbname$crlf";
          $dump_buffer.= "# Backed up tables : $dbname $crlf";
          $dump_buffer.= "$crlf#$crlf";
          $i = 0;
          while($i < $num_tables)
          {
              $table = mysql_tablename($tables, $i);
              //echo $table . "<br>";
                  $dump_buffer.= "#--------------------------------------------------------$crlf";
                  $dump_buffer.= "$crlf#$crlf";
                  $dump_buffer.= "# Table structure for table '$table'$crlf";
                  $dump_buffer.= "#$crlf$crlf";
                  $db = $table;
                  $dump_buffer.= get_table_def($table, $crlf,$dbname).";$crlf";
                  $dump_buffer.= "$crlf#$crlf";
                  $dump_buffer.= "# Dumping data for table '$table'$crlf";
                  $dump_buffer.= "#$crlf$crlf";
                  $tmp_buffer="";
                  get_table_content($dbname, $table, 0, 0, 'my_handler', $dbname);
                  $dump_buffer.=$tmp_buffer;
                  
              $i++;
              $dump_buffer.= "$crlf";
          }
          echo $dump_buffer;
          exit;
      
      
      //fixed bug/optimized for mysql>=5.0 (Giuseppe Piraino) ;
      function get_table_def($table, $crlf,$dbname)
      {
          if($table=mysql_query("SHOW CREATE TABLE `$table`")){
              list($table_name, $create_table)=mysql_fetch_row($table);
              return $create_table;
          }
          return False;        
      }
      
      
      function get_table_content($db, $table, $limit_from = 0, $limit_to = 0,$handler)
      {
          // Defines the offsets to use
          if ($limit_from > 0) {
              $limit_from--;
          } else {
              $limit_from = 0;
          }
          if ($limit_to > 0 && $limit_from >= 0) {
              $add_query  = " LIMIT $limit_from, $limit_to";
          } else {
              $add_query  = '';
          }
      
          get_table_content_fast($db, $table, $add_query,$handler);
      
      }
      
      function get_table_content_fast($db, $table, $add_query = '',$handler)
      {
          $result = mysql_query('SELECT * FROM ' . $db . '.' . $table . $add_query) or die();
          if ($result != false) {
      
              @set_time_limit(1200); // 20 Minutes
      
              // Checks whether the field is an integer or not
              for ($j = 0; $j < mysql_num_fields($result); $j++) {
                  $field_set[$j] = mysql_field_name($result, $j);
                  $type          = mysql_field_type($result, $j);
                  if ($type == 'tinyint' || $type == 'smallint' || $type == 'mediumint' || $type == 'int' ||
                      $type == 'bigint'  ||$type == 'timestamp') {
                      $field_num[$j] = true;
                  } else {
                      $field_num[$j] = false;
                  }
              } // end for
      
              // Get the scheme
              if (isset($GLOBALS['showcolumns'])) {
                  $fields        = implode(', ', $field_set);
                  $schema_insert = "INSERT INTO `$table` ($fields) VALUES (";
              } else {
                  $schema_insert = "INSERT INTO `$table` VALUES (";
              }
      
              $field_count = mysql_num_fields($result);
      
              $search  = array("\x0a","\x0d","\x1a","è","é","à","ì","í","ò","ù","'"); 
              //MODIFICATO IL REPLACE SEARCH
              $replace = array("\\n","\\r","\Z","&egrave;","&eacute","&agrave;","&igrave;","&iacute;","&ograve;","&ugrave;","''");
      
      
              while ($row = mysql_fetch_row($result)) {
                  for ($j = 0; $j < $field_count; $j++) {
                      if (!isset($row[$j])) {
                          $values[]     = 'NULL';
                      } else if (!empty($row[$j])) {
                          // a number
                          if ($field_num[$j]) {
                              $values[] = "'" . $row[$j]. "'"; //fixed mysql5 - insert of number need quote! (Giuseppe Piraino); 
                          }
                          // a string
                          else {
                              //$values[] = "'" . str_replace($search, $replace, addslashes($row[$j])) . "'"; MODIFICA DI QUESTA RIGA PER OVVIARE AGLI SLASH
      
      
                              $values[] = "'" . str_replace($search, $replace, $row[$j]) . "'";
                          }
                      } else {
                          $values[]     = "''";
                      } // end if
                  } // end for
      
                  $insert_line = $schema_insert . implode(',', $values) . ')';
                  unset($values);
      
                  // Call the handler
                  $handler($insert_line);
              } // end while
          } // end if ($result != false)
      
          return true;
      }
      
      
      function my_handler($sql_insert)
      {
          global $crlf, $asfile;
          global $tmp_buffer;
          //Giuseppe Piraino - 5 Nov 2007 - This code is inconsistent
          //uncomment only if you have mysql<=4.1
          //if(empty($asfile))
          //    $tmp_buffer.= htmlspecialchars("$sql_insert;$crlf");
          //else
          $tmp_buffer.= "$sql_insert;$crlf";
      }
      
      
      /* Giuseppe Piraino - this functions are unused
      function faqe_db_error()
      {
          return mysql_error();
      }
      
      function faqe_db_insert_id($result)
      {
          return mysql_insert_id($result);
      }
      */
      

      ?>

      [/php]

      postato in Coding
      G
      giopego
    • RE: Dump database MySql

      @Thedarkita said:

      mysqldumper

      scaricati questo script... con questo puoi fare un dump del vecchio database e importarlo sul nuovo server senza problemi 😄

      l'ho scaricato....è una valida alternativa a PhpMyAdmin, ma io dovrei integrare una specie di "pulsante" per creare un backup e con questo tipo di script non è possibile...

      In poche parole, io devo creare un file SQL con un click, senza tanti giri/accessi/impostazioni, deve essere una cosa molto immediata...dite che dovrei andare a spulciare all'interno dei file php di mysqldumper per capire che funzioni utilizza per creare il file sql!?!??!?!⭕o

      postato in Coding
      G
      giopego
    • Dump database MySql

      ciao ragazzi,
      ho da porvi un problema che non riesco a risolvere...:bho:

      devo fare un backup di struttura+dati di un database, però senza poter accedere a PhpMyAdmin, quindi devo fare tutto con delle funzioni apposite da php.

      ho trovato alcune classi online, ma provandole ho riscontrato un problema comune: se una tabella ha due chiavi primarie viene presa solo la seconda e questo comporta degli inserimenti errati nel momento del ripristino del dump.

      questa è la tabella:

      
      CREATE TABLE IF NOT EXISTS `agenda_concerne` (
        `aco_age_id` int(10) unsigned NOT NULL default '0',
        `aco_util_id` smallint(5) unsigned NOT NULL default '0',
        `aco_rappel_ok` tinyint(3) unsigned NOT NULL default '0',
        `aco_termine` tinyint(3) unsigned NOT NULL default '0',
        PRIMARY KEY  (`aco_age_id`,`aco_util_id`)
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
      
      

      ci sono anche altri problemi nelle strutture, ad esempio non esportano in modo corretto la sintassi:

      
      `Colonna` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
      
      

      ora mi trovo in una situazione molto critica...le tabelle non sono statiche, quindi possono cambiare e da qui la necessità d'avere il dump anche della struttura. Per quanto riguarda i dati posso trovare il modo di gestire i vari problemi di apici, slash e simile...ma con la struttura come posso fare?

      Ho cercato di capire come PhpMyAdmin crei il file SQL di esportazione, ma non sono riuscito a ricavarlo, infatti penso utilizzi al suo interno la funzione mysql_dump....oppure non so proprio!!!:(:(:(:(

      Ogni consiglio è molto gradito:D:D

      grazie a tutti

      Gio

      postato in Coding
      G
      giopego
    • RE: [Risolto] richiamare una pagina php in funzione javascript

      @ari said:

      Vi pongo un'altra domanda più specifica...come si fa a richiamare una pagina php all'interno di una funzione javascript, e visualizzarne i risultati?

      scusa...non capisco bene la domanda...

      per richiamare una pagina php in javascript fai come per qualsiasi altra pagina

      
      document.location.href=link
      
      

      se ci devi aggiungere dei parametri in get ti prepari il link prima e poi lo chiami con la funzione sopra.

      la visualizzazione dei risultati di una pagina php dipende da come è scritta la pagina, solitamente è la stessa pagina php che stampa il risultato, altrimenti puoi far chiamare un'altra pagina (o quella chiamante) con dei parametri passati dal php con get o post.

      non so se è quello che volevi sapere...

      altra soluzione è usare ajax per fare delle chiamate a pagine php e utilizzare il risultato della pagina direttamente nel javascript per modificare la pagina senza doverla aggiornare. 😄

      spero d'essere stato chiaro....in caso spiegaci meglio quello che vuoi sapere.

      Ciao

      Gio

      postato in Coding
      G
      giopego
    • RE: OnComplete Ajax non eseguito

      ok.....risolto da solo, ho cambiato i controlli al ritorno della pagina php.
      praticamente io prima facevo un

      
      if(responseText=="s")
      {...}
      else{...}
      
      

      ora ho dovuto modificare e ho messo la funzione match

      
      if(responseText.match("s"))
      {...}
      else{...}
      
      

      pare funzionare correttamente...scusate per il disturbo :yuppi::yuppi::yuppi::yuppi:

      son troppo contento!!

      p.s. potete chiudere 😉

      postato in Coding
      G
      giopego
    • RE: OnComplete Ajax non eseguito

      ah dimenticavo....Aruba è rimasta a php 4.4.7 ma con mysql 5 e apache 2.0...potrebbe essere questo il problema????

      postato in Coding
      G
      giopego
    • OnComplete Ajax non eseguito

      ciao ragazzi,
      vi volevo sottoporre il mio problema, IMHO alquanto strano!!!
      sto usando prototype e scriptacolous per fare una tabella con in-place-editing, lo script funziona + o - così:

      • modifico il valore da "si" a "no" (o viceversa, tramite Ajax.InPlaceCollectionEditor)
      • eseguo una chiamata ad una pagina php che mi fa la query e mi spara fuori in risposta "s" o "n" (a seconda di quello che ho chiesto)
      • ajax mi esegue la funzione "onComplete" che mi aggiorna un contatore e mi modifica il contenuto di una cella inserendo, tramite DOM, un'immagine.
      • a seconda del risultato tornato dal php ajax inserisce 2 immagini diverse e aggiorna il contatore in più o in meno.

      Il punto è questo...in locale (macchina WinXp e xampp,php5.2, mysql5,apache2) tutto funziona alla perfezione con Mozilla,Ie6,Ie7...una volta portato online su dominio Aruba Linux....non viene eseguita la funzione OnComplete o cmq anche se viene eseguita non si vedono i risultati...❌x❌x

      non so proprio che fare ragazzi....avete mai avuto problemi simili???

      postato in Coding
      G
      giopego
    • RE: Record Doppi dopo Insert

      ho scoperto un'altra cosa.....questo errore lo fa solo con MOZILLA!!!!!

      con I.E. funziona tutto.....AIUTATEMI!!!!!

      postato in Coding
      G
      giopego
    • RE: Record Doppi dopo Insert

      @gabrielem said:

      senza vedere lo script è imposibile aiutarti...

      ora posto lo script, cmq ho notato che me lo fa anche con altri script che avevo fatto.

      penso sia un problema del submit(o cmq della pagina madre), nel senso che richiama due volte la pagina di inserimento:x :arrabbiato: :arrabbiato:

      vi posto le due parti di codice:
      questa è il form:

      <div id="inserisci">
      <form action="insert.php" method="POST" target="_self" >
      <table>
      <tr>
      <td>
      *Cognome<br >
      <input name="cognome" type="text" size="30" onChange="val_nome(this.value)"><br />
      *Nome<br >
      <input name="nome" type="text" size="30" onChange="val_nome(this.value)">
      </td>
      <td>
      Vario<br >
      <input name="vario" type="text" size="30" onChange="val_nome(this.value)">
      </td>
      </tr>
      <tr>
      <td>Societa<br >
      <input name="societa" type="text" onChange="val_nome(this.value)">
      </td>
      <td>
      *Indirizzo<br >
      <input name="indirizzo" type="text" onChange="val_indiri(this.value)">
      </td>
      </tr>
      <tr>
      <td >Telefoni:<br />
      *Tel-1: <input type="text" name="tel1" onchange="val_tel(this.value)">   
      Tel-2: <input type="text" name="tel2" onchange="val_tel(this.value)">

           </td>
          <td >Fax:<br />
              <input type="text" name="fax" onChange="val_tel(this.value)">
          </td>
      </tr>
      <tr>
          <td >*E-mail:<br />
          <input type="text" name="email" onChange="val_mail(this.value)">
      
           </td>
          <td >Partita Iva:<br />
              <input type="text" name="p_iva"  onchange="val_piva(this.value)" >
          </td>
      </tr>
      <tr>
          <td >C.F.<br />
          <input type="text" name="cf" onChange="val_cf(this.value)">
      
           </td>
          <td >Banca<br />
              <input type="text" name="banca"  onchange="val_piva(this.value)" >
          </td>
      </tr>
      

      <tr>
      <td> <input name="submit" type="submit" value="inserisci" >
      <input name="controllo" type="hidden" value="1" />
      </td>
      <td><input name="reset" type="reset" value="reset"></td>
      </tr>
      </table>
      </form>
      <br /><br />
      </div>

      e questo è l'inserimento (insert.php):

      <?php

      include("../global/global.php");
      

      if(!empty($_POST['controllo']) AND $_POST['controllo']==1 ){
      //inserimento dato
      if(!empty($_POST['nome'])){
      $nome=$_POST['nome'];
      }
      else{
      recall_dato("non hai inserito un nome valido");
      }
      if(!empty($_POST['cognome'])){
      $cognome=$_POST['cognome'];
      }
      else{
      recall_dato("non hai inserito un cognome valido");
      }
      if(!empty($_POST['indirizzo'])){
      $indirizzo=$_POST['indirizzo'];
      }
      else{
      recall_dato("non hai inserito un indirizzo valido");
      }
      if(!empty($_POST['tel1'])){
      $tel1=$_POST['tel1'];
      }
      else{
      recall_dato("non hai inserito un telefono primario valido");
      }
      if(!empty($_POST['email'])){
      $email=$_POST['email'];
      }
      else{
      recall_dato("non hai inserito una email valida");
      }
      if(!empty($_POST['tel2'])){
      $tel2=$_POST['tel2'];
      }
      else{
      $tel2="";
      }
      if(!empty($_POST['fax'])){
      $fax=$_POST['fax'];
      }
      else{
      $fax="";
      }
      if(!empty($_POST['p_iva'])){
      $p_iva=$_POST['p_iva'];
      }
      else{
      $p_iva="";
      }
      if(!empty($_POST['cf'])){
      $cf=$_POST['cf'];
      }
      else{
      $cf="";
      }
      if(!empty($_POST['banca'])){
      $banca=$_POST['banca'];
      }
      else{
      $banca="";
      }
      if(!empty($_POST['vario'])){
      $vario=$_POST['vario'];
      }
      else{
      $vario="";
      }
      if(!empty($_POST['societa'])){
      $societa=$_POST['societa'];
      }
      else{
      $societa="";
      }

      $tabella= "table1";
      $result=mysql_query("INSERT INTO `$tabella` (
      `id_iscritto` ,
      `nome` ,
      `cognome` ,
      `societa` ,
      `indirizzo` ,
      `tel1` ,
      `tel2` ,
      `fax` ,
      `p_iva` ,
      `cf` ,
      `email` ,
      `banca` ,
      `id_utente` ,
      `vario`
      )
      VALUES( NULL, 
      '$nome',
      '$cognome',
      '$societa',
      '$indirizzo',
      '$tel1',
      '$tel2',
      '$fax',
      '$p_iva',
      '$cf',
      '$email',
      '$banca',
      '$sess_id',
      '$vario'
      );") or die ("SQL nella tabella $tabella fallita");
      
      recall_inserimento("Inserimento iscritto --> ".$nome." - ".$cognome." <-- avvvenuta con successo - ");
      

      }

      else {
      recall_dato("non hai inviato il form correttamente");
      }

      ?>

      • recall_dato() e recall_inserimento()= non fanno altro che stamapare a video la stringa che gli viene passata e interrompere l'esecuzione dello script.
      • global.php = configurazione d'accesso al database
      • onchange = semplici scriptini in javascript per controllare al volo la correttezza dell'inserimento 😄
      postato in Coding
      G
      giopego
    • Record Doppi dopo Insert

      ciao a tutti, sono nuovo di questo forum, ma ho letto molti articoli e alcune interessanti discussioni.

      ora sono qui a chiedervi aiuto....❌x

      nelle miei pagine php ho inserito un form per l'inserimento di un record, tutto sembrava andare perfettamente....oggi invece dopo alcune modifiche mi sono accorto che ogni volta che inseriva un record lo duplicava!:(:(

      cioè ne creava due perfettamente identici con ID differenti per via dell'auto increment, senza ovviamente che io glielo dicessi!

      sono abbastanza sicuro che lo script viene eseguito una volta sola (ci sono degli echo e un contatore) ma non mi capacito di questa cosa!!!

      io uso apache 2.0.59,php 5.2.3,mysql 5.0.41, ma lo stesso "giochetto" me lo fa anche con una versione più vecchia!!!

      vi prego aiutatemi, non so dove sbattere la testa!!:x :arrabbiato: :arrabbiato:

      postato in Coding
      G
      giopego