Meerdere berichten maar 1 laten zien

Status
Niet open voor verdere reacties.

gebruiker78

Gebruiker
Lid geworden
29 jun 2010
Berichten
428
Hallo ik heb nu deze code:
PHP:
$query = mysql_query("SELECT dbfrom,message,dbdate,dbread FROM dbtext WHERE dbto='" . mysql_real_escape_string( $id ) . "' ORDER BY dbdate DESC");
Werkt mooi, maar nou zou ik willen dat al er bijvoorbeeld (dbfrom) 2x een bericht van pietje komt dat hij dan alleen het laatste bericht van pietje laat zien.
dbfrom message date
pietje 'hoi' 01
pietje 'doei' 02

dat hij dan alleen de laatste laat zien pietje 'doei' 02, want (dit weet ik wel zelf te doen) dan later klik op op ''doei' en dan laat hij wel alle berichten zien. maar eerst wil ik dat hij maar 1 bericht laat zien.

weet iemand hoe dit moet?


misschien iets duidelijker:
je kent wel van je mobiel, je klikt op het laatste bericht van je vriend en dan zie je alle berichten die jij naar hem maar ook die hij naar jouw heeft gestuurd. dat wil ik ook maar snap niet hoe je eerst maar 1 limiteerd van dezelfde
 
Wat jij wilt zijn twee pagina's(om het simpel te houden)
de eerste pagina is wat je nu hebt, het laatste bericht van een persoon.
Met de link stuur je de id mee en daar laat je met een while of foreach loop de resultaten uit de array halen.
En echo je ze naar het scherm.
Lijkt me niet zo moeilijk of ik begrijp je vraag verkeerd!
 
Je hebt vast ergens een kolom die aangeeft welk bericht onderaan komt (en anders gebruik je ID ofzo, maar das eigenlijk niet zo netjes)

Wat je kunt doen is een order by toevoegen op die kolom, zodat alle berichten geselecteerd worden in omgekeerde volgorde (dus de laatste bovenaan) en dan met limit maar 1 bericht ophalen (de nieuwste)

Dus iets van:

[sql]
SELECT bericht
FROM tabel
WHERE user = 'jantje'
ORDER BY bericht_id DESC
LIMIT 1
[/sql]
 
*edit nog misschien wat duidelijker,
ik heb het liever goed en dan pas mooi (dus let daar niet op)
maar ik wil het dus zo hebben maar dat ik dan alleen het laatste bericht zie en dat ik die met een X ervoor dus niet zie alleen die laatste met een - ervoor. en dat als ik er op klik (wat ik op de foto heb gedaan) dat ik dan alle berichte zie.
http://imageshack.us/photo/my-images/812/testdasd.png/







nah, kijk dit is de hele code:
PHP:
<div id='textmessage'>
<?php // message
if($_SERVER['REQUEST_METHOD']=='GET' and isset($_GET['u'])){
include("../security/dbconnect.php");
$user = $_GET['u'];
$query = mysql_query("SELECT id FROM users WHERE easyname='" . mysql_real_escape_string( $user ) . "'");
$count = mysql_num_rows($query);
if($count!=0){
while($row1 = mysql_fetch_array($query)){
$ido = $row1['id'];
}
include("../security/dbconnecta.php");
$query = mysql_query("SELECT dbfrom,dbto,message,dbdate,dbread FROM dbtext WHERE dbfrom='" . mysql_real_escape_string( $ido ) . "' AND dbto='" . mysql_real_escape_string( $id ) . "' OR dbto='" . mysql_real_escape_string( $ido ) . "' AND dbfrom='" . mysql_real_escape_string( $id ) . "' ORDER BY dbdate DESC");
while($row1 = mysql_fetch_array($query)){
$from = $row1['dbfrom'];
$message = $row1['message'];
$date = $row1['dbdate'];
?>
<span <?php if($from==$id){ echo 'style="float:right;color: red;"'; } ?>><span style="font-size:0.6em;"><?php echo substr($date, 5, 11); echo ':';?></span>
<?php echo $message;?></span><br />
<?php 
}
}
else{
die("");
}
}
?>
</div>



<div id="text">
<table>
<?php
include("../security/dbconnecta.php");
$query = mysql_query("SELECT dbto FROM dbtext WHERE dbto='" . mysql_real_escape_string( $id ) . "'");
$count = mysql_num_rows($query);
   if($count!=0){
   $query = mysql_query("SELECT dbfrom,message,dbdate,dbread FROM dbtext WHERE dbto='" . mysql_real_escape_string( $id ) . "' ORDER BY dbdate DESC");
   while($row1 = mysql_fetch_array($query)){
   $data[] = $row1;
   foreach ($data as $row1);
   $from = $row1['dbfrom'];
   $message = $row1['message'];
   $date = $row1['dbdate'];
   $read = $row1['dbread'];
   include("../security/dbconnect.php");
   $query2 = mysql_query("SELECT easyname FROM users WHERE id='" . mysql_real_escape_string( $from ) . "'");
   while($row2 = mysql_fetch_array($query2)){
   $data[] = $row2;
   foreach ($data as $row2);
   $easynameo = $row2['easyname']; ?>
<tr>
<td><a href='profileothers.php?n=<?php echo $easynameo ?>'><?php if(strlen($easynameo)>9){echo substr($easynameo, 0, 9);} else{ echo $easynameo; } ?></a></td><td><?php if($read==0){ ?> <b> <?php } ?><a href='text.php?u=<?php echo $easynameo; ?>'><?php if(strlen($message)>18){echo substr($message, 0, 18); echo '...';} else{ echo $message; } ?></a></td><td><?php if(strlen($date)>10){ echo substr($date, 5, 11);} ?></td>
</tr>
<?php }}} ?>
</table>
</div>

maar dat stukje in die div (onderste stuk code) laat dan niet de berichten die je naar diegene hebt gestuurd zien maar wel alle die je hebt ontvangen en dat wil ik dus niet.
ik wil niet bericht ontvangen van pietje,pietje,pietje maar 1x pietje en dat als ik daar op klik dan alle berichten laat zien (wat dus met het bovenste stukje code gebeurt)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan