Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di sgnam
    Registrato dal
    Dec 2005
    Messaggi
    19

    problema passaggio variabile php a javascript

    Ciao a tutti!
    vista la mia scarsa esperienza, ho qualche problema a inviare una variabile php a una funzione javascript nella stessa pagina.
    Qualcuno può aiutarmi?

    Questo è il codice javascript che apre una confirm box:

    function example($paziente) {
    var paziente = <? echo $paziente ?>;
    var no = new LertButton('Non cancellare il paziente', function() {
    //do nothing
    });

    var yes = new LertButton('Cancella', function() {
    window.location.href = 'elimina.php?paziente= + paziente'
    });

    var message = "Sei sicura di voler cancellare il paziente <?php print $paziente ?> ?";
    var exampleLert = new Lert(message,[no,yes],
    {
    defaultButton:yes,
    icon:'images/dialog-information.png'
    });
    exampleLert.display();
    }


    e questo è il php che estrae la variabile $paziente che devo passare al javascript:

    Codice PHP:
    $query=mysql_query("select paziente from pazienti order by paziente"); 
    $count=mysql_num_rows($query);
    for(
    $f=1;$f<=$count;$f++){$arr=mysql_fetch_array($query,MYSQL_BOTH);
    $paziente $arr['paziente'];
    print 
    "$paziente<a href=\"javascript:void(0);\" onclick=\"example($paziente);\"> Elimina</a>
    "
    ;

    Grazie in anticipo!

  2. #2
    Sinceramente non so se funziona anche cosy ma dal punto dy vista pratico e' buona regola terminare le istruzioni con ; quindi
    var paziente = <? echo $paziente ?>;

    dovrebbe diventare
    var paziente = <? echo $paziente; ?>;
    almeno spiega cosy il mio libro.
    -La Repubblica dei Cieli- disse Lyra.

  3. #3
    Utente di HTML.it L'avatar di sgnam
    Registrato dal
    Dec 2005
    Messaggi
    19
    hai ragione, mi ero perso un ";" ma non funziona lo stesso...

    :master:

  4. #4
    Secondo me ti sei dimenticato le vigolette "$paziente" altrimenti echo e print non ti stampano niente il punto e virgola non dovrebbe essere indispensabile in quanto è prima del tag di chiusura di php.

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Bisogna sapere che non è possibile usare del php .... in js.

    Quindi non puoi scrivere una funzione js con delle variabili php.

    E' un po' difficile capire quello che fai, ma forse con un esempio diverso capirai quello che voglio dire. Guarda poi il sorgente generato dai 2 esempi (che fanno la stessa cosa sostenzialmente).

    Esempio 1 :
    codice:
    <?php 
    $arrPaziente[] = "Marco";
    $arrPaziente[] = "Giulio";
    $arrPaziente[] = "Franco";
    $arrPaziente[] = "Andrea";
    $arrPaziente[] = "Gerardo";
    $arrPaziente[] = "Alessio";
    $arrPaziente[] = "Ercole";
    $arrPaziente[] = "Mirko";
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function example(paziente) {
     alert('Ciao ' + paziente);
     return false;
    } // function example(paziente)
    //-->
    </script>
    
    </head>
    <body>
    
    <?php 
     //----------- Creazione 
     foreach($arrPaziente as $paziente) {?>
     ');"> Elimina <?php print $paziente ?>
    <?php
     } // foreach($arrPaziente as $paziente) ?>
    
    </body>
    </html>
    Esempio 2 :
    codice:
    <?php 
    $arrPaziente[] = "Marco";
    $arrPaziente[] = "Giulio";
    $arrPaziente[] = "Franco";
    $arrPaziente[] = "Andrea";
    $arrPaziente[] = "Gerardo";
    $arrPaziente[] = "Alessio";
    $arrPaziente[] = "Ercole";
    $arrPaziente[] = "Mirko";
    
    $javascript = "";
    $html       = "";
    
    foreach($arrPaziente as $paziente) {
     //--------- Creo una funzione per paziente
     $pippo  = "function example_$paziente() {\n";
     $pippo .= "alert('Ciao $paziente');\n";
     $pippo .= "} // function example_$paziente() {\n";
     $javascript .= $pippo;
     //-------- Creo il tag a per paziente
     $pippo  = "<a href=\"javascript:void(0)\" onclick=\"example_$paziente();\"> Elimina $paziente</a>
    \n";
     $html  .= $pippo;
    } // foreach($arrPaziente as $paziente)
     
    ?>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    <?php print $javascript ?>
    //-->
    </script>
    
    </head>
    <body>
    <?php print $html ?>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.