Aus MySql DB Bericht erstellen

Ich bin durchaus gewillt zu helfen: Warum probierst du es nicht erstmal so aus: Erstelle die Queries im phpMyAdmin. Wenn einer das gewünschte zurück gibt, hast du ihn gefunden.

Im übrigen weiß ich nicht, obs ein Tipp-Fehler hier im Forum oder auch im Script ist. Bei $_POST['suchbegriff'] ist ein Single-Quote zu viel. Sollte eigentlich nen Parse-Error bringen, wenn

- error_reporting(E_ALL)
- ini_set('display_errors', 1)

ist. Ich verstehe nicht, warum man das im Entwickler-Stadium nicht IMMER! eingeschaltet hat.
 
Danke Saftmeister,

error_reporting ist eingeschaltet.

Ich habe aber jetzt eine andere Idee.

Ich trage die ID der Trockenkammer als KammerID bei den Holzarten ein, so müsste es normalerweise klappen.

Wenn nicht, werde ich deinen Weg versuchen.
 
Jetzt weis ich, warum der Fehler nicht angezeigt wurde: Der Bereich, wo der Fehler sein sollte, war auf display:none gesetzt.

Ich hab jetzt mit PHPmyadmin rumprobiert und hab nichts lauffähiges hingekriegt.

Hier mal mein SQL Quere
PHP:
$DbCon->DoSQL("SELECT
				Trockenkammer.KammerID AS KammerID,
				kammernamen.ID AS ID,
				Kammer,
                Holzart,
				SUM(Kubik) AS Kubik
            FROM
                Trockenkammer
			JOIN 
				kammernamen 
            WHERE 	
				KammerID = ID
			GROUP BY 
				Kammer,Holzart
			");

Als Fehler krieg ich: Konnte SQL nicht ausführen Column "kammer" in field list is ambigous.

Ich bin schon am verzweifeln.

//EDIT

Ich habs jetzt geschafft, die Abfrage ohne Fehler auszuführen, allerdings hat sich nichts geändert.

PHP:
$DbCon->DoSQL("SELECT
				KammerID,
				n_Kammer,
                Holzart,
				SUM(Kubik) AS Kubik
            FROM
                trockenkammer t
			JOIN 
				kammernamen k
			ON
				t . KammerID = k . a_ID 
            WHERE	
				t . KammerID = k . a_ID
			GROUP BY 
				n_Kammer , Holzart
			");

Er gibt mir trotzdem noch ALLE Kammern aus und nicht die, die ich gerade anschaue
 
Zuletzt bearbeitet:
Wahrscheinlich, weil die WHERE-Klausel nicht passt. Da müsste doch dann das rein, was du vorher mit dem Such-Begriff über $_POST gemacht hast, oder?
 
BOING das war mehr als ein Wink mit dem Gartenzaun, danke Saftmeister.

Auf das hätte ich selber kommen müssen.

Nur wenn ich eine Kammer mit Umlauten habe, findet er nichts. Wie kann ich das richten? Eingetragen werden die Daten mittels htmlentities().
 
Das heißt, du hast in der Tabelle dann Werte drin stehen wie ä etc?

Dann müsstest du den Such-Begriff aus $_POST natürlich auch erstmal durch htmlentities jagen, bevor du ihn in das SQL-Query einbaust.
 
Ok ich hab jetzt den $_Post durch htmlentities gejagt, hat aber keine änderung gebracht. Wenn ich mein Script zum hinzufügen von Kammern jetzt ausführe, werden die Daten zwar eingetragen, Umlaute und ß werden aber nicht in ihre HTML Gegenstücke umgewandelt.

Hier mal der Code:

PHP:
$kammername = htmlentities($_POST['kammername']);
$firmenwortlaut = htmlentities($_POST['firmenwortlaut']);
$adresse = htmlentities($_POST['adresse']);
$plzort = htmlentities($_POST['plzort']);

	$DbCon->DoSQL("INSERT INTO kammernamen (Kammer, Firmenwortlaut, Strasse, PlzOrt)
	VALUES 
		('".mysql_real_escape_string($kammername)."',
		 '".mysql_real_escape_string($firmenwortlaut)."',
		 '".mysql_real_escape_string($adresse)."',
		 '".mysql_real_escape_string($plzort)."')");
 
Was heißt das jetzt? Werden die Daten nun mit HTML-Entitäten in der Tabelle kammernamen abgelegt oder nicht? Wenn nicht, brauchst du das htmlentities() natürlich nicht. Ich verstehe das Problem grad nicht so ganz.
 
Ich hab den Fehler gefunden: anscheinend reicht ab PHP 5.x nicht mehr nur htmlentities alleine. Ich hab jetzt htmlentities($string, ENT_QUOTES, 'UTF-8') genommen und jetzt funktioniert die ganze Sache bis auf die Formatierung.

Danke für die Hilfe.
 

Neue Beiträge

Zurück