Message laten zien
Voor mijn zelfgemaakte criminal spel wil ik al ga je over met je muis over berichten dan zie je een stuk van javascript met daaronder je berichten zoiets als:
Berichtten:
Michel (5)
Mike (2)
enzovoort.
Ik had hier een script voor gemaakt maar dan staat elke naam er zoveel in als hoeveel berichten je hebt van deze persoon.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
function showberichtenmenu() {
$aantalmessage = checkaantalmessage();
echo "<a href=\"message.php\" onmouseover=\"Tip('Berichten van: ";
$sql = mysql_query("SELECT * FROM message WHERE `naar`='".datauser("naam")."' ORDER BY datum DESC");
while($rij = mysql_fetch_array($sql)) {
$query = mysql_query("SELECT * FROM message WHERE `naar`='".datauser("naam")."' AND `van` = '".$rij['van']."' ORDER BY datum DESC");
$tellen = mysql_num_rows($query);
echo ucfirst(strtolower($rij['van'])); echo "<b> ($tellen)</b><br/>";
}
echo "', TITLE, 'Berichten')\" onmouseout=\"UnTip()\" ><b>$aantalmessage</b></a>";
}
$aantalmessage = checkaantalmessage();
echo "<a href=\"message.php\" onmouseover=\"Tip('Berichten van: ";
$sql = mysql_query("SELECT * FROM message WHERE `naar`='".datauser("naam")."' ORDER BY datum DESC");
while($rij = mysql_fetch_array($sql)) {
$query = mysql_query("SELECT * FROM message WHERE `naar`='".datauser("naam")."' AND `van` = '".$rij['van']."' ORDER BY datum DESC");
$tellen = mysql_num_rows($query);
echo ucfirst(strtolower($rij['van'])); echo "<b> ($tellen)</b><br/>";
}
echo "', TITLE, 'Berichten')\" onmouseout=\"UnTip()\" ><b>$aantalmessage</b></a>";
}
Code (php)
1
2
3
4
5
2
3
4
5
function checkaantalmessage(){
$query = mysql_query("SELECT * FROM message WHERE `naar`='".datauser("naam")."' ");
$tellen = mysql_num_rows($query);
return $tellen;
}
$query = mysql_query("SELECT * FROM message WHERE `naar`='".datauser("naam")."' ");
$tellen = mysql_num_rows($query);
return $tellen;
}
Code (php)
1
<a href="message.php">Berichten</a> <b>(</b><?PHP echo showberichtenmenu(); ?><b>)</b><br/>
Ik denk dat dit wel voldoene infomatie is, weet een van julie waar dit aan kan liggen?
Mvg Michel
Gewijzigd op 01/01/1970 01:00:00 door Michel
Begin eerst maar met die backticks uit je query te halen.
GEEN * gebruiken voor alle veldennamen, maak een opsomming van de velden die je wilt hebben.
Zet bovenaan je code
Code (php)
1
2
3
4
2
3
4
<? voor de highlight ([i]a.u.b.[/i]).
Gebruik enkele quotes bij echo's, zodat je je HTML quotes niet hoeft te backslashen.
En je legt niet uit wat nou jouw probleem is!! Ik denk dat het probleem is dat jij dubbele namen erin hebt staan? Gebruik daarvoor GROUP BY!
Gebruik enkele quotes bij echo's, zodat je je HTML quotes niet hoeft te backslashen.
En je legt niet uit wat nou jouw probleem is!! Ik denk dat het probleem is dat jij dubbele namen erin hebt staan? Gebruik daarvoor GROUP BY!
Wat bedoelt u met de backticks? de `van` ?
En geen *? Moet ik dan bijvoorbeeld id gebruiken?
Dat zal ik voortaan gebruiken bij dit forum.
En wat bedoelt u met quotes bij echo's?
Ik ben nog niet zo lang bezig met php maar ik krijg wel alles werkend, maar hier kan ik wel weer van leren.
Gewijzigd op 01/01/1970 01:00:00 door michel
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function showberichtenmenu()
{
echo '<a href="message.php" onmouseover="Tip(\'Berichten van: ';
$qMessages = mysql_query("SELECT id, van FROM message WHERE naar='".datauser("naam")."' ORDER BY datum DESC");
while($qMes = mysql_fetch_array($qMessages))
{
$qCountTotalMessages = mysql_num_rows(mysql_query("SELECT id FROM message WHERE naar='".datauser("naam")."' AND van='".$rij['van']."' ORDER BY datum DESC"));
echo ucfirst(strtolower($qMes['van'])).' <b>('.$qCountTotalMessages.')</b><br/>';
}
echo '\', TITLE, \'Berichten\')" onmouseout="UnTip()" ><b>'.checkaantalmessage().'</b></a>';
}[/code]
Maar waarom doe je dit in een functie? :)
function showberichtenmenu()
{
echo '<a href="message.php" onmouseover="Tip(\'Berichten van: ';
$qMessages = mysql_query("SELECT id, van FROM message WHERE naar='".datauser("naam")."' ORDER BY datum DESC");
while($qMes = mysql_fetch_array($qMessages))
{
$qCountTotalMessages = mysql_num_rows(mysql_query("SELECT id FROM message WHERE naar='".datauser("naam")."' AND van='".$rij['van']."' ORDER BY datum DESC"));
echo ucfirst(strtolower($qMes['van'])).' <b>('.$qCountTotalMessages.')</b><br/>';
}
echo '\', TITLE, \'Berichten\')" onmouseout="UnTip()" ><b>'.checkaantalmessage().'</b></a>';
}[/code]
Maar waarom doe je dit in een functie? :)
En het doet toch hetzelfde waarom zou jij het dan zo doen?
En is het * vervangen door wat je nodig heb sneller of veiliger?
Gewijzigd op 01/01/1970 01:00:00 door michel
Het kan best wezen dat je naw_gegevens tabel (in dit voorbeeld dan) medere gegevens bevat. Maar jij wilt alleen (in dit voorbeeld) naam, achternaam en woonplaats selecteren met de SQL query.
Als je * gebruik, betekent dat dat je alles wilt selecteren van de tabel, en dat is niet nodig.
Ja dat begreep ik. Maar om het zo te gebruiken word het dan sneller of veiliger?
Kijk, nu leer ik ook weer ff wat bij :D Thanks to Dannis :D
Ik moet dan wel al mijn scripts gaan aanpassen tot nu toe maar ja.
ruliezz schreef op 16.04.2009 11:34:
Dennis. :(Kijk, nu leer ik ook weer ff wat bij :D Thanks to Dannis :D
michel schreef op 16.04.2009 11:34:
Alles op zen tijd. Als je het tegen komt even veranderen. Ik zou er niet op gaan hunten.Ok dan zal ik dat voortaan gaan gebruiken.
Ik moet dan wel al mijn scripts gaan aanpassen tot nu toe maar ja.
Ik moet dan wel al mijn scripts gaan aanpassen tot nu toe maar ja.
Gewoon vanaf nu standaard aanleren.
Gewijzigd op 01/01/1970 01:00:00 door Dennis Mertens
Dennis Mertens schreef op 16.04.2009 11:34:
ruliezz schreef op 16.04.2009 11:34:
Dennis. :(Kijk, nu leer ik ook weer ff wat bij :D Thanks to Dannis :D
Sorry, even niet goed gekeken denk ik :)
met DISTINCT