• User Newbie

    CIao a tutti, mi presento e vi chiedo aiuto

    Ciao a tutti, non posso credere di avere finalmente trovato un forum dove esporre problemi inerenti al php e al mysql in maniera esclusiva. SOno un laureando in lingue moderne per il web e come tesi sto preparando una applicazione mashup fra le Api di google MAP,e un database mysql.

    L'idea è avere un elenco di tutti i dipartimenti con relative coordinate, un campo form che invii la ricerca dell'utente ad una query che interroghi il db e in seguito l'exporting in xml. Ho gia fatto tutto... e la beta è pronta suil mio sito

    soltanto che il problema che mi ritrovo è il seguente.... l'informazione che dovrebbe passare al file php tramite il form ,che si occupa di creare la query, in realta non passa... quindi il database restituisce sempre tutti i valori....

    vi posto il codice del form, chiamato file index2.php

    *<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns=".w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Ricerca Dipartimeni Home</title>
    <script src="maps.google.com/maps?file=api&v=2&key=ABQIAAAAewK-imDclgeHvzhRCVp_eBQPRgDiN0y-2FDuYD51Yt3cl0T-PRQOg1VnJEU0Ebz130m_-0CDK0ciJg" type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[

    function load() 
    {
    	if (GBrowserIsCompatible()) 
      	{
        	// Crea mappa
    		var map = new GMap2(document.getElementById("map"));
        	
    		// Imposta centro su Palermo (LAT 38.12, LONG 13.36)
    		map.setCenter(new GLatLng(38.12, 13.36), 12);
    		
    		// Visualizza controlli - TIPO MAPPA
    		map.addControl(new GMapTypeControl());
    		
    		// Visualizza controlli - ZOOM GRANDE
    		map.addControl(new GLargeMapControl());
    
    		// Apre Popup :)
    		map.openInfoWindow(map.getCenter(),
                   document.createTextNode("Palermo!"));
    		
      	}
    }
    
    //]]>
    

    </script>
    </head>
    <body onload="load()" onunload="GUnload()" style="font-family:Arial, Helvetica, sans-serif; font-size:13px; ">
    <h3>Ricerca dipartimenti -BETA- </h3>

    <form method="post" action="result2.php">
    <p class="head">Search</p>

    <input id="searchkeywords" type="text" name="keywords"

    <input id="searchbutton" class="submit" type="submit"
    value="Search">
    </p>
    </form>

    <div id="map" style="width: 468px; height: 360px">
    </div>
    <p> </p>
    <p> </p>
    </body>

    </html>*

    e poi il file result2.php

    *<?php
    require("resource.php");

    function parseToXML($htmlStr)
    {
    $xmlStr=str_replace('<','<',$htmlStr);
    $xmlStr=str_replace('>','>',$xmlStr);
    $xmlStr=str_replace('"','"',$xmlStr);
    $xmlStr=str_replace("'",''',$xmlStr);
    $xmlStr=str_replace("&",'&',$xmlStr);
    return $xmlStr;
    }

    // Opens a connection to a mySQL server
    $connection=mysql_connect ($db_host, $db_user, $db_password);
    if (!$connection) {
    die('Not connected : ' . mysql_error());
    }

    // Set the active mySQL database
    $db_selected = mysql_select_db($db_database, $connection);
    if (!$db_selected) {
    die ('Can't use db : ' . mysql_error());
    }

    // Select all the rows in the markers table

    $query= "SELECT * FROM markers WHERE ('address') like ('%$_POST[index2]%') ";
    $result = mysql_query($query);
    if (!$result) {
    die('Invalid query: ' . mysql_error());
    }

    header("Content-type: text/xml");

    // Start XML file, echo parent node
    echo '<markers>';

    // Iterate through the rows, printing XML nodes for each
    while ($row = @mysql_fetch_assoc($result)){
    // ADD TO XML DOCUMENT NODE
    echo '<marker ';
    echo 'name="' . parseToXML('&','&', $row['name']) . '" ';
    echo 'address="' . parseToXML($row['address']) . '" ';
    echo 'lat="' . $row['lat'] . '" ';
    echo 'lng="' . $row['lng'] . '" ';
    echo 'type="' . $row['type'] . '" ';
    echo '/>';
    }

    // End XML file
    echo '</markers>';

    ?>*

    quindi in pratica mi trovo una mashup praticamente non funzionante.... ho provato di tutto ma per le mie compentenze questo è il massimo che riesco a produrre e cosi ,dopo tanto cercare, sono sbarcato qua nella speranza di trovare un aiuto.....

    vi ringrazio in anticipo


  • Consiglio Direttivo

    Ciao Paolomis e benvenuto nel ForumGT 😉
    ho dato una sbirciata al tuo script credo che il problema stia quì:
    [php]$query= "SELECT * FROM markers WHERE ('address') like ('%$_POST[keywords]%') ";[/php]
    prova a modificarlo così e facci sapere se funziona 😉
    :ciauz:


  • User Newbie

    Ciao Samyorn, grazie per la celere risposta, ho fatto la modifica ma cosi non restituisce nulla, non esporta nessun xml. Credemi sto impazzendo con questa applicazione, sto quasi pentendomi di aver scelto questa come tesi di laurea....
    non so onestamente dove puo essere il problema, il db cmq funziona perche da phpmyadmin con query risponde corretamente.... il problema sembra sussistere tra il form e la query......


  • User Newbie

    ho risolto...... sistemando un po i campi del form adesso la query restituisce l'informazione giusta..... purtroppo si è presentato un altro problema.... speravo che la pagina che ha il codice di google map si richiamasse automaticamente le coordinate giuste ma invece non lo fa quindi dovrei una volta che la query restituisce i valori in xml del luogo dovrei fare in modo di mandarli a alla mappa... qualche idea?