Darth Sidious Geschrieben 30. November 2010 Geschrieben 30. November 2010 (bearbeitet) 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 30. November 2010 von Darth Sidious Zitieren
Reinhold Geschrieben 30. November 2010 Geschrieben 30. November 2010 Moin, $summe = $summe + (mssql_fetch_array($data)) Probier mal: $summe += $row['knurpsel']; // Falls das zu summierende Feld knurpsel heisst [/PHP] hth Reinhold Zitieren
Darth Sidious Geschrieben 30. November 2010 Autor Geschrieben 30. November 2010 Der SQL Querry gibt mir aber kein Feldwert zurück, sondern eine Summe der vorhandenen Daten. Zitieren
Brabax Geschrieben 30. November 2010 Geschrieben 30. November 2010 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 Zitieren
Darth Sidious Geschrieben 1. Dezember 2010 Autor Geschrieben 1. Dezember 2010 Das heist ich müsste Reinholds Code in der While Schleife mit rein packen? Zitieren
Reinhold Geschrieben 1. Dezember 2010 Geschrieben 1. Dezember 2010 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 Zitieren
Darth Sidious Geschrieben 1. Dezember 2010 Autor Geschrieben 1. Dezember 2010 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 Zitieren
Reinhold Geschrieben 1. Dezember 2010 Geschrieben 1. Dezember 2010 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 Zitieren
Darth Sidious Geschrieben 2. Dezember 2010 Autor Geschrieben 2. Dezember 2010 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 : ) Zitieren
lit-web Geschrieben 2. Dezember 2010 Geschrieben 2. Dezember 2010 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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.