Avatar billede nicholas- Nybegynder
25. november 2004 - 14:25 Der er 10 kommentarer og
2 løsninger

Brevsystem - ulæste breve

Hejsa
Jeg har lavet et lille brevsystem.
Man kan sende breve her
http://www.outlundish.dk/phpscripts/breve/send.html
og så læse sine breve her
http://www.outlundish.dk/phpscripts/breve/vis.php?til=nicholas-

Hvordan får jeg så lavet, at de ulæste breve bliver markeret med fed.
Jeg har oprettet et felt i databasen der hedder laest, men hvordan jeg opdaterer det felt, og får det hentet ned igen ved jeg ikke lige.
Nogen der ved?
Avatar billede thb Nybegynder
25. november 2004 - 14:30 #1
Dit felt skal være en boolean, altså et felt med værdi true eller false, og så kan du lave:

$laest = ($row['laest']) ? "font-weight:bold;" : "";

og så på din tr:

<tr style="<?=$laest?>">

Noget i den stil... Har ikke lige testet.. :D

Thomas
Avatar billede schaefner Juniormester
25. november 2004 - 14:32 #2
Når du opretter en ny post i tabellen i databasen sætter du laest til 0;

På oversigten kan du så lave noget ligende:

while ($data = mysql_fetch_array($result)) {
  if ($data['laest'] == 1) {
    // Skriv med fed;
  } else {
    // Skiv ikke med fed
  }
}

Så på visalt.php laver du noget lignende:

<?php
mysql_query("UPDATE tblName SET laes=1 WHERE id=".$_GET['id']."") or die(mysql_error());
?>
Avatar billede thb Nybegynder
25. november 2004 - 14:40 #3
Bygger lige lidt videre på schaefners indlæg.. Håber at det er okay :D

<?
while($data = mysql_fetch_assoc($result)){
  $laest = ($data['laest']==0) ? " style='font-weight:bold;'" : "";
  print("
  <tr".$laest.">
    <td>Franavn</td>
    <td>et emne</td>
    <td>En dato</td>
  </tr>
  ");
}
?>

Og så som schaefner skrive så sætter du:
<?
mysql_query("UPDATE tblName SET laes=1 WHERE id=".$_GET['id']."") or die(mysql_error());
?>
ind i der hvor folk læse brevet..

Thomas
Avatar billede nicholas- Nybegynder
25. november 2004 - 14:56 #4
Kan ikke lige få det til at du..
koden er sådan her:

$query = mysql_query("SELECT id, fra, til, emne, dato FROM $tb WHERE til='$_GET[til]' ORDER BY dato desc");
while ($breve = mysql_fetch_array($query)) {

    $fra = $breve[fra];
    $emne = $breve['emne'];
    $se = "<a target=\"stor\" href=\"visalt.php?id=$breve[id]\">$emne</a>"; 
    $dato = $breve['dato'];
   
    $dato = $breve['dato'];
    ?>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="29">   
    <tr>
   
        <td width="328"> <? print "$fra";  ?>    </td>
        <td width="329"> <? print "$se"; ?>        </td>
        <td width="329"> <? print "$dato"; ?>    </td>
       
    </tr>   
</table>
    <?
   
    }
   
    ?>
Avatar billede schaefner Juniormester
25. november 2004 - 14:59 #5
$query = mysql_query("SELECT id, fra, til, emne, dato, laest FROM $tb WHERE til='$_GET[til]' ORDER BY dato desc");
while ($breve = mysql_fetch_array($query)) {

    $fra = $breve['fra'];
    $emne = $breve['emne'];
    if ($breve['laest'] == 1) {
      $se = "<b><a target=\"stor\" href=\"visalt.php?id=$breve[id]\">$emne</a></b>";
    } else {
      $se = "<a target=\"stor\" href=\"visalt.php?id=$breve[id]\">$emne</a>";
    }
    $dato = $breve['dato'];
 
    $dato = $breve['dato'];
    ?>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="29"> 
    <tr>
 
        <td width="328"> <? print "$fra";  ?>    </td>
        <td width="329"> <? print "$se"; ?>        </td>
        <td width="329"> <? print "$dato"; ?>    </td>
     
    </tr> 
</table>
    <?
 
    }
 
    ?>
Avatar billede nicholas- Nybegynder
25. november 2004 - 15:07 #6
perfekt! tak for det;) i skal nok begge have point..

har ligeet spørgsmål til. Har lige sat

<?
session_start();
?>
<?
if ($_SESSION['brugerlogin'] != $_GET[til])  {
header('location: ../adgang.html');
}
?>

Er det sikkert, eller er der noget der er sikre?
Avatar billede schaefner Juniormester
25. november 2004 - 15:17 #7
Jooh, det burde virke.

Men hvorfor ikke bare gøre det direkte i din sql-forespørgsel. Løst eksempel:

"SELECT * FROM $tb WHERE til = '".$_SESSION['brugerlogin']."'"

Så behøver du ikke sende navnet med i adressen.

Går jo så udfra at $_SESSION['brugerlogin'] indeholder navnet :)

Med venlig hilsen
Jesper Sørensen
Avatar billede nicholas- Nybegynder
26. november 2004 - 22:23 #8
skal thb ikke have point?
Avatar billede thb Nybegynder
26. november 2004 - 22:29 #9
Jo, det kan jeg da godt.. :D

Thomas
Avatar billede nicholas- Nybegynder
27. november 2004 - 20:28 #10
så læg lige et svar;)
Avatar billede thb Nybegynder
28. november 2004 - 03:14 #11
Hovsa... hehe... :D

Thomas
Avatar billede nicholas- Nybegynder
30. november 2004 - 21:29 #12
Tak for hjælpen;)
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