colore master in lista presenti postato il 17/01/2008 20:10:17 nel forum programmazione, gdrcd e open source
Dunque come da titolo, vorrei che nella mia lista presenti i master avessero il nome di un colore diverso.....sono andato su lista2.php ed ho aggiunto il seguente codice(in grassetto):
<? session_start();
include ("inc/parametri.inc.php");
include ("inc/controllo.php");
include ("inc/open2.php");
include ('inc/header.html.inc.php');
?>
<title>Lista Personaggi</title>
</head>
<body style="background-image: url(img/presenti2.jpg); background-attachment: fixed;">
<div id="Layer1" style="position:absolute; left:36px; width:456px; height:307px; z-index:1; visibility: visible; overflow: auto; top: 112px;">
<div align="center">
<p><br>
<center>
<?
$cont = 0;
if ($_GET['Mod'] == '1') {
$Cond = " RIGHT JOIN Gilda ON Gilda.IDGilda = Presenti.IDGilda AND (Gilda.Prigione=1 OR Gilda.Esilio=1) ";
$TitoloPresenti = $par_ModeratorsName;
} else {
$Cond = "";
$TitoloPresenti = "personaggi";
}
$MySql = "SELECT count(Nome) AS Numero FROM Presenti $Cond WHERE OraUscita = '2037-12-31 00:00:00'";
echo "<!--$MySql-->";
$Result = mysql_query($MySql);
$rs = mysql_fetch_array($Result);
$cont = $rs["Numero"];
$rs->close;
mysql_free_result($Result); ?>
<center>
<font class=titolo><font color="gold">Elenco:
<?= $cont ?>
<?= htmlspecialchars($TitoloPresenti) ?>
presenti
</font><br>
<a href="" onClick="window.open('lista.php','ext2','toolbar=0, location=0, directories=0, statusbar=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0, width=500, height=645');return(false)"><b><font color="gold">Ordina per nome</font></b></a>
| <a href="" onClick="window.open('lista3.php','ext2','toolbar=0, location=0, directories=0, statusbar=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0, width=500, height=645');return(false)"><b><font color="gold">Solo master</font></b></a></p>
<p><br>
</p>
</div>
<div align=center>
<table width="100%" border=0 bordercolor=gold cellpadding=1 cellspacing=0>
<?
$MySql = "SELECT Presenti.* From Presenti $Cond WHERE OraUscita = '2037-12-31 00:00:00' ORDER BY Is_Invisibile, Mappa, StanzaApparente, Nome";
$Result = mysql_query($MySql);
$OldNomeLuogo = "";
while ($rs = mysql_fetch_array($Result)) {
$Stanza1 = 0 + $rs["StanzaApparente"];
if (($Stanza1 > 0) && ($Stanza1 != "")) {
if ($rs['Is_Invisibile'] == 1) {
$NomeLuogo = "Invisibile";
} else {
$MySql = "SELECT Breve FROM Mappa WHERE ID = ".$Stanza1;
$Result1 = mysql_query($MySql);
if ($rsA = mysql_fetch_array($Result1)) {
$NomeLuogo = $rsA["Breve"];
} else {
$NomeLuogo = "";
}
$rsA->close;
mysql_free_result($Result1);
}
};
$pg = trim($rs["Nome"]);
# If (strstr($rs["Stanza"], "albergo") != false) {$NomeLuogo = "Albergo";};
If ($Stanza1 == 0) {$NomeLuogo = "In Giro";};
$MappaCorrente=$rs['Mappa'];
If ($Stanza1 == 1) {$MappaCorrente = "Mappe";};
if ($NomeLuogo != $OldNomeLuogo) {
echo "</table><table border=0 bordercolor=gold cellpadding=1 cellspacing=0 width=400>";
echo "<tr><td width=200 valign=top align=left><b><font color=white>".htmlspecialchars($NomeLuogo)." (".$MappaCorrente.")</font></b></td>";
} else {
echo "<tr><td width=200></td>";
};
$OldNomeLuogo = $NomeLuogo;
$Img = trim($rs["ImgGilda"]);
if ($Img == "") {$Img = "viandante2.gif";};
echo "<td align=left>";
echo "<a href=""onClick="window.open('scheda.php?pg=".urlencode($pg)."','ext1','toolbar=0, location=0, directories=0, statusbar=0, status=0, scrollbars=1, resizable=0, copyhistory=0, menuBar=0, width=800, height=600');return(false)">";
echo "<img border=0 src="img/testamini".strtolower($rs["Sesso"]).".gif"> ";
echo "<img border=0 src="img/stemmi/".$Img."" height=20 width=20> ";
if ($rs["Master"] ==1) { echo "<font color=red>".htmlspecialchars($pg)."</font>";}
if ($rs["Master"] ==0) {echo htmlspecialchars($pg);}
echo "</a>";
echo "</td></tr>
";
}
$rs->close;
mysql_free_result($Result);
?></table></div></div>
Il problema è che cosi tutti i pg hanno comunque la scritta nera. Se invece metto un solo uguale invece che due, succede il contrario, ovvero che tutti i pg hanno il nome rosso.
Ho controllato anche sul db se fosse assegnato il valore esatto, ed io ho master1 quindi mi conferma che sono master. Non so cosa cè che non vada!
Pagine → 1
17/01/2008 20:43:53
Premettendo che io non conosco gdr-cd e potrei dire una castroneria:
ma sei sicuro che nella tabella "presenti" ci sia la colonna "Master".
Tu vuoi estrarre la chiave "Master" dall'array $rs che risponde alla query di selezione presenti.
A mio modo di vedere le cose non è tanto sensato risalvare nella tabella presenti l'accesso amministrativo del master. Non credo quindi che quella colonna la trovi nella tabella da te scelta. Potrei anche sbagliarmi però :)
17/01/2008 20:46:55 e modificato da raistlins87 il 17/01/2008 20:49:05
$OldNomeLuogo = $NomeLuogo;
$Img = trim($rs["ImgGilda"]);
if ($Img == "") {$Img = "spacer.gif";};
echo "<td align=left>";
echo "<a href='scheda.php?pg=".urlencode($pg)."' target='palestra'>";
echo "<img border=0 src="img/testamini".strtolower($rs["Sesso"]).".gif"> ";
echo "<img border=0 src="img/stemmi/".$Img.""> ";
}
switch ($rs["Master"]) {
case 0:
echo htmlspecialchars($pg);
break;
case 1:
echo '<font color="red">'.htmlspecialchars($pg).'</font>';
break;
}
$rs->close;
mysql_free_result($Result);
?></a>
</td></tr></table></div><br><br>
dunque cosi funziona, almeno un po....cioè io che sono il gestore ho la scritta rossa, mentre i pg normali hanno la scritta nera, quindi tutto ok. Però anche gli altri master dovrebbero aver eil nome in rosso, e invece lo hanno nero come i pg semplici.
Cmq grazie dell'aiuto^_^
17/01/2008 20:55:09
buahahah
Allora era giusto come lo avevo scritto?
Io pensavo de avè detto na cavolata e l'ho pure cancellato..
Però è probabile che lo sia comunque visto che ti da quell'errore😎
asd
17/01/2008 21:47:38
Ripeto che non conosco gdr-cd, ma mi sembra tutto un po' buttato la... scusa, ma a che serve una tabella presenti?
Viene copiata li la variabile master (e sei sicuro che determini se uno è master e non gestore)?
Non sarebbe tutto più semplice con delle inner join?
Una tabella presenti è solo una ridondanza nel database, basterebbe una colonna nella tabella dei personaggi per identificare lo stato di un utente.
17/01/2008 23:14:04
Beh quello che ti suggerirei...
è mettere non il colore scritta, bensì un simbolino di fianco al nome
che indichi se sia master corporazione, master fato e quant'altro...
altrimenti col cambio colore penso possa dar fastidio agli occhi ^.^
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
mirmidone ha risposto alla discussione: Una land con forti elementi d'ispirazione di Dragonero?