Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] Datenbankabfrageergebniss is Variable einlesen.

Empfohlene Antworten

Veröffentlicht

Hallo,

auf einer Website habe ich eine Datenbankabfrage.

Die Abfrage sieht wie folgt aus

            //Connection and execution fo the SQL-query for ENE-VPN
$connect = mssql_connect('ADRESSE:PORT', 'USER' , 'PW');
$data = mssql_query($sqlquery);
$count = 1;

//print the solution in a table
while ($row = mssql_fetch_array($data)){
echo $row[0];[/PHP]

Nun möchte ich das Ergebniss in eine Variable einlesen.

Hintergrund ist es eine Summe aus mehreren Datenbankabfragen zu bilden.

Müsste die Summenbildung dann so lauten?:

$summe = $summe + (mssql_fetch_array($data))

Bearbeitet von Darth Sidious

Moin,

$summe = $summe + (mssql_fetch_array($data))

Probier mal:


$summe += $row['knurpsel']; // Falls das zu summierende Feld knurpsel heisst
[/PHP]

hth

Reinhold

Schau dir $row doch mal mit var_dump() an, dann siehst du, dass das Ergebnis als Array in o. g. Form vorliegen sollte.

Wenn nicht, dann poste es hier bitte.

lG

Moin,

u willst also mehrere summierende Abfragen aufsummieren? Dann brauchst du eher gar kein while:


$summe = 0;

$sql = "select sum(wert) as knurpsel from WoherAuchImmer where WarumAuchImmer";
$data = mssql_query($sql);
$row = mssql_fetch_array($data));
$summe += $row['knurpsel'];

$sql = "select sum(AuchWert) as knurpsel from WoandersHer where BedingungAuchWahr";

$data = mssql_query($sql);
$row = mssql_fetch_array($data));
$summe += $row['knurpsel'];

//... usw
[/PHP]

Lies dich bitte in die Grundlagen von Php ein, ggf. auch in die Grundlagen der Programmierung.

Reinhold

  • Autor

Ja, ich bin noch ein PHP-Newbie.

Ich habs mal versucht indem ich die Schleife weglasse und das ganze nach deiner Vorlage gebaut habe. Leider bekam ich da ein Fehler nach dem anderen bzw. falsche Ergebnisse.

Aber duch deine Syntax mit $summe += $row[xxx] hat es geklappt.

Nun sieht es wie folgt aus (und die Ergebnisse stimmen):

            while ($row = oci_fetch_array($query)){
echo $row[0];
echo '</td>';
$sum += $row[0];
}[/PHP]

Danke für die Hilfe ;)

Moin.

ich denke, du solltest deine Probleme etwas genauer schildern und dir nicht alles aus der Nase ziehen lassen. Die Motivation, dir zu helfen steigt übrigens mit anhand deiner Lösungsansätze erkennbaren Fortschritten.

Ich habs mal versucht indem ich die Schleife weglasse und das ganze nach deiner Vorlage gebaut habe. Leider bekam ich da ein Fehler nach dem anderen bzw. falsche Ergebnisse.

Das ist keine hinreichende Fehlerbeschreibung...

Aber duch deine Syntax mit $summe += $row[xxx] hat es geklappt.

Nun sieht es wie folgt aus (und die Ergebnisse stimmen):

            while ($row = oci_fetch_array($query)){
echo $row[0];
echo '</td>';
$sum += $row[0];
}[/PHP]

Nur mal so interessehalber: wie kommt es, das du zwischenzeitlich das DBMS gewechselt hast?

Reinhold

  • Autor

Gut die Falschen Ergebnisse waren immer wieder "0" und ab und zu mal ein paar Syntax Fehler in Zeile X. Aber ich hab da nicht mehr weiter ausgeholt da der Fehler behoben werden konnte.

Ich achte in Zukunft darauf dass die Beschreibung etwas genauer wird. ;)

Die Website dahinter die ich erstelle ist für ein Reporting. Hierbei werden mehrere Datenbanken auf verschiedene Daten abgefragt; deshalb auch der wechsele mit den DBMS's. Wobei das ja eigentlich egal war für die Aufgabenstellung, es ging ja nur darum dass das Ergebniss aufsummiert wird.

Nochmals Danke : )

Wenn du mit wechselnden DBMS arbeiten willst, dann nutze PDO, Doctrine oder die Klasse von Pear. Da hast du es bedeutend einfache und bracuhst durch Prepared Statements dich nicht mal mehr um Sicherheitssachen kümmern.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.