Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
630
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.27 KB | None | 0 0
  1. <?php
  2.  
  3. $host = '127.0.0.1'; // Host del database
  4. $db   = 'furniture_test'; // Nome del database
  5. $user = 'root'; // username
  6. $pass = 'root'; // password
  7.  
  8. $dsn = "mysql:host=$host;dbname=$db";
  9. $pdo = new PDO($dsn, $user, $pass);
  10.  
  11. $models_results = $pdo->query('SELECT * FROM models'); // Lista dei modelli
  12. $textures_results = $pdo->query('SELECT * FROM textures'); // Lista delle texture
  13.  
  14. ?>
  15.  
  16. <!-- Immagine combinata, nascosta all'inizio -->
  17. <div class="preview" style="text-align: center; margin-bottom: 30px;">
  18.     <img id="combo-image" src="" style="opacity: 0; width: 400px; height: auto; background: #ddd;" />
  19. </div>
  20.  
  21. <!-- Ciclo le texture e stampo le loro immagini -->
  22. <div class="textures-list" style="margin-bottom: 30px;">
  23.     <?php foreach($textures_results as $texture) : ?>
  24.         <div class="texture-item" style="display: inline-block; width: 25%; text-align: center" data-id="<?php echo $texture['id'] ?>">
  25.             <img src="<?php echo $texture['img_path'] ?>" style="width: auto; height: 100px; margin: 0 auto; background: #ddd;" />
  26.         </div>
  27.     <?php endforeach; ?>
  28. </div>
  29.  
  30. <!-- Ciclo i modelli e stampo le loro immagini -->
  31. <div class="models-list">
  32.     <?php foreach($models_results as $model) : ?>
  33.         <div class="model-item" style="display: inline-block; width: 14.28%" data-id="<?php echo $model['id'] ?>">
  34.             <img src="<?php echo $model['img_path'] ?>" style="width: auto; height: 100px; margin: 0 auto; background: #ddd;" />
  35.         </div>
  36.     <?php endforeach; ?>
  37. </div>
  38.  
  39. <!-- jQuery, libreria che facilita la vita -->
  40. <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  41.  
  42. <!-- script per ottenere l'immagine combinata -->
  43. <script>
  44.  
  45.     var current_model_id; // Conterrà l'id della texture corrente
  46.     var current_texture_id; // Conterrà l'id del modello corrente
  47.     var image_page_url = '/rmm/get-picture.php'; // URL della pagina che restituisce l'immagine combinata
  48.  
  49.     // Ascolto l'evento click sull'elemento con classe model-item
  50.     $('.model-item').click(function() {
  51.         console.log('a');
  52.         current_model_id = $(this).data('id'); // assegno alla variabile il contenuto dell'attributo data-id, quindi l'id del modello cliccato
  53.         getPicture(); // Ottengo l'immagine combinata
  54.     });
  55.  
  56.     // Ascolto l'evento click sull'elemento con classe texture-item
  57.     $('.texture-item').click(function() {
  58.         current_texture_id = $(this).data('id'); // assegno alla variabile il contenuto dell'attributo data-id, quindi l'id della texture cliccata
  59.         getPicture(); // Ottengo l'immagine combinata
  60.     });
  61.  
  62.     // Funzione per ottenere l'immagine combinata
  63.     function getPicture() {
  64.  
  65.         // Esco dalla funzione nel caso uno dei due id non sia presente
  66.         if (!current_model_id || !current_texture_id) {
  67.             return;
  68.         }
  69.  
  70.         // Invio una richiesta alla pagina passando gli id correnti
  71.         $.get(image_page_url, {
  72.             model: current_model_id,
  73.             texture: current_texture_id
  74.         }).done(function(response) {
  75.             $('#combo-image').attr('src', response.picture); // Assegno all'immagine il percorso ottenuto
  76.             $('#combo-image').css('opacity', 1); // Mostro l'immagine nel caso sia nascosta
  77.         });
  78.     }
  79.  
  80. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement