PHP Werte bei Schleife addieren

xep22

Banned
Registriert
Apr. 2018
Beiträge
395
moin, hier erstmal mein code :

Code:
$mysqli=new mysqli("localhost", "XXX", "XXX", "XXX");
$query="SELECT * FROM `Datenbank` WHERE `userid` = ".$id."";
if($result=$mysqli->query($query))
{
    while($row=$result->fetch_assoc())
    {
        printf("
        ".$row['clicks']." normale aufrufe, ".$row['clicks_mobile']." von mobile. insgesamt ".$row['clicks']."+".$row['clicks_mobile'].".<br><br>
        ", $row["clicks"], $row["clicks_mobile']);
    }
}
$mysqli->close();


und zwar sollen die Werte bei der Schleife da am ende addiert werden für eine Gesamtzahl, doch die Ausgabe ist 12+4 anstatt 16. wie genau geht das addieren da ? :D
 
"... insgesamt ".$row['clicks'] + $row['clicks_mobile']."..."

Evtl. noch runde Klammern außenrum machen, um den Mathematischen Ausdruck als solchen stärker hervorzuheben:
"... insgesamt ".($row['clicks'] + $row['clicks_mobile'])."..."
 
hmm nee, jetzt sieht die ausgabe total kaputt, die ganzen css Objekte sind links und so weiter.
 
Ich bezweifel dass das Script so läuft.

Code:
$row["clicks_mobile']
     ^             ^

Sieh dir bitte die Signatur von printf an. Wenn du printf nutzen willst, dann nutz bitte auch die Möglichkeiten und die Parameter.

Code:
printf( "%d normale aufrufe, %d von mobile. insgesamt %d.<br><br>",
        $row['clicks'],
        $row['clicks_mobile'],
        $row['clicks'] + $row['clicks_mobile'] );
Ansonsten nutz echo.
Code:
echo "{$row['clicks']} normale aufrufe, {$row['clicks_mobile']} von mobile. insgesamt ".($row['clicks'] + $row['clicks_mobile']).".<br><br>";

Aber ab davon: Eine Datenbank macht das tausend mal besser. Wenn du da nicht noch was mit ausgibst, nutz bitte SUM().

Und pass auf, dass keine SQL Injection stattfindet.............
Code:
"SELECT * FROM `Datenbank` WHERE `userid` = ".$id."";
Auf Deutsch: Nutz Prepared Statements! Siehe dazu prepare(), bind_param() und execute(). Sonst war es das mit der DB demnächst.
benneque schrieb:
Evtl. noch runde Klammern außenrum machen, um den Mathematischen Ausdruck als solchen stärker hervorzuheben:
Ohne Klammern macht das Script gar nicht was es soll. https://3v4l.org/ElMon
 
  • Gefällt mir
Reaktionen: Physikbuddha und r15ch13
Zurück
Oben