If where PHP mysql tabel echo
en OFFLINE aangeeft als ACCT=1 in GUID van CHARACTERS als ONLINE=0
Ik heb verschillende dingen geprobeert:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$result = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
if (!$result) {
echo "Offline";
}else{
echo "Online";
}
?>
<?php
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$query = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
if(online == 1){
echo "Online";
}else{
echo "Offline";
}
?>
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$result = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
if (!$result) {
echo "Offline";
}else{
echo "Online";
}
?>
<?php
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$query = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
if(online == 1){
echo "Online";
}else{
echo "Offline";
}
?>
Maar deze blijfen helaas hangen op Offline of Online.
Ik weet niet wat ik fout doe.
Alvast bedankt!
Maar mijn bedoeling was gewoon ALS online 1 als value had in mijn DB dan.....
En gebruik geen or die, maar een goede fouthandeling waarmee je kijkt of de var. false of true returned: Goede foutafhandeling mysql
In dat script zie je ook meteen hoe je variabelen uit je database haalt.
Ja online komt uit de database, hij is gevult met 0 als een user niet ingelogged is en 1 als de user online is. Ik kan je wel een batch geven als dat nodig is als voorbeeld.
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
//Hier de connectie en database selecteren enzo
$query = "SELECT id, naam, online FROM tabel WHERE id='5'";
$result = mysql_query($query, $mysqlconnectie);
if(!$result) { //Als result niet goed is gegaan
echo "Er is iets fout gegaan!";
}
else {
while($row = myqsl_fetch_assoc($result)) { //Voor elke waarde van result dit doen
if($row['online'] == 1) { //Als $row['online'] is 1, dus als online is 1
echo $row['naam']." is online!";
}
}
}
?>
//Hier de connectie en database selecteren enzo
$query = "SELECT id, naam, online FROM tabel WHERE id='5'";
$result = mysql_query($query, $mysqlconnectie);
if(!$result) { //Als result niet goed is gegaan
echo "Er is iets fout gegaan!";
}
else {
while($row = myqsl_fetch_assoc($result)) { //Voor elke waarde van result dit doen
if($row['online'] == 1) { //Als $row['online'] is 1, dus als online is 1
echo $row['naam']." is online!";
}
}
}
?>
Ik heb het script ook origineel gedraait met alleen de MySQL informatie erbij, maar dan doet die precies hetzelfde.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//Hier de connectie en database selecteren enzo
$errorsql = "MySQL information is incorrect.";
$host = "localhost";
$user = "root";
$pass = "*********";
$mysqlconnectie = mysql_connect($host, $user, $pass) or die($errorsql);
mysql_select_db($dbnaam) or die($errordb);
$query = "SELECT guid FROM characters WHERE online='1' AND acct='1'";
$result = mysql_query($query, $mysqlconnectie);
if(!$result) { //Als result niet goed is gegaan
echo "Er is iets fout gegaan!";
}
else {
while($row = myqsl_fetch_assoc($result)) { //Voor elke waarde van result dit doen
if($row['online'] == 1) { //Als $row['online'] is 1, dus als online is 1
echo $row['naam']." is online!";
}
}
}
?>
//Hier de connectie en database selecteren enzo
$errorsql = "MySQL information is incorrect.";
$host = "localhost";
$user = "root";
$pass = "*********";
$mysqlconnectie = mysql_connect($host, $user, $pass) or die($errorsql);
mysql_select_db($dbnaam) or die($errordb);
$query = "SELECT guid FROM characters WHERE online='1' AND acct='1'";
$result = mysql_query($query, $mysqlconnectie);
if(!$result) { //Als result niet goed is gegaan
echo "Er is iets fout gegaan!";
}
else {
while($row = myqsl_fetch_assoc($result)) { //Voor elke waarde van result dit doen
if($row['online'] == 1) { //Als $row['online'] is 1, dus als online is 1
echo $row['naam']." is online!";
}
}
}
?>
Gewijzigd op 13/12/2010 15:31:20 door Chris Broekz
Je query zal mislukt zijn. Nette foutafhandeling ontbreekt. En $row['online'] en $row['naam'] zullen niet bestaan want die haal je niet op. Zet ook error_reporting(E_ALL) eens aan.
En je haalt alleen guid op. Nu kan je dus niet die while doen. Je moet daarvoor namelijk ook online en naam hebben opgehaald.
Weet je eigenlijk wel wat je nu precies hebt gedaan?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$query = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
$total = mysql_num_rows($query);
echo $total;
?>
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$query = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
$total = mysql_num_rows($query);
echo $total;
?>
Deze geeft een cijfer 1 of 2 aan. En bij de beschrijving zet ik gewoon dat
0 = offline 1 = online.
Jammer dat je nooit wat met de antwoorden doet.
ik heb dankzij deze forum al twee dingen opgelost van de *4 ;)
Ik wil graag weer aan de slag met andere dingen inplaats van uren lang voor
één dingetje zitten te ouwehoeren terwijl het gemakelijk minder professioneel
kan. Als dit een belangrijke functie voor mijn website was dan had ik hier wel
meer moeite en tijd ingestopt. En vroeg of later kom ik er toch wel weer achter ;)
- SanThe - op 13/12/2010 16:19:38:
Jammer dat je nooit wat met de antwoorden doet.
Gewijzigd op 13/12/2010 16:31:25 door Chris Broekz
Bij webdevelopment draait het om alle kleine regeltjes/systemen.
En daarnaast is mij in dit topic duidelijk dat jij niet weet hoe jij iets uit de database haalt.
Chris Broekz:
ik heb dankzij deze forum al twee dingen opgelost van de *4 ;)
Als je dit opgelost vind dan kom je wel ver inderdaad...
Maar ik ben hier gewoon bezig met een beetje uitproberen wat mogelijk is enz.
Het is niet alsof ik een proffesionele website aan het bouwen ben, en als het na een poosje niet lukt ga ik liever ergens anders mee aan de slag.
Maar toch bedankt.
Wouter J op 13/12/2010 16:35:55:
Laat het duidelijk zijn dat dit de laatste keer is dat ik Chris ga helpen.
Bij webdevelopment draait het om alle kleine regeltjes/systemen.
En daarnaast is mij in dit topic duidelijk dat jij niet weet hoe jij iets uit de database haalt.
Als je dit opgelost vind dan kom je wel ver inderdaad...
Bij webdevelopment draait het om alle kleine regeltjes/systemen.
En daarnaast is mij in dit topic duidelijk dat jij niet weet hoe jij iets uit de database haalt.
Chris Broekz:
ik heb dankzij deze forum al twee dingen opgelost van de *4 ;)
Als je dit opgelost vind dan kom je wel ver inderdaad...
Gewijzigd op 13/12/2010 20:57:40 door Chris Broekz
Wij zijn ook bereid om jou te helpen zolang je maar leest wat er voor antwoorden gegeven worden.
Dit heb je niet of nauwelijks gedaan in alle bovengenoemde voorbeelden/antwoorden.
Er werd een goed werkend voorbeeld gegeven, alleen was deze uiteindelijk niet van toepassing op jou manier.
Als je het voorbeeld goed gelezen had had je ook gemerkt dat deze niet zou werken omdat deze waardes uit een database halen die in jouw ontwerp niet voorkomen.
- Daar heb je dus het punt van goed lezen.
Daarbuiten raad ik je aan om een basis cursus mysql met php te nemen.
Dat zal het voor jezelf vergemakkelijken.
*Voor je eigen ontwerp nog:
Je selecteerd al op mensen die 'online' moeten zijn:
Dus dan hoef je alleen nog maar zoals je in je eigen voorbeeld ook al toonde te kijken of je op zijn minst wel een rij terug krijgt.
Of dit echt heel netjes is, daar valt over te discuzeuren.
Om het voor jezelf verder wel netter te maken kan je altijd echoën op je antwoord:
Succes verder!
Chris Broekz:
soms snap ik sommige dingen niet want ik ben tamelijk nieuw tot PHP.
Precies om deze rede plaats ik comments bij mijn script. Alles wat oranje is is uitleg van wat er op die regel gebeurd. Als je dit goed leest en zelf een beetje opzoekt kan je zoiets goed toepassen op je eigen script.
En verder wat Jonathan zegt. Ik zou nooit precies antwoord geven op de vraag, ik zal altijd alleen voorbeeld code (met uitleg) of linkjes geven. Anders ben ik van mening dat men er niks van leert.
nu je het zo zegt klinkt het zo logisch.
Het werkt uiteraard nu, ik zou voortaan meer mijn best doen om tot een oplossing te komen ;)
Wouter, jij ook bedankt voor het helpen :)
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
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$query = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
$total = mysql_num_rows($query);
if($total == 1){
echo 'Online';
}
else
{
echo 'Offline';
}
?>
$connection = mysql_connect($host, $user, $pass) or die("Could not connect to server.");
mysql_select_db($chardb) or die("Could not select database");
$query = mysql_query("SELECT guid FROM characters WHERE acct='1' AND online='1'", $connection);
$total = mysql_num_rows($query);
if($total == 1){
echo 'Online';
}
else
{
echo 'Offline';
}
?>
Gewijzigd op 14/12/2010 00:05:31 door Chris Broekz