Avatar billede dennism Nybegynder
09. april 2003 - 16:43 Der er 1 løsning

PHP, mySQL og JavaScript

Jeg har siddet og arbejdet på en chat, som jeg har lavet udfra det chat-scipt olebole har lavet:
http://tjenester.dk/x-codes.dk/eksperten/chat/

Jeg har søgt hjælp hos OleBole selv, men han har endnu ikke svaret på min mail.

I chat.php har olebole denne kode, som printer teksten til dokumentet:


***********************************************************************************
<script type="text/JavaScript">
var a = new Array();

<?
if ($num_rows>0) {
    while ( $row=mysql_fetch_array($res) ) {
        $arr_str .= "a[a.length] = \"".stripslashes($row["user"])."\";\n";
        $arr_str .= "a[a.length] = \"".date( "h:i:s", $row["stamp"] )."\";\n";
        $arr_str .= "a[a.length] = \"".stripslashes($row["msg"])."\";\n";
        $s = $row["stamp"];
    }
       
    print $arr_str;
}
?>

parent.writeChat( a );
setTimeout( "location.href='chat.php?s=<?=$s?>'", 5000 );
</script>

***********************************************************************************

Mit problem er nu, at jeg gerne vil have printet denne tekst på en anden måde, nemlig noget ala dette:


***********************************************************************************
echo"<table cellspacing=0 border=0 cellpadding=0 style=\"width: 100%; height: 15px;\">
<tr>
<td style=\"vertical-align:top;\"><B>";

if ($row[til] == "test") {
echo"Privat&nbsp;fra";
} elseif (!empty($row[til]) && ($row[fra] == "test")) {
echo"Privat&nbsp;til";
} else {
echo"Fra";
}

echo"&nbsp;$row[fra]&nbsp;($date):&nbsp;</B></td>
<td style=\"vertical-align:top; text-align:left; width:100%;\">$row[tekst]</td>
</tr>
</table>";

***********************************************************************************

Jeg henter data fra tabelen på denne måde:

***********************************************************************************
$result = mysql_query("SELECT fra, til, tekst, stamp FROM chat WHERE (til = '' || til = 'test' || fra = 'test') && stamp>'$_GET[stamp_to]' ORDER BY stamp DESC") or die (mysql_error());

***********************************************************************************

Men hvordan skal JavaScriptetet se ud, for at beskederne bliver vist på denne måde?

Måske skal der også ændres noget i funktionen writeChat i index.php:

***********************************************************************************
<script type="text/JavaScript">
var maxNumMsgs = <?=$maxNumMsgs?>;
var hiCol = "<?=$hiCol?>";
var loCol = "<?=$loCol?>";
var d=document;
function gE(id){return d.getElementById(id)}
function gA(o,tN){return o.getElementsByTagName(tN)}
function writeChat( a ) {
    var tbl = gE("chat");
    for (i=0; i<a.length; i+=3) {
        var bgCol = ( gA(tbl, "TR")[0].style.backgroundColor=="#ffffff" )? loCol : hiCol;
        var newRow = tbl.insertRow(0);
        var newCell = newRow.insertCell(0);
        newCell.innerHTML = "<b>" + a[i] + "</b><div class=\"time\">[" + a[i+1] + "]</div>";
        newCell.className = "u";
        var newCell = newRow.insertCell(1);
        newCell.innerHTML = a[i+2];
        newCell.className = "m";
        newRow.style.backgroundColor = bgCol;
    }
    var numMsgs = gA(tbl, "TR").length;
    while ( numMsgs>maxNumMsgs ) {
        tbl.deleteRow(numMsgs-1);
        numMsgs--;
    }
}
window.onunload = function() {
    window.open( "logout.php", "logOutWin", "width=100,height=100" );
}
</script>
***********************************************************************************

Jeg håber at en eller anden vil hjælpe mig, da jeg virkelig er gået fast, fordi jeg ikke kan finde ud af at få det til at virke.
Spørg endelig hvis jeg har formuleret mig dårligt, og i derfor ikke forstår hvad mit problem er.

På forhånd tak for hjælpen.
Avatar billede dennism Nybegynder
15. april 2003 - 13:33 #1
.lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester