mappa generata da librerie gd modificabile tramite form

master1986

Utente Attivo
8 Ott 2012
234
0
16
ciao

ma ho la "vaga" impressione che dovendo fare quello che vuoi fare con i file .txt diventa un "ca..no", anche perchè il saggio disse:"l'appetito vien mangiando".
ti conviene dare un occhio a qualche guida di mysql+php (dovrebbe essercene una anche qui su mrwm, la cerco e ti posto il link).
pensa bene a tutto quello che vuoi fare perche poi rimettere le mani su quanto già fatto neno è una delle cose migliori.

p.s.
l'uso di mysql è più semplice di quello che sembra



Il sistema da te creato va bene, se si potessero inserire più icone avrei raggiunto quello che desidero.

effettivamente hai ragione... :( dammi qualche suggerimento su come poter impostare questo sistema.
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
Ho capito la questione del mysql che vuoi intendere, bisognerebbe creare un config (per la connessione al db) e avere la banca dati nel database.

il problema è questo però: come faccio a far comunicare il form con il mysql e come faccio a far richiamare i dati presenti sul mysql nella pagina della mappa

è un mistero :cool:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it

master1986

Utente Attivo
8 Ott 2012
234
0
16
Grazie dei link! utilissimi e penso di interfacciarlo con mysql.


Ma per ora ho trovato la soluzione per mettere tutti i simboli che voglio, mi hai dato una grossa mano con il codice che hai inserito alla pagina 1 :fonzie:


L'unica cosa che ti chiedo è come far restare nel form i dati che sono inseriti nel file txt, in modo tale che quando lo apro so già cos'è inserita nella mappa
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
ciao1il form non serve per memorizzare, al massimo si potrebbe (sempre leggendo il file txt) fare in modo che la <option> diventasse selected e/o sopra il form visualizzare gli ultimi dati registrati


anche qui vorresti che quando fai una modifica la data venisse stampata sull'immagine?



Praticamente se riesco a far ricordare al form i dati inseriti nel txt è fatta :)

come posso fare?

grazie di tutto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti ho modificato il form, in questo modo vedi il settagio attuale e le option sono selected sul settaggio attuale
PHP:
<?php
if(isset($_POST['esegui'])){
	$icone=$_POST['rosso']."|".$_POST['giallo']."|".$_POST['verde'];
	$ris = fopen("icone.txt", "w");
	fwrite($ris, $icone);
	fclose($ris);
}
if(file_exists("icone.txt")){//verifichi sempre che il file esista 
	$icone = file_get_contents("icone.txt");//legge il settaggio attuale
	$icona=explode("|",$icone);//come nell'altro script
	echo "settaggio attuale:<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in rosso: ".$icona[0]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in giallo: ".$icona[1]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in verde: ".$icona[2]. "<hr>";
}
$ic=array('rosso' =>'rosso.png', 'giallo' => 'giallo.png', 'verde' => 'verde.png');//creo un array con le icone
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
rosso<select name="rosso">
<?php
foreach($ic as $ch => $val){//ciclo l'array delle icone
	if($icona[0]==$val){$sel="selected";}else{$sel="";}//verifico se l'icona settata è uguale al valore della select, se si metto a selected l'option relativa
	echo "<option value=\"$val\" $sel>$ch</option>";//stampo la option
}
?>
</select><br>
giallo<select name="giallo">
<?php
foreach($ic as $ch => $val){
	if($icona[1]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
verde<select name="verde">
<?php
foreach($ic as $ch => $val){
	if($icona[2]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
<input name="esegui" type="submit" id="esegui" value="esegui">
</form>
comunque cerca di studiare/capire quello che ho fatto
non fare l'errore del classico copy/paste
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
ciao
ti ho modificato il form, in questo modo vedi il settagio attuale e le option sono selected sul settaggio attuale
PHP:
<?php
if(isset($_POST['esegui'])){
	$icone=$_POST['rosso']."|".$_POST['giallo']."|".$_POST['verde'];
	$ris = fopen("icone.txt", "w");
	fwrite($ris, $icone);
	fclose($ris);
}
if(file_exists("icone.txt")){//verifichi sempre che il file esista 
	$icone = file_get_contents("icone.txt");//legge il settaggio attuale
	$icona=explode("|",$icone);//come nell'altro script
	echo "settaggio attuale:<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in rosso: ".$icona[0]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in giallo: ".$icona[1]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in verde: ".$icona[2]. "<hr>";
}
$ic=array('rosso' =>'rosso.png', 'giallo' => 'giallo.png', 'verde' => 'verde.png');//creo un array con le icone
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
rosso<select name="rosso">
<?php
foreach($ic as $ch => $val){//ciclo l'array delle icone
	if($icona[0]==$val){$sel="selected";}else{$sel="";}//verifico se l'icona settata è uguale al valore della select, se si metto a selected l'option relativa
	echo "<option value=\"$val\" $sel>$ch</option>";//stampo la option
}
?>
</select><br>
giallo<select name="giallo">
<?php
foreach($ic as $ch => $val){
	if($icona[1]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
verde<select name="verde">
<?php
foreach($ic as $ch => $val){
	if($icona[2]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
<input name="esegui" type="submit" id="esegui" value="esegui">
</form>
comunque cerca di studiare/capire quello che ho fatto
non fare l'errore del classico copy/paste


Ti faccio veramente i miei complimenti, sei bravissimo, senza di te non ce l'avrei mai potuta fare!

Sto studiando il codice che hai inserito poichè dovrò inserire diverse icone per diverse città! ho notato diversi cambiamenti tra il primo e il secondo codice inserito :)


E' tutto perfetto al 99% ho raggiunto il mio obbiettivo, senza db :) unico particolare (sarebbe il massimo) è l'inserimento della data (che non deve essere l'orario attuale) ma bensì la data scelta da me, tipo "Sabato 13 ottobre", da poter stampare poi utilizzando la libreria gd.


In alternativa potrei creare piccole immagini tipo "giovedi" "venerdi" e il giorno con l'anno da inserire con lo stesso sistema delle icone in un punto della mappa :) , ma in questo caso come posso fare in modo che alla scelta della "data" non mi faccia vedere le icone nel box di scelta?
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
mi spiego meglio con un immagine

nel caso non fosse possibile usare la funzione:

imagestring($campania,12,17,294,"MARTEDI'' 09 OTTOBRE 2012",$col);


Potrei utilizzare questo metodo, che sfrutta lo stesso sistema delle icone. ho la necessità però che nel box "data" non vengano visualizzati le scelte che hai inserito, tipo giallo, rosso, verde

prova2.png

illuminami su quest'ultima cosa è avrò completato il mio progetto :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
una cosa prima:
la data la inserisci solo tu?
ti chiedo questo perche l'uso delle date è sempre un po' rognoso perche la stessa data può essere scritta in tanti modi (es. 9.10.2012, 09/10/2012...) e generalmente si fa un controllo prima di inserirla.
se la scrivi solo tu immagino che tu faccia attenzione a non scrivere ca...te, quindi i controlli non dovrebbero servire

sto pensando di metterla dentro il file di testo:
ciè un campo di input text da mettere dopo le select e concatenarla alla stringa col solito | poi quando la esplodi la trovi nell'ultima $icona in questo caso in $icona[3]
e quindi usarla in
imagestring($campania,12,17,294,"MARTEDI'' 09 OTTOBRE 2012",$col);
come hai fatto per
$rosso = imageCreateFromPng($r);

prova a modificare gli script che ti ho mandato (se fai pasticci poi l'aggiustiamo)
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
ciao
una cosa prima:
la data la inserisci solo tu?
ti chiedo questo perche l'uso delle date è sempre un po' rognoso perche la stessa data può essere scritta in tanti modi (es. 9.10.2012, 09/10/2012...) e generalmente si fa un controllo prima di inserirla.
se la scrivi solo tu immagino che tu faccia attenzione a non scrivere ca...te, quindi i controlli non dovrebbero servire

sto pensando di metterla dentro il file di testo:
ciè un campo di input text da mettere dopo le select e concatenarla alla stringa col solito | poi quando la esplodi la trovi nell'ultima $icona in questo caso in $icona[3]
e quindi usarla in
imagestring($campania,12,17,294,"MARTEDI'' 09 OTTOBRE 2012",$col);
come hai fatto per
$rosso = imageCreateFromPng($r);

prova a modificare gli script che ti ho mandato (se fai pasticci poi l'aggiustiamo)


Si si la data la inserisco solo io, vorrei inserire per esempio Martedi 09 Ottobre 2012

ho inserito imagestring($campania,12,17,294,"MARTEDI'' 09 OTTOBRE 2012",$col);

in mappa.php e mi restituisce questo risultato

campania_maps.jpg (ps le icone escono nere perchè le avevo ingrandite)

Ora dovrei inserire solo il box text nel form per modificare quel valore

ci siamo quasi, come lo imposto?
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
Aggiornamento

Sono riuscito a inserire il box text nel form, e cliccando su invio invia correttamente il tutto al file txt ecco

form form.png

file txt blocco note.PNG



Ora dovrei solo inserire la stringa per stampare il testo nella mappa.php, solo che la funzione imageCreateFromPng non funziona

come posso fare?
 

Allegati

  • blocco note.PNG
    blocco note.PNG
    14 KB · Visite: 214

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti ho modificato il form con la data, e aggiunto un controllo sulla stessa
PHP:
<?php
if(isset($_POST['esegui'])){
	//questo if perche se ti domentichi di inserire la data andrebbe tutto in pallino
	if(trim($_POST['data'])!=""){//verifica se inputata la data
		//la funzione strtoupper trasforma tutti i caratteri in maiscolo anche se li inserisci in minuscolo
		$data=strtoupper(trim($_POST['data']));//legge quella da te inputata
	}else{
		$data=date("d.m.Y");//se ti sei dimenticato inserisce la data del server
		//andrai poi a correggerla
	}
	$icone=$_POST['rosso']."|".$_POST['giallo']."|".$_POST['verde']."|".$data;
	$ris = fopen("icone.txt", "w");
	fwrite($ris, $icone);
	fclose($ris);
}
if(file_exists("icone.txt")){//verifichi sempre che il file esista 
	$icone = file_get_contents("icone.txt");
	$icona=explode("|",$icone);
	echo "settaggio attuale:<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in rosso: ".$icona[0]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in giallo: ".$icona[1]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;in verde: ".$icona[2]. "<br>";
	echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data: ".$icona[3]. "<hr>";
}
$ic=array('rosso' =>'rosso.png', 'giallo' => 'giallo.png', 'verde' => 'verde.png');
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
rosso<select name="rosso">
<?php
foreach($ic as $ch => $val){
	if($icona[0]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
giallo<select name="giallo">
<?php
foreach($ic as $ch => $val){
	if($icona[1]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
verde<select name="verde">
<?php
foreach($ic as $ch => $val){
	if($icona[2]==$val){$sel="selected";}else{$sel="";}
	echo "<option value=\"$val\" $sel>$ch</option>";
}
?>
</select><br>
<!--NOTA: se scrivi il giorno (es) martedì, NON scrivere martedi' o MARTEDI' ma metti la i accentata minuscola, es. scrivi MARTEDì 
ci pensa lo script a trasformare tutto in maiuscolo, gli apici o apostrofi possono creare casino-->
data <input name="data" type="text" size="30">
<br>
<input name="esegui" type="submit" id="esegui" value="esegui">
</form>
poi modifica lo script per le mappe
PHP:
<?php
if(file_exists("icone.txt"){//verifichi che il file esista
    //se esistse leggi il contenuto
    $icone = file_get_contents("icone.txt");
    var_dump($icone);echo "<br>";//questa riga per farti vedere il contenuto del file poi la togli o la commenti
    $icona=explode("|",$icone);//esplodi la stinga in funzione di |
    var_dump($icona[0]); echo "<br>";//queste quattro righe per farti vedere il risultato poi le togli o le commenti
    var_dump($icona[1]); echo "<br>";
    var_dump($icona[2]); echo "<br>";
	var_dump($icona[3]); echo "<br>";
    //assegni i valori
    $r=$icona[0];
    $g=$icona[1];
    $v=$icona[2];
	$d=$icona[3];
}else{//il file non esiste
    //usi una serie di default
    $r="rosso.png";
    $g="giallo.png";
    $v="verde.png";
	//anche qui una data di default
	$d=date("d.m.Y");
}
// carico l'immagine da usare come mappa
$campania = imageCreateFromJpeg('campania.jpg');
// carico i simboli in stile Google Maps
//al posto dei nomi metti le variabili appena ricavate
$rosso = imageCreateFromPng($r);
$giallo = imageCreateFromPng($g);
$verde = imageCreateFromPng($v);
imagestring($campania,12,17,294,$d,$col);
//ECCETERA.............
?>
prova
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
Non so come ringraziarti veramente!

Grazie a te sono riuscito a creare la mappa da utilizzare per il mio progetto, modificabile liberamente sfruttando le potenti librerie gd. sei stato l'unico che mi aiutato su altri lidi mi hanno scanzato. purtroppo per queste cose ci vuole passione e disponibilità di una persona.


Un ultima cosa, è possibile cambiare la directory dei simboli? tipo se gli script sono in www.miosito.com/mappa.php e i simboli vorrei metterli in www.miosito.com/simboli

dovrei fare una modifica alla mappa vero?

grazie mille :)
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
Ti pongo un quesito, spero sia possibile risolverlo :)


Nel form ho questa stringa

PHP:
$ic=array('rosso' =>'rosso.png', 'giallo' => 'giallo.png', 'verde' => 'verde.png');//creo un array con le icone

Che mi va a determinare le verie opzioni nel box di scelta dell'icona.


Sarebbe possibile nella stessa pagina creare un altro box di selezione icone, ma che al suo interno non vengano contenute le icone rosso, giallo, verde?

Tipo se usassi questi colori: blu, arancio, viola

ho provato a inserirli dopo 'verde' => 'verde.png' ma quando aggiorno il form nel box di selezione mi crea una lista composta da 6 icone. io vorrei solo che fossero visualizzate le ultime 3


spero di aver esposto bene il quesito :)
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non ho capto male quello che intendi
fai un altro arrai (es)
PHP:
<?php
$ic=array('rosso' =>'rosso.png', 'giallo' => 'giallo.png', 'verde' => 'verde.png');//creo un array con le icone 
$ic_secondo=array('arancio' =>'arancio.png', 'marrone' => 'marrone.png', 'blu' => 'blu.png');//creo un altro array con le icone 
?>
poi con il solito foreach ti fai un'altra select (con un altro nome) e po devi combinare i var $_POST come ti interessano
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
ciao
se non ho capto male quello che intendi
fai un altro arrai (es)
PHP:
<?php
$ic=array('rosso' =>'rosso.png', 'giallo' => 'giallo.png', 'verde' => 'verde.png');//creo un array con le icone 
$ic_secondo=array('arancio' =>'arancio.png', 'marrone' => 'marrone.png', 'blu' => 'blu.png');//creo un altro array con le icone 
?>
poi con il solito foreach ti fai un'altra select (con un altro nome) e po devi combinare i var $_POST come ti interessano




Ti ringrazio! tutto risolto, va alla grande :)
 

master1986

Utente Attivo
8 Ott 2012
234
0
16
Ciao a tutti

Sono arrivato al punto (si è complicato il lavoro) da aver bisogno di un database mysql

L'obbiettivo è questo, leggere un file xml dove ci sono scritti i dati della mappa, e stamparli a video con le librerie gd. ovviamente io dovrei avere la possibilità di poter modificare la mappa cambiando il valore sul database.


Esempio:

Nel file xml ho:

<icon>4</icon>


Dovrei far leggere a php che l'icona "4" contenuta nel file xml sta per 4.png e farlo memorizzare nel mysql nella tabella "icona"


Fatto questo le librerie gd dovrebbero prendere quel valore e stampare a video il simbolo 4.png sulla mappa


L'xml si aggiorna una volta al giorno da solo, io però dovrei avere la possibilità di modificare i valori nel mysql (per poter cambiare la mappa in caso di modifica)


Qualcuno può aiutarmi? si lo so è complessa come cosa
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Problemi visualizzazione mappa Android studio Sviluppo app per Android 0
A Copertura: indicizzata, non inviata nella mappa del sito XML 1
O Mappa Interattiva PHP 3
A [Javascript] Marker personalizzati su mappa leaflet Javascript 0
C [PHP] Punto su mappa PHP 0
J [Wordpress] Mappa WordPress 2
M [Javascript] Visualizzazione mappa Javascript 1
A [Javascript] Problema visualizzazione posizione corrente su mappa Javascript 2
Trapano [PHP] Mappa con gli indirizzi PHP 3
ecosito [WordPress] Visualizzare una mappa con i pin dei post tramite GPS? WordPress 4
S [Javascript] Creare mappa per ogni utente Javascript 5
felino [Google MyBusiness] Maker non presente durante l'esplorazione della mappa Social Media Marketing 3
F Aggiornare marker su mappa google con una funzione ajax richiamata al cambio di una select Ajax 2
I Salve, ho un probelma con una mappa d'immagini usata come sfondo HTML e CSS 3
L Array multidimensionale mappa browsergame PHP 1
L Overlapping marker mappa google Javascript 0
asevenx [HTML] Creare mappa interattiva con Illustrator HTML e CSS 5
P modificare mappa sito Javascript 0
P modificare mappa sito Javascript 0
E realizzare una mappa personale e responsive HTML e CSS 6
G Mappa Javascript Presentati al Forum 0
M Mappa all'interno del sito con ricerca delle filiali Javascript 8
L Problema Inserimento Azioni Su mappa vettoriale Javascript 0
M Mappa immagine...vi prego è urgente, devo farlo quanto prima HTML e CSS 5
F zoom jquery mappa jQuery 1
J Mappa che visualizza daove sei PHP 7
F mappa jquery con effetto hover + fancybox Javascript 1
L Problemi a interagire con la mappa sul mio sito jQuery 1
felino Plugin per Mappa del sito WordPress 5
G Scaricare kml da una mappa incorporata in un sito web HTML e CSS 5
U [javascript] visualizzare marker su mappa di google Javascript 10
J Mappa con dati da db PHP 0
S [risolto] Creare una mappa Google per ogni indirizzo Javascript 14
M Mappa immagine con elenco di link reciproci Javascript 0
P Popolare un Database da una mappa di google map PHP 7
P Mostrare punti interesse du una mappa di google maps Javascript 1
M Guida su come inserire la mappa di Goggle con Jumi Joomla 1
M Creare mappa immagine interattiva con dati forniti da database PHP 0
A creare una mappa del sito in frame HTML e CSS 0
unkus_nob marker dinamici in mappa google Javascript 3
M Mappa "interattiva" di isole per browsergame Javascript 7
emanuelevt mappa interattiva - problema jQuery 1
L Centri Media in Italia: mappa dei clienti (aggiornata) SEO e Posizionamento 9
V Mappa di Google su explorer funziona, su CHROME e FIREFOX NO! Javascript 1
A mappa del sito nascosta HTML e CSS 6
G creare mappa + legenda Webdesign e Grafica 13
voldemort Mappa con jQuery jQuery 0
M Gestione di una mappa PHP 3
E Visualizzare mappa al passaggio del mouse Javascript 2
L Mappa zoomabile "immagine" Javascript 9

Discussioni simili