text uit database weergeven
sorry mensen ik kom er maar niet uit.
ik wil berichten uit de database halen en deze op een andere pagina weergeven.
Ik wil dus berichten uit de database halen van phpbb3010.
dit heb ik zover, maar ergens doe ik het verkeerd.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo 'naam: '.$row['post_text'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
?>
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo 'naam: '.$row['post_text'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
?>
de uiteindelijke bedoeling is dat de berichten worden weergegeven op een aparte pagina.
vb:
gepost door [usernaam]
bericht: hier het bericht.
echter ik blijf deze melding krijgen, niets meer en niets minder.
Code (php)
1
2
2
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/vhosts/xxxxxx.nl/httpdocs/voorkant/tellers/page2.php on line 8
Geen data gevonden
Geen data gevonden
Gewijzigd op 26/05/2012 14:20:06 door Danny A-noniem
Haal die ,$link er eens uit
Php knipper op 26/05/2012 14:25:38:
en wat zit er in $link ?
Haal die ,$link er eens uit
Haal die ,$link er eens uit
en daar zit de fout!
tnx
oke krijg nu hele lappen text haha
is er een manier om deze ook op te splitsen?
zodat het netjes geplaatst word? bv een max van 400 tyekens en dan enteren? (als voorbeld)
als ik de formule ken, kan ik de rest hopelijk zelf wel uitvissen.
hierbij nogmaals de (GOEDE) code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo 'naam: '.$row['post_text'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
?>
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo 'naam: '.$row['post_text'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
?>
Gewijzigd op 26/05/2012 14:35:51 door Danny A-noniem
ander's kan je beter werken met een titel en een id om ze dan weer op te halen
zoiets als http://www.oldtimerbeurs-hoogstraten.be/home.php ( bij nieuws )
Gewijzigd op 26/05/2012 14:43:06 door php knipper
Door aan het eind van je query dit te doen : LIMIT 0,400
substr($row['post_text'], 0, 400)
dit is de tekst wat ik nu krijg:
abcdefghijklmnopqrstuvwxyz1234567890
dit is wat ik bedoel:
abcdef
ghijkl
mnopqr
stuvwx
yz1234
567890
Het betreft een controle pagina buiten phpbb om.
Ik beheer een xxx site waar soms nogal zieken berichten te vinden zijn.
Op deze manierkan ik (en andere moderatoren) snel zulke berichten aanpassen.
zonder eerst op het forum in te loggen.
Toevoeging op 26/05/2012 16:06:42:
hallo dan nog ff verder in dit stukje.
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
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
<?php
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo '- '.$row['post_text'].'<br><br>';
echo $row ['poster_id'];
$sql = '
SELECT *
FROM GPF_users WHERE ['poster_id'] <> $row['user_id'];
echo username';
echo '<br><br><hr>';
}
} else {
echo 'Geen data gevonden';
}
?>
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo '- '.$row['post_text'].'<br><br>';
echo $row ['poster_id'];
$sql = '
SELECT *
FROM GPF_users WHERE ['poster_id'] <> $row['user_id'];
echo username';
echo '<br><br><hr>';
}
} else {
echo 'Geen data gevonden';
}
?>
nu wil ik dus uit 2 verschillende database velden 2 waardes verglijken.
en wanneer ze kloppen en overeenkomen, dat de gebruikersnaam erbij word geplaatst.
en daarna zijn lus weer vervolgt.
Ik hoopte het zo te doen zoals hierboven.
echter je raad het al....
het werkt niet helemaal geweldig.
Daarnaast is het nogal stom om substr() te gebruiken. Dan kapt hij soms af midden in een woord.
Google eens op substr_sentences()... die werkt echt veel beter.
Edit: zie hier: http://www.mastercode.nl/forum/artikelen-php/substrsentences-en-substrwords-t2213.html
Gewijzigd op 26/05/2012 16:55:29 door Eddy E
dan blijf ik nog met een ding zitten...
wil dus 2 rijen uit de database halen deze tegen elkaar checken.
wanneer de waardes ( posterIid en author_id) gelijk zijn dat hij dus de bijbehorende gebruikersnaam erbij pakt.
en dat zou die moeten doen op de regels 16-20.
Maar ben geen kei in het databse gebueren, al word het wel steeds beter hahah.
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
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
<?php
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo '- '.$row['post_text'].'<br><br>';
echo $row ['poster_id'];
$sql = '
SELECT *
FROM GPF_users WHERE ['poster_id'] <> $row['user_id'];
echo username';
echo '<br><br><hr>';
}
} else {
echo 'Geen data gevonden';
}
?>
include "toegang.php";
$sql = 'SELECT *
FROM GPF_posts ';
$res = mysql_query($sql);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo '- '.$row['post_text'].'<br><br>';
echo $row ['poster_id'];
$sql = '
SELECT *
FROM GPF_users WHERE ['poster_id'] <> $row['user_id'];
echo username';
echo '<br><br><hr>';
}
} else {
echo 'Geen data gevonden';
}
?>
Ik hoopte het zo te doen zoals hierboven.
echter je raad het al....
het werkt niet helemaal geweldig
wat moet dit voorstellen?
In de GPF_Post is er geen gebruikersnaam terug te halen alleen een poster id.
wel komt die overeen met de andere rij.
(hoop dat ik dit nu goed uitleg.)
Als je kijkt naar de kleurtjes op regel 17 t/m 20 zie je dat er al weinig van de syntax klopt.
Gewijzigd op 27/05/2012 17:55:05 door - Ariën -
Kijk even wat jij hebt:
En hoe het moet:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "
SELECT username
FROM GPF_users
WHERE " . $row['poster_id'] . " <> " . $row['user_id'] . ";";
?>
$sql = "
SELECT username
FROM GPF_users
WHERE " . $row['poster_id'] . " <> " . $row['user_id'] . ";";
?>
Maar wat jij wil kan in 1 query en is dus veel beter:
Code (php)
1
2
3
4
2
3
4
SELECT p.post_text, u.username, u.user_id
FROM GPF_posts AS p
LEFT JOIN GPF_users AS u
ON (p.poster_id = u.user_id)
FROM GPF_posts AS p
LEFT JOIN GPF_users AS u
ON (p.poster_id = u.user_id)
Met deze query haal je de berichten én de username (en het id) op.
Ik ga er even van uit dat user_id bestaat (als het userid is; wijzig het zelf).
ik denk dat ik dit maar even laat voor wat het is.
is me toch denk ik nog wat te ingewikkeld.
pfff toch bedankt
Dan leer je er iets van. Dit is de basis, maar wel het eindstuk van de basis.
Als je dit beheers kan je weer verder.
Laat de queries (de SQL) nog maar even liggen (dat komt vanzelf wel) en richt je even op het php-gedeelte.