Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: rollover + mysql

  1. #1

    rollover + mysql

    Ciao a tutti!! Problema per veri intenditori:
    ho un menù a tendina, che si presenta con 20 bottoni (uno per ogni giocatore di una squadra di calcio). Vorrei, con un effetto rollover che scorrendo con il mouse sui bottoni venissero visualizzati in una zona accanto i dati e le caratteristiche di ogni giocatore. Posso richiamare tali dati da un archivio Mysql? Poi, lasciando l'ultimo bottone "toccato" vorrei andare sulla relativa scheda ed avere la possibilità magari di cliccare su una o due foto del giocatore. Vorrei consigli su come impostare la "zona di visualizzazione". Grazie!!

  2. #2
    Codice PHP:
    on (rollOver){
    var 
    connessione = new LoadVars();
    connessione.var = nomegiocatore;
    connessione.send("connect.php""""GET");

    Per prima cosa ho pensato di inserire in ogni bottone questo codice, per l'invio della variabile ad una pagina PHP. Nomegiocatore è diverso per ogni giocatore. La pagina PHP selezionerà dati diversi per ogni variabile inviata. ok?

  3. #3
    puoi fare in diversi modi...
    o usare il metodo sendAndLoad della classe loadVars() e quindi inviare l'id del giocatore e farti restituire i dati..con una cosa del genere
    supponendo che tu dalla pag .asp ti faccia restituire una cosa del genere
    caratteristiche=Il giocatore ..testo dal db estratto con la query&
    all'invio dell'id del giocatore
    codice:
    on(rollOver){
       myVars = new LoadVars();
       myVars.idgiocatore = idgiocatore;
        myVars.onLoad = function(success){
          if(success){
             
             caratteristeche_giocatore=this.caratteristiche;
             } else {
             trace("Errore di lettura");
          }
       }
       myVars.SendAndLoad("percorso_pagina.asp", myVars, "POST");
    }
    il secondo metodo
    al rollOver setti una var sulla root e richiami un al'tro file swf in questo ti basterà fare una chiamata alla pag asp usando la var settata prima con una chiamata del genere con loadVars
    "percorso_pagina.asp?Idgiocatore"+_level0.vardipri masettata

    supponendo che richiami il file esterno e lo carichi su di un livello ed il menu sia al livello0

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  4. #4
    Grazie per i consigli ma il problema è che non so usare asp. Credevo di inviare la variabile ad una pagina PHP, che interroga il db e restituisce i dati al filmato, o devo farli ritornare comunque da php? nella stessa pagina di prima o in un'altra?

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    l'interazione da flash verso uno script lato server può avvenire in maniera completamente invisibile all'utente, lo script e il file swf non devono necessariamente convivere nella stessa pagina, l'unica cosa di cui bisogna tener conto è che php una volta interrogato deve restituire a flash i dati formattati come querystring con coppie di nome+valore per ogni variabile che si vuole spedire a flash

    poniamo un caso semplicissimo, flash genera una variabile casuale e la spedisce a php che nel caso assuma un determinato valore risponde a flash con un "ok" altrimenti invia un "no"

    il codice in flash per effettuare la verifica sarebbe:

    Codice PHP:
    var lv = new LoadVars();
    lv.valore Math.random()*9// valore numerico casuale compreso tra 0 e 9
    lv.sendAndLoad("script.php"lv"POST");
    lv.onLoad = function (success) {
    // la funzione onLoad viene eseguita da flash solo al momento della risposta di php
        
    if (success) {
            
    // verifico se php mi ha restituito "ok" o "no"
            
    var verify lv.result.split(" ").join("");
            if (
    lv.result == "ok") {
                
    trace ("OK, il numero inviato è esatto");
            } else {
                
    trace ("NO, il numero non è corretto");
            }
        } else {
            
    // se per qualsiasi motivo il file sul server non viene individuato o la risposta tarda
            // lo faccio presente nell'else
            
    trace ("Il server non ha risposto");
        }

    il codice php corrispondente a questa situazione verifica prima di tutto che esista la variabile "valore", in caso esista procede al controllo della condizione e rilascia una querystring con il nome "result" e il valore "ok" o "no"

    Codice PHP:
    <?php
    if (isset($_POST["valore"])) {
        if (
    $_POST["valore"] == "8") { 
            
    /* ho scritto un valore a caso per la verifica
                in pratica se flash restituisce un 8, verifica correttamente la condizione
                chiaramente la cosa è solo a scopo illustrativo */
            
    echo "result=ok";
        } else {
            echo 
    "result=no";
        }
    }
    ?>
    NB: in un punto del codice ho scritto var verify = lv.result.split(" ").join(""); per eliminare qualsiasi spazio dal valore della variabile "result", poichè ai valori in ritorno flash aggiunge uno o più spazi vuoti che possono creare problemi quando si intende verificare delle condizioni come abbiamo fatto nel nostro codice

  6. #6
    quindi correggetemi se sbaglio...
    così recupero e controllo la variabile:
    Codice PHP:
    var lv = new LoadVars(); 
    lv.valore giocatore.var;
    lv.sendAndLoad("script.php"lv"POST"); 
    lv.onLoad = function (success) { 
    // la funzione onLoad viene eseguita da flash solo al momento della risposta di php 
        
    if (success) { 
            
    // verifico se php mi ha restituito "ok" o "no" 
            
    var verify lv.result.split(" ").join(""); 
            if (
    lv.result == "ok") { 
                
    trace ("visualizzo i dati"); 
            } else { 
                
    trace ("non visualizzo nulla"); 
            } 
        } else { 
            
    // se per qualsiasi motivo il file sul server non viene individuato o la risposta tarda 
            // lo faccio presente nell'else 
            
    trace ("Il server non ha risposto"); 
        } 

    "nomegiocatore" sarebbe la variabile che il bottone mi invia. Questo script lo sistemo nel livello 1 del swf mentre ogni bottone corrisponde ad un livello successivo. Questo lo sistemo in ogni bottone:
    Codice PHP:
    on (rollOver){ 
    var 
    connessione = new LoadVars(); 
    giocatore.var = nomegiocatore
    connessione.send("script.php""""GET"); 

    se ho capito bene ognuno di questi script genera una variabile che invia allo script principale sistemato sul livello 1, tramite il rollOver. La connessione "connessione.send" è indispensabile anche qui o è sufficiente quella dello script principale? Poi, mando i dati ad una pagina php:
    Codice PHP:
    <?php 
    if (isset($_POST["valore"])) { 
        if (
    $_POST["valore" == "nome giocatore 1"]) { 
            echo 
    "caratteristiche giocatore 1"
        } else if (
    $_POST["valore" == "nome giocatore 2"]) { 
            echo 
    "caratteristiche giocatore 2"
        } 

    ?>
    e così via per 20 giocatori...
    se tutto questo è corretto si tratta solo di creare le coppie nome-valore da visualizzare sul swf; credo che con delle semplici SELECT si possa risolvere il problema es:
    $nome=SELECT nome FROM tabella WHERE ecc...
    $cognome=ecc
    A questo punto ho tutte le variabili ($nome, $cognome, $ecc...) con il loro valore associato. Mi servirebbe il codice per visualizzarli a video nel swf, nel quale ho predisposto alcune aree di testo vuote. Se ho capito bene il comando "trace" funziona come "echo" ma ho bisogno di una mano per completarlo. Altra domanda: per quanto riguarda una foto, come faccio a visualizzarla proprio nel punto che mi interessa?

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mmh, no

    puoi utilizzare un solo oggetto LoadVars e gestirlo per fare qualsiasi altra operazione legata ad esso all'interno dei suoi eventi, ai pulsanti non dici altro che valorizzare la/le variabili che ti servono per comunicare con php e poi richiami la funzione sendAndLoad che scatenerà conseguentemente l'evento onLoad con le azioni legate al ritorno emesso da php

    penso che ti convenga partire da una base per comprendere appieno il funzionamento della classe LoadVars, puoi trovare consiglio qui e qui

    [edit] un consiglio, meglio che prendi le cose in maniera parziale e ne provi il funzionamento, prima di andare avanti con le altre, in questo modo se c'è un errore in una parte del codice, te ne accorgerai prima e potrai correggerlo in tempo

  8. #8
    ok grazie per i consigli, farò un passo alla volta poi mi farò sentire se avrò bisogno!

  9. #9
    aggiornamento:
    questo script l'ho messo in ogni bottone
    Codice PHP:
    on (rollOver){
    var 
    dati = new LoadVars();
    dati.invio "1";
    dati.sendAndLoad("pag_asscript.php"dati"POST");
    dati.onLoad = function(success){
    if(
    success){
    trace(this.result);
    }

    questo invece è nel livello 1, e funziona, l'ho provato... negli spazi predisposti compaiono i dati dalla tabella MySQL. Però comparivano solo quelli dell'ultima riga. Da quando ho provato a vincolare la SELECT ad una variabile, non vedo più nulla.
    Codice PHP:
    dati = new LoadVars();
    dati.path this;
    dati.onLoad = function(success)
    {
        if (
    success) {
            for(var 
    prop in this){
                
    this.path[prop "_txt"].textthis[prop];
            }
        } else {
            
    this.path.nome_txt.text"errore connessione server";
        }
    };
    ASSetPropFlags(dati, ["onLoad""path"], 7);
    dati.load("pag_assscript.php"); 
    sicuramente c'è un errore di trasmissione della var dal bottone allo script php.
    Questo è infine lo script php:
    Codice PHP:
    $invio = ($_POST['invio']);
    $dati "SELECT * FROM tesserati WHERE tesserati.id LIKE '$invio'";
    $result = @mysql_query($dati); 
    questo non dovrebbe essere un problema

  10. #10
    Solo un errore:
    la pagina php ricerca i dati e li sistema per bene per la visualizzazione; il codice in flash riceve i dati e li dispone nelle apposite caselle di testo secondo i parametri che ho impostato. Fino qui tutto bene. I pulsanti non inviano alla pagina php la variabile che mi interessa per recuperare i dati dal db. Ammesso che il codice php per ricevere la variabile sia esatto ($id = $_POST ['id_player'] ), quello che mi interessa è il codice da inserire nel pulsante, che dovrebbe essere un semplice SENDvar, perché il LOAD lo fa in un'altra zona dell'swf. La pagina php, però, deve rimanere nascosta.

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.