Priveberichten
Maar wat doe ik nu verkeerd dat ik steeds 0 krijg?
- Aar - op 22/02/2011 11:47:48:
Leg uit Karl :-P
prepared statements met mysqli werken voor geen meter, soms blijft je verbinding 'vast' zitten, data komt niet terug zoals je verwacht, het is niet de standaard, je bent nog geen meter opgeschoten in OOP opzicht,
Verder is het onlogisch aangezien je nu alle berichten ophaalt die ongelezen zijn.
Wat denk je van
$query = "SELECT COUNT(id) AS aantal
FROM priveberichten
WHERE gelezen=0 AND ontvanger=".$userid;
Henke van der bunt op 22/02/2011 11:54:17:
Maar wat doe ik nu verkeerd dat ik steeds 0 krijg?
Geef je hele script een zoals je het nu hebt...
Php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$mysqli = new mysqli('');
if(mysqli_connect_errno())
{
trigger_error('Fout bij verbinding: '.$mysqli->error);
}
$sql = "SELECT * FROM priveberichten WHERE gelezen = 0";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if($Mysqli->affected_rows > 0)
{
//er zijn meer dan 0 ongelezen bericten
echo 'Priveberichten ('.$mysqli->affected_rows.')';
}
else
{
//er zijn geen ongelezen berichten
echo 'Priveberichten (0)';
}
?>
$mysqli = new mysqli('');
if(mysqli_connect_errno())
{
trigger_error('Fout bij verbinding: '.$mysqli->error);
}
$sql = "SELECT * FROM priveberichten WHERE gelezen = 0";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if($Mysqli->affected_rows > 0)
{
//er zijn meer dan 0 ongelezen bericten
echo 'Priveberichten ('.$mysqli->affected_rows.')';
}
else
{
//er zijn geen ongelezen berichten
echo 'Priveberichten (0)';
}
?>
@TJVB Snap ik wel, maar wou eigenlijk eerst dit eens werkend hebben.
Mvg
Gewijzigd op 22/02/2011 12:26:09 door Henke van der bunt
Probeer dit eens:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
//foutafhandeling
ini_set('display_errors', 'On');
error_reporting(E_ALL);
//verbinding maken
$db['host'] = 'localhost'; //host naam
$db['gebruikersnaam'] = 'root'; //gebruikersnaam
$db['wachtwoord'] = '******'; //wachtwoord
$db['database'] = '******'; //database naam
$Mysqli = new mysqli($db['host'], $db['gebruikersnaam'], $db['wachtwoord'], $db['database']);
if(mysqli_connect_errno())
{
echo 'Fout bij verbinding: '.$Mysqli->error;
}
$sql = "
SELECT
*
FROM
priveberichten
WHERE
gelezen = 0
";
if(!$result = $Mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if($Mysqli->affected_rows > 0)
{
//er zijn meer dan 0 ongelezen bericten
echo 'Priveberichten ('.$Mysqli->affected_rows.')';
}
else
{
//er zijn geen ongelezen berichten
echo 'Priveberichten (0)';
}
?>
//foutafhandeling
ini_set('display_errors', 'On');
error_reporting(E_ALL);
//verbinding maken
$db['host'] = 'localhost'; //host naam
$db['gebruikersnaam'] = 'root'; //gebruikersnaam
$db['wachtwoord'] = '******'; //wachtwoord
$db['database'] = '******'; //database naam
$Mysqli = new mysqli($db['host'], $db['gebruikersnaam'], $db['wachtwoord'], $db['database']);
if(mysqli_connect_errno())
{
echo 'Fout bij verbinding: '.$Mysqli->error;
}
$sql = "
SELECT
*
FROM
priveberichten
WHERE
gelezen = 0
";
if(!$result = $Mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if($Mysqli->affected_rows > 0)
{
//er zijn meer dan 0 ongelezen bericten
echo 'Priveberichten ('.$Mysqli->affected_rows.')';
}
else
{
//er zijn geen ongelezen berichten
echo 'Priveberichten (0)';
}
?>
En je MySQL tabel moet er dan ongeveer zo uit komen te zien:
Code (php)
1
2
3
4
5
2
3
4
5
id | user_id | onderwerp | bericht | gelezen |
---+---------+-----------+---------+---------+
1 | 202832 | test | hoi | 0 |
2 | 202432 | test2 | hallo | 0 |
---+---------+-----------+---------+---------+
---+---------+-----------+---------+---------+
1 | 202832 | test | hoi | 0 |
2 | 202432 | test2 | hallo | 0 |
---+---------+-----------+---------+---------+
Gewijzigd op 22/02/2011 12:35:56 door Bram Boos
Bedankt
Mijn menu zit in een echo ''
Kan ik dit script er dan bij in planten?
Toevoeging op 22/02/2011 12:48:29:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
echo '
<font size="2" color="red" face="Verdana"><strong>Gebruikerspaneel</strong></sount.></font><hr color="red" size="1">
Welkom <b>' . $leden->getName($leden->getId()) . '</b><br><br>
»<a href="index.php?page=addrapport"> Rapport toevoegen</a><br>
»<a href="#"> Mijn rapporten (13)</a><br>
»<a href="index.php?page=priveberichten">HIER DE CODE?</a><br />
»<a href="#"> Gebruiker zoeken</a><br>
»<a href="index.php?page=profiel&e"> Profiel wijzigen</a><br>
»<a href="index.php?page=wwaanpassen"> Wachtwoord wijzigen</a><br>
»<a href="index.php?page=uitloggen"> Uitloggen</a><br>
';
?>
echo '
<font size="2" color="red" face="Verdana"><strong>Gebruikerspaneel</strong></sount.></font><hr color="red" size="1">
Welkom <b>' . $leden->getName($leden->getId()) . '</b><br><br>
»<a href="index.php?page=addrapport"> Rapport toevoegen</a><br>
»<a href="#"> Mijn rapporten (13)</a><br>
»<a href="index.php?page=priveberichten">HIER DE CODE?</a><br />
»<a href="#"> Gebruiker zoeken</a><br>
»<a href="index.php?page=profiel&e"> Profiel wijzigen</a><br>
»<a href="index.php?page=wwaanpassen"> Wachtwoord wijzigen</a><br>
»<a href="index.php?page=uitloggen"> Uitloggen</a><br>
';
?>
Gewijzigd op 22/02/2011 12:48:53 door Henke van der bunt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
echo '
<font size="2" color="red" face="Verdana"><strong>Gebruikerspaneel</strong></sount.></font><hr color="red" size="1">
Welkom <b>' . $leden->getName($leden->getId()) . '</b><br><br>
»<a href="index.php?page=addrapport"> Rapport toevoegen</a><br>
»<a href="#"> Mijn rapporten (13)</a><br>
»<a href="index.php?page=priveberichten">Priveberichten ('.$Mysqli->affected_rows.')</a><br />
»<a href="#"> Gebruiker zoeken</a><br>
»<a href="index.php?page=profiel&e"> Profiel wijzigen</a><br>
»<a href="index.php?page=wwaanpassen"> Wachtwoord wijzigen</a><br>
»<a href="index.php?page=uitloggen"> Uitloggen</a><br>
';
?>
echo '
<font size="2" color="red" face="Verdana"><strong>Gebruikerspaneel</strong></sount.></font><hr color="red" size="1">
Welkom <b>' . $leden->getName($leden->getId()) . '</b><br><br>
»<a href="index.php?page=addrapport"> Rapport toevoegen</a><br>
»<a href="#"> Mijn rapporten (13)</a><br>
»<a href="index.php?page=priveberichten">Priveberichten ('.$Mysqli->affected_rows.')</a><br />
»<a href="#"> Gebruiker zoeken</a><br>
»<a href="index.php?page=profiel&e"> Profiel wijzigen</a><br>
»<a href="index.php?page=wwaanpassen"> Wachtwoord wijzigen</a><br>
»<a href="index.php?page=uitloggen"> Uitloggen</a><br>
';
?>
Alleen wil ik ergens anders uit nu ook nog zoiets.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
//foutafhandeling
ini_set('display_errors', 'On');
error_reporting(E_ALL);
//verbinding maken
$Mysqli = new mysqli($db['host'], $db['gebruikersnaam'], $db['wachtwoord'], $db['database']);
if(mysqli_connect_errno())
{
echo 'Fout bij verbinding: '.$Mysqli->error;
}
$sql = "
SELECT
*
FROM
rapporten
WHERE
ontvanger='" . $mysql->real_escape($leden->getId()) . "'
";
if(!$result = $Mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if($Mysqli->affected_rows > 0)
{
//er zijn meer dan 0 ongelezen bericten
echo 'Mijn Rapporten ('.$Mysqli->affected_rows.')';
}
else
{
//er zijn geen ongelezen berichten
echo 'Mijn Rapporten (0)';
}
?>
//foutafhandeling
ini_set('display_errors', 'On');
error_reporting(E_ALL);
//verbinding maken
$Mysqli = new mysqli($db['host'], $db['gebruikersnaam'], $db['wachtwoord'], $db['database']);
if(mysqli_connect_errno())
{
echo 'Fout bij verbinding: '.$Mysqli->error;
}
$sql = "
SELECT
*
FROM
rapporten
WHERE
ontvanger='" . $mysql->real_escape($leden->getId()) . "'
";
if(!$result = $Mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if($Mysqli->affected_rows > 0)
{
//er zijn meer dan 0 ongelezen bericten
echo 'Mijn Rapporten ('.$Mysqli->affected_rows.')';
}
else
{
//er zijn geen ongelezen berichten
echo 'Mijn Rapporten (0)';
}
?>
Maar als ik die ook in de index.php zet. dan werken ze tegen elkaar in?
Hoe kan ik dat anders doen?
Mvg
Gewijzigd op 22/02/2011 15:56:48 door Henke van der bunt