Avatar billede buow Nybegynder
09. januar 2006 - 16:39 Der er 17 kommentarer

Har en textbox hvor det nyeste man skriver skal være i toppen ik

Hejsa.. har lavet en textbox til min chat.. men det nyeste man skriver er i bunden... hva skal jeg ændre før det jeg lige har skrevet kommer i toppen..

php kode:

<?
include("../mongolen/mysql/sql.php");
session_start();
$i=0;
$select_users = mysql_query("SELECT * FROM chat WHERE(rum!='$rum')");
while($row_users = mysql_fetch_array($select_users)) {
if($i%2==0) {
$output .= "<tr>";
}
$output .= "<td width=\"30%\" style=\"color:#677290\">$row_users[fra]</td><td style=\"color:#677290\"><nobr>$row_users[mes]<br>";

if($i%2==0) {
$output .= "<tr>";
}


if($i%2==1) {
$output .= "<tr>";
}
$i++;
}
print "<script>parent.document.all['boxtekst'].innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0>$output<tr><td colspan=7 align=\"center\" style=\"font-weight:bold;color:#677290\"></td></tr></table>';</script>";

?>
Avatar billede jackass- Nybegynder
09. januar 2006 - 16:44 #1
Smid DESC i slutningen af din sql sætning
Avatar billede kenneth_1975 Nybegynder
09. januar 2006 - 16:49 #2
Ved ikke om dette hjælper, jeg har ikke så meget forstand på SQL, men jeg ved SQL har en metode der hedder ORDER BY attribut ASC eller DESC


(ASC = står for ASCENDING) eller (DESC = står for DESCENDING)
Avatar billede rednex Nybegynder
09. januar 2006 - 16:49 #3
Du kan gøre det på 2 måder. Enten kan du hente beskederne ud af databasen i omvendt rækkefølge:

$select_users = mysql_query("SELECT * FROM chat WHERE(rum!='$rum') ORDER BY id DESC");

Ellers kan du ændre

$output .= "<td width=\"30%\" style=\"color:#677290\">$row_users[fra]</td><td style=\"color:#677290\"><nobr>$row_users[mes]<br>";

til

$output = "<td width=\"30%\" style=\"color:#677290\">$row_users[fra]</td><td style=\"color:#677290\"><nobr>$row_users[mes]<br>" . $output;

Og så lige en anden betragtning. Det ser ud som om at du ender med at have flere <tr> og <td> tags end du har tilsvarende sluttags (hhv. </tr> og </td>).
Avatar billede buow Nybegynder
09. januar 2006 - 16:55 #4
rednex tak den virker.. men hvorfor opdaterer den så heller ik ?
Avatar billede buow Nybegynder
09. januar 2006 - 16:57 #5
ahr skrevet
<meta http-equiv="refresh" content="1;url=test.php">
men den virker ik
Avatar billede buow Nybegynder
09. januar 2006 - 17:08 #6
nu kan man se hva folk skriver i hver eneste rum i alle rumne :S
Avatar billede rednex Nybegynder
09. januar 2006 - 17:08 #7
Det kan være at 1 sekund er lige i underkanten. Prøv at sætte den til 5 eller 10 sekunder.
Avatar billede rednex Nybegynder
09. januar 2006 - 17:09 #8
Hehe, du skal nok lige rette WHERE(rum!='$rum') til WHERE(rum='$rum') i SQL'en :o)
Avatar billede buow Nybegynder
09. januar 2006 - 17:14 #9
det var bare fordi.. før da jeg ik havde sat ORDER BY id DESC ind kunne man kun se det folk skrev i det rum man var i :P
men efter kan man se hva alle folk skriver i alle rumne i alle rum :P
Avatar billede rednex Nybegynder
09. januar 2006 - 17:17 #10
Nope, ORDER BY ændrer ikke på resultatet af din query. Den sørger bare for at sortere dem i en bestemt rækkefølge. Og med den originale SQL burde den også kun vise hvad folk skrev i alle andre rum end det du befandt dig i.

Fik du refresh til at virke?
Avatar billede buow Nybegynder
09. januar 2006 - 17:20 #11
CREATE TABLE `chat` (
  `id` int(4) NOT NULL auto_increment,
  `mes` text NOT NULL,
  `rum` int(3) NOT NULL default '0',
  `vaerelse` int(1) NOT NULL default '0',
  `fra` varchar(12) NOT NULL default '',
  `til` varchar(12) NOT NULL default '',
  `time` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  FULLTEXT KEY `mes` (`mes`),
  FULLTEXT KEY `mes_2` (`mes`)
) TYPE=MyISAM AUTO_INCREMENT=98 ;

sådan er min sql :P
Avatar billede buow Nybegynder
09. januar 2006 - 17:21 #12
nej den virker stadig ikke :D
Avatar billede buow Nybegynder
09. januar 2006 - 17:22 #13
forstår bare ik.. sidder med 2 brugere online den ene i det ene rum og den anden i et andet rum og når jeg skriver noget i det ene viser den det i det andet os :P
Avatar billede emileej Nybegynder
09. januar 2006 - 17:25 #14
Lyder somom du har en fejl et andet sted i dit system. Du har i hvert fald fået svar på dit spørgsmål.
Avatar billede rednex Nybegynder
09. januar 2006 - 17:30 #15
OK, 2 ting:

1: Feltet rum er et tal (int) i databasen, så der skal ikke være ' om $rum i SQL'en.

2: Hvor får du variablen $rum fra? Så vidt jeg kan se vil den altid være tom, og det er derfor det ikke virker som det skal.
Avatar billede buow Nybegynder
09. januar 2006 - 18:32 #16
det ved jeg ikke :d er ik god til php hehe
Avatar billede rednex Nybegynder
09. januar 2006 - 19:44 #17
Ja, så kommer vi det jo nok ikke meget nærmere :o)
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