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
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
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.
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
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?
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
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
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
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 : )
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden