Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Inserire php in javascript

    Avrei necessita di inserire questo blocco di codice php
    Codice PHP:
    <?php
    $hotel
    =$_GET['hotel'];
    include(
    "include/config.php");
    $sql "select hotel, comune, stelle, directory, indirizzo from hotel"
    $risultato = @mysql_query($sql
    or die(
    "Impossibile eseguire l'interrogazione."); 
    while (
    $riga mysql_fetch_array($risultato)) {
    $hotel $riga['hotel'];
    $comune $riga['comune'];
    $stelle $riga['stelle'];
    $directory $riga['directory'];
    $indirizzo $riga['indirizzo'];
    $htmlhot=str_replace("HOTEL ","",$hotel);
    $htmlhot=str_replace("RESIDENCE ","",$htmlhot);
    $htmlhot=str_replace(" ","%20",$htmlhot);
    $nomehtml=str_replace(" ","%20",$nome);
    $mostra_posizione ="map.addOverlay(createMarker(new GLatLng($indirizzo), \"[b]$hotel[/b]$comune\")); ";
    }
    unset(
    $sql);
    ?>
    dentro questa parte di codice delle mappa di google (indico anche la parte dove mi server)
    codice:
    <script type="text/javascript">
        function showMap()
        {
            if (GBrowserIsCompatible()) {
                var map = new GMap2(document.getElementById("map"));                
                map.addControl(new GSmallMapControl());	            
                map.setCenter(new GLatLng(40.727356,13.909893), 12);   
    
                function createMarker(point, description) {
                  var marker = new GMarker(point);
                  GEvent.addListener(marker, "click", function() {
                    marker.openInfoWindowHtml(description);
                  });
                  return marker;
                }
                 
     
    //QUA DEVE ANDARE IL CODICE PHP PER TIRARE FUORI GLI INDIRIZZI DEGLI HOTEL
    
    			}
        }
    </script>
    se lo incollo direttamente non va, non mi da errori ma non mi fa nessuna query.
    Come posso fare?
    Mai dire Mai

  2. #2
    php è lato server, javascript lato client ... e soprattutto il browser può eseguire codice javascript non codice php

    mi pare di capire che tu voglia mettere una serie di marker sulla mappa, no?

    se si, in questo caso, modifichi la riga

    $mostra_posizione ="map.addOverlay(createMarker(new GLatLng($indirizzo), \"$hotel, $comune\")); ";

    facendola diventare

    $mostra_posizione .="map.addOverlay(createMarker(new GLatLng($indirizzo), \"$hotel, $comune\"));\n";

    e poi al posto di
    unset($sql);

    che serve a poco metti
    mysql_free_result($sql);
    echo $mostra_posizione;

    ovviamente questo pezzo di codice php, con relativi tag di apertura e chiusura, deve essere messo in quella posizione del file html ... ed il file html deve avere estensione .php

    Ovviamente ci sono modi migliori (e non di poco) per fare questo, leggasi ajax, json, ahah e via dicendo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    grazie daniele,
    il problema e' che poi devo fare l'echo di $mostra_posizione nella parte javascript dove devono uscire tutti gli hotel.
    Come la faccio?
    Mai dire Mai

  4. #4
    ho provato come dici tu e funziona, ho messo <?php echo "$mostra_posizione";?> nella parte javascript e funziona.
    L'unica cosa e' che mi dava problema proprio sulla riga
    mysql_free_result($sql);
    dicendo:
    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in


    l'ho tolta definitivamente e non esce nessun errore e la mappa funziona.
    A che serviva quel mysql_free_result?
    Mai dire Mai

  5. #5
    scusami, distrazione

    mysql_free_result($risultato);

    serve a liberare la memoria

    inoltre anche

    $risultato = @mysql_query($sql);

    converrebbe scriverlo come

    $risultato = mysql_query($sql) or die('Errore nella query ' . $sql . ': ' . mysql_error());
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.