[GDRCD 5] Descrizioni specifiche per luoghi
[GDRCD 5] Descrizioni specifiche per luoghi postato il 16/10/2019 01:47:05 nel forum programmazione, open source e hosting
Buon giorno!!! avrei bisogno di un piccolo aiuto per un errore di pura ignoranza. Ho provato anche a documentarmi ma...non sono riuscita a comprendere molto T_T
Sto cercndo di creare un Tasto DESCRIZIONE, nel frame delle Chat, che se cliccato apre in modale la descrizione del Luogo in cui ci si trova.
Ho ripreso il codice degli On-Line e l'ho riadattato in modo che cliccando sul tasto, mi apre la pagina corrispondente
Problema:
- Il tasto "DESCRIZIONE" si moltiplica per ogni utente presente nelle sotto-mappe. Ho provato ad eliminare il ciclo "While", immaginando fosse quello il problema ma....se lo faccio, il tasto DESCRIZIONE non appare più.
COme posso risolvere?
PS: sicuramente l'errore è dato dall'ignoranza di come non sono riuscita a sistemare il codice avendo lasciato troppi IF logici.....
chiedo perdono e ringrazio anticipatamente!
[quote]
<?php
//--------------------------------------CODICE PER DESCRIZIONE LUOGO-----------------------------------------
//PRESO DIRETTAMENTE DAGLI ON-LINE
$query = "SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.id_razza, razza.sing_m, razza.sing_f, razza.icon, personaggio.disponibile, personaggio.online_status, personaggio.is_invisible, personaggio.ultima_mappa, personaggio.ultimo_luogo, personaggio.posizione, personaggio.ora_entrata, personaggio.ora_uscita, personaggio.ultimo_refresh, mappa.stanza_apparente, mappa.nome as luogo, mappa_click.nome as mappa FROM personaggio LEFT JOIN mappa ON personaggio.ultimo_luogo = mappa.id LEFT JOIN mappa_click ON personaggio.ultima_mappa = mappa_click.id_click LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE personaggio.ora_entrata > personaggio.ora_uscita AND DATE_ADD(personaggio.ultimo_refresh, INTERVAL 4 MINUTE) > NOW() ORDER BY personaggio.is_invisible, personaggio.ultima_mappa, personaggio.ultimo_luogo, personaggio.nome";
$result = gdrcd_query($query, 'result');
;
$ultimo_luogo_corrente='';
$mappa_corrente='';
while ($record = gdrcd_query($result, 'fetch'))
{
//Stampo il nome del luogo
if($record['is_invisible']==1)
{
$luogo_corrente = $MESSAGE['status_pg']['invisible'][1];
} else
{
if ($record['mappa']!=$mappa_corrente)
{
$mappa_corrente = $record['mappa'];
}//if
if (empty($record['stanza_apparente']))
{
$luogo_corrente = $record['luogo'];
} else
{
$luogo_corrente = $record['stanza_apparente'];
}//else
}
//Stampo il nome del luogo solo per il primo PG che vi e' posizionato
if (empty($luogo_corrente)===TRUE){
if ($ultimo_luogo_corrente!=$luogo_corrente){
$ultimo_luogo_corrente=$luogo_corrente;
} //if
} else if ($ultimo_luogo_corrente!=$luogo_corrente){
$ultimo_luogo_corrente=$luogo_corrente;
if ($record['is_invisible']==0){
if(($PARAMETERS['mode']['mapwise_links']=='OFF')){ #||
($record['ultima_mappa']==$_SESSION['mappa'])
?>
<div style="
position: relative; top: 460px; left: 460px;
">
<a href="javascript:parent.modalWindow('DESCRIZIONE', 'Descrizione del Luogo', '../popup.php?page=descrizioni_chat/<?php echo $record['ultimo_luogo']; ?>', '500', '500');">
<img src="https://lh3.googleusercontent.com/_LdJNAkfTDT-2h0ywd1J19zICRxtwLqg4C75r_pOnLSMlJ0_xcW000Z9EJX02bjOWkE" style="width: 50px"><br>
Descrizione
</a>
</div>
<?php
} else {
}
} else {
}//else
}//if
//Stampo il PG
}//while
//-------------------------------------------FINE CODICE------------------------------------------------------
?>
Pagine → 1
20/10/2019 12:40:08
Ciao! Guarda, se si ripete per ogni utente, è evidente che hai inserito il codice del tasto 'descrizione' dentro al ciclo while (ossia il ciclo che per ogni risultato della query, compie determinate azioni; in parole povere, per ogni player presente ne stampa il nome)
Inserendo il tuo codice in quella sezione, dentro al while, ad ogni giro di giostra stampa anche la tua descrizione.
Detto questo, se vuoi evitare che accada, porta fuori dal while la parte del bottone descrizione e non dovresti avere problemi
26/10/2019 14:52:02
avevo già proato ma...fuori dal "While" i valori
$ultimo_luogo_corrente='';
$mappa_corrente='';
vengono di nuovo resettati e quindi, mi rimane un botone che apre una finestra vuota
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
World of Warship ↗
Hero Wars ↗
New Orleans ↗