Mailinglisten-Archive |
Moin, Cornelia Boenigk schrieb: > > Hallo und danke, ihr seid blitzschnell > > php ist installiert, der Apache laeuft, und meine anderen > Programme auch und eine Fehlermeldung bekomme ich nicht. Die > html-Datei wurde vor dem Einfuegen von php auch korrekt > angezeigt. Mit ein bisschen Code ist das ein wenig schwierig, > denn die Datei ist gross. Frage vorweg: Andere PHP spielereien gehen aber oder ? <?php phpinfo();?> Sofern du Netscape benutzt muss du fuer Fehlermeldungen dir den HTML Source anzeigen lassen. IE ist da etwas bessesr gestimmt und zeigt ohne verluste erst einmal alles an. Damit Fehlermeldungen aber ueberhaupt vom Parser ausgegeben werden muss dies in der php.ini auch ingestellt sein. Dies ist es aber Defaultmaessig. error_reporting = E_ALL & ~E_NOTICE; display_errors = On; Was nicht eingestellt ist ist das fuehren eines Errorlogs. Stelle dir dies in der php.ini ein. log_errors = On; error_log = "c:\temp\error.log; Solltest du mod_php verwenden nicht vergessen den Apachen neu zustarten. > Ich moechte zu einem Fragebogen ein Auswertungsprogramm > schreiben. Die Daten, die die Benutzer eingegeben haben, liegen > in einer Postgresql-Datenbank und werden von dort zeilenweise in > ein Array eingelesen. > Sieht auf den ersten Blick gut aus. von der Syntax. Ich arbeite zwar nicht mir PgSql aber laut Manual gibt es die Funktion pg_errormessage() . Baue sie ein. Hier das "bisschen" Code: > > <?php > > $conn=pg_connect("127.0.0.1","5432","","","codex"); baue in alle pgsql Funktionen es Testhalber ein. $conn=pg_connect("127.0.0.1","5432","","","codex") or die(pg_errormessage($conn)); > if(!$conn){echo "Es konnte keine Verbindung zur Datenbank > hergestellt werden";} > > $sql_ges="select fid,antwortwert, count(antwortwert) from > mum_antworten WHERE fid<1500 group by fid, antwortwert order by > fid;"; > > $res_ges=pg_exec($conn,$sql_ges); // Resultset > if(!$res_ges) { > echo "Es ist ein Fehler bei der Verbindung zur Datenbank > aufgetreten.";} > > $row_ges=pg_numrows($res_ges); > if($row_ges < 1) { > echo "Die Datenbank ist leer.";} > > $mult=5; > > for($i=0; $i < $row_ges; $i++){ > $onerow = pg_fetch_row($res_ges,$i); > > if ($onerow[0]=="601") { > $a_brt[601]=$onerow[1]."<BR>\n";} > elseif($onerow[1]=="on") { // Checkboxen > $index=$onerow[0]; > $a_brt[$index]=$onerow[2] * $mult;} > else { // Radiobuttons > $index= $onerow[0].$onerow[1]; > $a_brt[$index]= $onerow[2] * $mult;}} > > ?> > > Soweit stimmt eigentlich alles. Ich habe mir die ganze > Datenbank-Array-Geschichte mit echo's ausgeben lassen, da > arbeitet alles so, wie es soll. > > Ich moechte Balkendiagramme ausgeben und dazu mit php die Breite > des Balkens (= Anzahl der Antworten zu dieser Frage) aus dem > Array in das width-Attribut des image-TAgs einlesen. Dazu wird > hinter jeder Frage > > <img src="gruen.gif" width="<? php print ($a_brt[101];) ?>" > height="10" > > > eingefuegt, wobei 101 eben die erste Antwort zur Frage 1 ist. > Es gibt analog zum zu MySql Version phpMyAdmin eine Version fuer PgSql. Schau mal ob du deine Query andersweitig testen kannst... wird ueberhaupt ein Ergniss geliefert? Ich wuerde dann Teile mal Dokumentieren // oder /* bis */ um den Fehler einzugrenzen und ein paar Echos wieder einbauen damit du siehst wo er in welche Schleife oder Bedingung rein laeuft. Aber um es nochmal zusagen... PHP ist sonst sehr gespraechig was Fehler angeht. Sagt das Apache errorlog nochwas? Gruss Joerg Behrens ps: Egon falls du das liest: XLVIII. PostgreSQL Funktionen steht als Beispiel pg_exec ($database, "begin"); Laut Beschreibung zu pg_exec() soll der 2te Parameter eine Query sein. Wobei es dann wohl $begin heissen muesste und vorher definiert werden sollte. So steht es zumnind in meinem aelteren Manual (CHM Version vom 2.8.2000) -- Key fingerprint = 92 7D E0 A6 CF AE EC 32 14 28 EF 0D 57 2A 88 5B ---------------------------------------------------------------------- TakeNet GmbH Mobil: 0171/60 57 963 D-97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
php::bar PHP Wiki - Listenarchive