Hoi Allemaal,

Ik ben bezig met een nieuwe website en daarbij zou ik graag gegevens uit een database die ik op mijn computer heb draaien willen tonen op de website.

Ik heb hiervoor een query gemaakt / gekregen en die draait dus op mijn computer, dat is deze;

select * FROM characters WHERE OnlineStatus = 1 ORDER BY `Exp` DESC LIMIT 0,300

Hoe kan ik deze nu op mijn website laten weergeven?

Hij geeft dus aan wie er online zou zijn.

Alvast bedankt
Hoi,

waarvoor de db op je computer laten draaien heb je geen hosting die dit ondersteund?

Het is wel mogelijk (zou het persoonlijk niet ivm met veiligheid):

1. firewall openzetten voor de poort van je mysql server
2. router poort forwarding (poort van je mysql server) naar ip van je computer thuis (intern)
3. connectie maken met je thuis computer via je script met je extern ip adres
(deze kun je hier zien http://www.whatismyip.com)

mysql_connect(extern_ip, gebruikersnaam, wachtwoord);

mvg,

Martijn


@Martijn: En dan zal je ook nog instellingen van mysql moeten wijzigen, anders staat mysql het nog niet toe.
Hoi Martijn,

Het gaat om een server van een spel, die kan ik niet draaien bij mijn webhosting of ik moet een dedicated server huren.

Maar ik draai dus thuis een server en ik zou graag op mijn website willen laten tonen wie er online zijn of hoeveel mensen etc.

Welke code moet ik nu precies hebben om die query op de website te tonen?

Nogmaals heel erg bedankt.

Dezelfde query die je daar thuis ook voor gebruikt.
Echter de verbinding zal je met een andere query moeten maken.
Met jouw ip/naam van je thuisserver.
Alleen je connect meot je verander hierin:

mysql_connect(extern_ip, gebruikersnaam, wachtwoord);

Zoals SanThe al zei hierboven

Hoe komt het totaalplaatje er dan uit te zien?

Het moet namelijk wel als text getoond gaan worden.

Zo toch niet?

<?php

mysql_connect(10.10.10.10, localhost, wachtwoord);
mysql_select_db(database naam);

select *
FROM characters
WHERE OnlineStatus = 1
ORDER BY
characters.char_name ASC
LIMIT 0,300


?>
<?php

mysql_connect('jouw_ip_van_buitenaf', 'inlognaam', 'wachtwoord');
mysql_select_db('database naam');

$sql = "SELECT *
FROM characters
WHERE OnlineStatus = 1
ORDER BY
characters.char_name ASC
LIMIT 0,300";
// query uitvoeren en de rest afhandelen.

?>
Er word niks weergegeven, maar dat komt dan waarschijnlijk omdat mijn database geen verbinding toestaat.

Moet ik die poort overigens ook nergens vermelden? Waar mijn database op draait
Maak eens van
mysql_connect('jouw_ip_van_buitenaf', 'inlognaam', 'wachtwoord');

Dit
mysql_connect('jouw_ip_van_buitenaf', 'inlognaam', 'wachtwoord') or die('Error: ' . mysql_error());
[qoute]
Moet ik die poort overigens ook nergens vermelden? Waar mijn database op draait
[/qoute]

Nee niet in je php script, wel in je router en firewall anders krijgt website echt geen verbinding met je db op je interne computer

Reageren