Sponsor-Board.de
PHP-Hilfe [MySQLi]

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Webmaster (/forumdisplay.php?fid=44)
+--- Forum: Script-Check (/forumdisplay.php?fid=91)
+--- Thema: PHP-Hilfe [MySQLi] (/showthread.php?tid=59833)


PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 15:47

Altes Problem ist schon beseitigt. Nun habe ich noch eine Frage. Ich möchte noch etwas dem Code hinzufügen.

Der Code:

Code:
$con = new mysqli('ip', 'user', 'pass', 'db');
if ($con->connect_errno) {
    die("Failed to connect to MySQL: " . $con->connect_error);
}
$result= $con->query("SELECT * FROM webpageadmins WHERE ingame=1");

while($row= $result->fetch_assoc()) {
        echo $row["name"]. " <br> ";
    }


Nun zur Frage: Ich möchte gern noch hinzufügen, dass falls ALLE "ingame=0", folgendes angezeigt wird: No admins online.


RE: PHP-Hilfe [MySQLi] - Guilddrive - 23.04.2016 16:30

PHP-Code:
$con mysqli_connect("HOST""DBUSER""DBPASS");
mysqli_select_db($con"DB");
                
$sql "SELECT * FROM webpageadmins WHERE ingame = '1'";
$res mysqli_query($con$sql);
$num mysqli_num_rows($res);

if(
$num>0){
   while(
$dsatz mysqli_fetch_assoc($res)){
   echo 
$dsatz["name"] . "<br>";}
}else
echo 
"Keine Einträge vorhanden!";

mysqli_close($con); 




RE: PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 16:32

Guilddrive schrieb:

PHP-Code:
$con mysqli_connect("HOST""DBUSER""DBPASS");
mysqli_select_db($con"DB");
                
$sql "SELECT * FROM webpageadmins WHERE ingame = '1'";
$res mysqli_query($con$sql);
$num mysqli_num_rows($res);

if(
$num>0){
   while(
$dsatz mysqli_fetch_assoc($res)){
   echo 
$dsatz["name"] . "<br>";
   }
}else
echo 
"Keine Einträge vorhanden!";

mysqli_close($con); 


Danke dir für deine Mühe! Smile

T-I-M hat mir aber bereits sehr geholfen. Smile


RE: PHP-Hilfe [MySQLi] - Guilddrive - 23.04.2016 16:34

Kein Problem, immer wieder gern Wink


RE: PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 16:41

Eine Frage hab ich doch noch! Biggrin

Ist es möglich noch einen Scan einzufügen falls alle "ingame=0", dass z.b. echo "No admins online"; angezeigt wird.


RE: PHP-Hilfe [MySQLi] - Guilddrive - 23.04.2016 16:48

Das passiert in dem Code an der Stellt "if($num>0)," sprich wenn keine Einträge vorhanden sind, dann...

PHP-Code:
if($num>0){ //=> Wenn mehr als 0 Einträge vorhanden sind, dann Ausgabe..
   
while($dsatz mysqli_fetch_assoc($res)){
   echo 
$dsatz["name"] . "<br>";
   }
}else 
//=> Wenn nicht, dann..
echo "NO ADMINS ONLINE!"




RE: PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 16:50

Naja, ein Eintrag wird generell erstellt. Die Tabelle sieht so aus: [Link: Registrierung erforderlich]

Spiel ist übrigens CS:GO. Ein Eintrag wird erstellt, sobald ein Spieler dem Server joint und die Admin-Flag "GENERIC" hat (Sourcemod).

ingame wird je nach dem dann halt auf 0/1 gestellt, wenn Spieler dem Server joint oder disconnected.
Das heißt, der Eintrag bleibt bestehen. Deshalb möchte ich ja die Abfrage so gestalten, dass falls alle "ingame=0" sind, dass dann ausgegeben wird: "No admins online." Smile


RE: PHP-Hilfe [MySQLi] - Guilddrive - 23.04.2016 17:01

In der Abfrage hast du doch alles was du brauchst?

PHP-Code:
$sql "SELECT * FROM webpageadmins WHERE ingame = '1'"

Wenn er keine Einträge findet, bei der die Spalte "ingame" den Wert "1" hat, wird $num mit dem Wert 0 deklariert und die Meldung ausgegeben "NO ADMINS ONLINE!"


RE: PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 17:07

Scheint nicht zu funktionieren :/

Hab den Code auf meinen angepasst, sieht so aus:

Code:
if($num>0){
    while($row= $result->fetch_assoc()) {
        echo $row["name"]. " <br> ";
    }
}else
echo "NO ADMINS ONLINE!";


Zeigt nur "NO ADMINS ONLINE!", obwohl einer auf dem Server ist und in der DB "ingame=1" hat.


RE: PHP-Hilfe [MySQLi] - Guilddrive - 23.04.2016 17:13

Hast du die 1 in Hochkommas gesetzt? ('1')


RE: PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 17:14

Ja, habe ich.^^
$result= $con->query("SELECT * FROM webpageadmins WHERE ingame='1'");


RE: PHP-Hilfe [MySQLi] - Guilddrive - 23.04.2016 17:23

Änder mal die Zeile

PHP-Code:
$num mysqli_num_rows($result); 

in

PHP-Code:
$num  $result->num_rows


Wenns immer noch nicht geht, schick mir den ganzen Code mal bitte per PN, schaffen wir schon Wink


RE: PHP-Hilfe [MySQLi] - Jerr0w - 23.04.2016 18:44

LÖSUNG (von Guilddrive) Smile

Code:
$con = new mysqli('ip', 'user', 'pass', 'database');
if ($con->connect_errno)
{
    die("Failed to connect to MySQL: " . $con->connect_error);
}

$result= $con->query("SELECT * FROM webpageadmins WHERE ingame='1'");
$num  = $result->num_rows; //=>Diese Zeile hattest du überhaupt nicht eingefügt..

if($num>0)
{
    while($row= $result->fetch_assoc())
    {
        echo $row["name"]. " <br> ";
    }
} else
echo "NO ADMINS ONLINE!";