Kann Fehler nicht finden -- seht ihr was?
|
|
Catzenjaeger |
Geschrieben am 08.05.2016 um 00:34
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
Ich benötige noch einmal Hilfe :) Ich fülle meine Tabellen schon bei installation der Infusion damit ich n icht immer alles per hand eingeben muss da vieles schon fixe werte sind. Das habe ich wie folgt in der infusion.php Code $inf_insertdbrow[255] = DB_FIGURE_CATS." (figure_cat_id, figure_cat_name) VALUES ('', '1/1 Scale')"; Die daten werden geschrieben aber ich bekomme folgenden fehler und habe schon danach geggolet aber kann mein problem nicht finden SQLSTATE[42000]: Syntax error or access violation: 1064 die zugehörigen Tabellen $inf_newtable[1] = DB_FIGURE_CATS." ( figure_cat_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT, figure_cat_name varchar(100) NOT NULL DEFAULT '', figure_cat_description text NOT NULL, figure_cat_sorting varchar(50) NOT NULL DEFAULT '', figure_cat_access tinyint(3) unsigned NOT NULL DEFAULT '0', figure_cat_parent mediumint(8) unsigned NOT NULL DEFAULT '0', figure_cat_items int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (figure_cat_id) ) ENGINE=MyISAM;"; $inf_droptable[1] = DB_FIGURE_CATS; wenn ich die Categoriewn per hand anlege läuft alles. Das muss also irgendwie mit den paar zeilen in der infusion.php zusammenhängen ... aber was? Bearbeitet von Catzenjaeger am 08.05.2016 um 03:43 |
|
|
Rolly8-HL |
Geschrieben am 08.05.2016 um 11:53
|
![]() Fusioneer ![]() Beiträge: 1074 Registriert am: 30.10.13 |
Verstehe nicht Deine Vorgehensweise, Grundlage ist bei einem Duplikat einer Infusions sie zum laufen zu bringen mit eigener DB, extern. Danach gehe ich bei und stopfe diese dann mit meinen Vorstellungen voll. Ob V7 oder V9, momentan nutze ich das so, habe Deine DB_FIGURE_BRANDS mal angepasst. Code $inf_insertdbrow[1] = DB_FIGURE_BRANDS." (figure_brand_id, figure_brand_name) VALUES Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
|
|
Catzenjaeger |
Geschrieben am 08.05.2016 um 14:27
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
Ja Danke. Aber mein problem ist, dass wenn ich die automatsich füllen lasse bekomme ich später fehler bei aufruf der seite. Wenn ich diese paar zeilen nicht automatusch einfügen lasse sondern die Kategorie via hand anlege gehts. Ich kann in den paar zeilen von mir keinen Fehler finden ... und ich kann mir das nicht erklären. Wenn ich mit die tabell im PHPMYADMIN anschaue ist sie ifentisch .. ob automatisch bei Installation oder via hand. ich weiss nicht warum ALSO NOCH EINMAL sorry. wenn ich das hier in die Infusion.php schreibe und diese dann "infuse" bekomme ich einen Fehler und die Seite figure.php bleibt bei aufruf der entp´rechenden Figrt weiss --> http://aliencollectors.com/site/infusions/figurelib/figure.php?figure_id=1 Code $inf_insertdbrow[255] = DB_FIGURE_CATS." (figure_cat_id, figure_cat_name) VALUES ('', '1/1 Scale')"; lasse ich diese Zeilen in der Infusion weg und lege die Category via Hand an (im Admin menü) bekomme ich keinen Fehler Bearbeitet von Septron am 08.05.2016 um 22:43 |
|
|
Rolly8-HL |
Geschrieben am 08.05.2016 um 16:12
|
![]() Fusioneer ![]() Beiträge: 1074 Registriert am: 30.10.13 |
Zitat: Wenn ich mit die tabell im PHPMYADMIN anschaue ist sie ifentisch .. ob automatisch bei Installation oder via hand. Hänge doch mal beide sql Dateien an, die automatische und die per Hand. Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
|
|
Wemi |
Geschrieben am 09.05.2016 um 07:59
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Code $inf_insertdbrow[273] = DB_FIGURE_CATS." (figure_cat_id, figure_cat_name) VALUES ('', 'Other/Unknown')"; Kann nicht funktionieren, da für die cat_id kein Wert da ist. Versuche einfach mal: Code $inf_insertdbrow[273] = DB_FIGURE_CATS." (figure_cat_name) VALUES ( 'Other/Unknown')"; Den Wert für die cat_id übernimmt nun MySQL. "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Rolly8-HL |
Geschrieben am 09.05.2016 um 10:25
|
![]() Fusioneer ![]() Beiträge: 1074 Registriert am: 30.10.13 |
Habe beides getestet in V9, beide mit dem selben Erfolg. Code
SQL Datei Code -- phpMyAdmin SQL Dump Ob der Fehler bei Dir doch wo anders liegt? Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
|
|
Catzenjaeger |
Geschrieben am 09.05.2016 um 12:31
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
ich weiss nicht ob es damit zusammenhängt aber forlgendes scheint mein Problem: unten der erste Code ist aus meiner figure.php und dort sollen die Figuren die ich vorher selektiert habe angezeigt werden mit allen Ihren Daten. Die daten die in der Tabelle DB_FIGURES abgelegt werden werden ordnungsgemäss angezeigt. Nun habe ich aber analog zur Boccklib wo man auch in einen extra script Categoriern anlegen kann das gleiche für andere bereiche gemacht wo ich es gut verwenden kann. ZB Manufacturer (Hersteller der Figuren) und Subkategorien dazu das gleiche für Scale, Limitation usw. Die Daten gebe ich schon bei der Installation mit damit schon ein grundstock vorhanden ist und bei manchen wie zB brand (also die File auf die sich die Figuren beziehen) ändern sich nicht so das ich diese daten gut in einen Dropdown verwenden kann. Die ganze Infusion arbeit soweit nur die darstellung geht jetzt nicht mehr da ich die daten ja in andere Tabellen ausgelagert habe. Nur wie komme ich da wieder dran? Alle Abfragen scheitern .. keine Ahnung warum ich bekomme es einfach nicht hin das unter Manufacturers wie im Code unten der Manufactuerer steht. DB Tabelle wäre: DB_FIGURES_MANUFACTURERS Die Variablen: $inf_newtable[6] = DB_FIGURE_MANUFACTURERS." ( figure_manufacturer_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT, figure_manufacturer_name varchar(100) NOT NULL DEFAULT '', figure_manufacturer_description text NOT NULL, figure_manufacturer_sorting varchar(50) NOT NULL DEFAULT '', figure_manufacturer_access tinyint(3) unsigned NOT NULL DEFAULT '0', figure_manufacturer_parent mediumint(8) unsigned NOT NULL DEFAULT '0', figure_manufacturer_items int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (figure_manufacturer_id) ) ENGINE=MyISAM;"; $inf_droptable[6] = DB_FIGURE_MANUFACTURERS; Der Code zeigt den bereich wo die Manufacturer angezeigt werden. Aber da erscheint nur die zahl die abgelegt wurde. (also die Id) Testseite: http://aliencollectors.com/site/infus...igure_id=1 Das hier zeigt alle manufacturer der datenbank an aber nicht den der gewählten Figut .. soweit bin ich schon Code $result = dbquery("SELECT * FROM ".DB_FIGURE_MANUFACTURERS.""); Hier der Teil ist aus der figure.php Code
ICH DENKE HIER MUS IN ETWAS SO ETWAS REIN also einen art inner join damit er die Figur die eindeutig indentifizieren kann. Code if (isset($_GET['figure_id']) && isnum($_GET['figure_id'])) { oder sowas inner join .. aber ich weiss nicht wie das geht :) Code
Catzenjaeger hat folgende Datei angehängt:
Bearbeitet von Catzenjaeger am 09.05.2016 um 12:39 |
|
|
Rolly8-HL |
Geschrieben am 09.05.2016 um 13:58
|
![]() Fusioneer ![]() Beiträge: 1074 Registriert am: 30.10.13 |
Auch wenn ich den Text nur überflogen habe hat das nichts mit diesem Problem zu tun, ist also geklärt! Zitat: Ich fülle meine Tabellen schon bei installation der Infusion damit ich n icht immer alles per hand eingeben muss da vieles schon fixe werte sind. Das habe ich wie folgt in der infusion.php Wenn ich den Rest richtig verstanden habe versuchst Du über mehrere Datenbanken etwas in eine Ausgabe zu bringen. Sieht alles sehr verwirrend aus und in einer Ferndiagnose so wohl nicht zu beantworten, jedenfalls nicht für mich. So lange man diese Infusion nicht komplett mit allem was dazugehört selbst installiert hat um den allgemeinen Zusammenhang zu finden geht das wohl schlecht eine Antwort zu finden da es sehr Komplex ist. Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
|
|
Catzenjaeger |
Geschrieben am 09.05.2016 um 15:12
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
ich weis .. ich hägs mal komplett an >![]() DANKE DANKE DANKE
Catzenjaeger hat folgende Datei angehängt:
|
|
|
Rolly8-HL |
Geschrieben am 09.05.2016 um 21:11
|
![]() Fusioneer ![]() Beiträge: 1074 Registriert am: 30.10.13 |
So recht durchsehen tu ich nicht, wäre da nicht ein E-Shop besser?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
|
|
Catzenjaeger |
Geschrieben am 09.05.2016 um 22:15
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
qmg quatsch. aslles quatsch. Die Manufactuer werden nur dort gespeichert. Der Wert wird in der tabelle FIGUR_ITEM abgelegt als figure_manufactuer aber als zahl und nicht als Text. Heisst es wird nicht der name der Figur sondern die Zahl dort abgelegt. ich müsste das qausi rückübersetzen oder die speicherung anders machen. hier der Auszug aus der anderen datei wo die daten in die DB geschreiben werden: heisst ich muss dort nicht die ID sondern den mane speichern oder? $result = dbquery("INSERT INTO ".DB_FIGURE." (figure_title, figure_submanufacturer, figure_brand, figure_series, figure_variant, figure_scale, figure_weight, figure_height, figure_width, figure_depth, figure_material, figure_poa, figure_packaging, figure_retailprice, figure_usedprice, figure_limitation, figure_editionsize, figure_artists, figure_country, figure_manufacturer, figure_pubdate, figure_image, figure_accessories, figure_description, figure_url, figure_file, figure_cat, figure_name, figure_filesize, figure_datestamp, figure_count, figure_allow_comments, figure_allow_ratings) VALUES ('$figure_title', '$figure_submanufacturer', '$figure_brand', '$figure_series', '$figure_variant', '$figure_scale', '$figure_weight', '$figure_height', '$figure_width', '$figure_depth', '$figure_material', '$figure_poa', ' $figure_packaging', '$figure_retailprice', '$figure_usedprice', '$figure_limitation', '$figure_editionsize', '$figure_artists', '$figure_country', '$figure_manufacturer', '$figure_pubdate', '$figure_image', '$figure_accessories', '$figure_description', '$figure_url', '$figure_file', '$figure_cat', '".$userdata['user_id']."', '$figure_filesize', '".time()."', '0', '$figure_comments', '$figure_ratings')"); und hier wird das dropdown vorgegeben: $editlistmanufacturer = ""; if (isset($_GET['action']) && $_GET['action'] == "edit") { $figure_manufacturer = $data['figure_manufacturer']; } else { $figure_manufacturer = ""; } $resultmanufacturer = dbquery("SELECT * FROM ".DB_FIGURE_MANUFACTURERS." WHERE figure_manufacturer_parent='0' ORDER BY figure_manufacturer_name"); if (dbrows($resultmanufacturer) != 0) { while ($datamanufacturer = dbarray($resultmanufacturer)) { $editlistmanufacturer .= menu_subcats($datamanufacturer['figure_manufacturer_id'], $datamanufacturer['figure_manufacturer_name'],1); } } heist ich muss hier irgendwo was ändern das nicht die id sondern der name gespeichert wirtd .. richtiger ansatz???? weil momentan wird ja 53 gespeichert . 53 ist KENNER .. nur wie bekomme ich den Text KENNER dargestellt. Oder zweiter Ansatz. es muss gechcket werden was die 53 ist uönd dann ausgegeben werden .. aslo doch irgendwie ein inner join um sich die passenden daten zu holen Bearbeitet von Catzenjaeger am 09.05.2016 um 22:58 |
|
|
Wemi |
Geschrieben am 10.05.2016 um 09:07
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Was an dem ganzen Code zuerst mal gemacht werden sollte ist aufräumen. Wenn man den hier in kleine Stücke teilt und daraus Funktionen macht, dann kann man den Code leichter lesen. Schöner wäre noch OOP, aber das wäre dann doch zuviel für Euch. Aber einen großen Teil kann man in Funktionen packen. Und dann steigt man da auch wesentlich besser durch. In deinem anderen Thread das gleiche. Ich vermute dort einfach eine falsch gesetzte geschweifte Klammer oder eine zu frühe DB Anfrage. Hätte man dort zumindest das was als GET['action'] ist schonmal in Funktionen, dann würde man auch dort wesentlich leichter durchsteigen und hätte den Fehler dann schnell gefunden. "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 10.05.2016 um 14:33
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
Zitat: Wemi schrieb: Was an dem ganzen Code zuerst mal gemacht werden sollte ist aufräumen. Wenn man den hier in kleine Stücke teilt und daraus Funktionen macht, dann kann man den Code leichter lesen. Schöner wäre noch OOP, aber das wäre dann doch zuviel für Euch. Aber einen großen Teil kann man in Funktionen packen. Und dann steigt man da auch wesentlich besser durch. In deinem anderen Thread das gleiche. Ich vermute dort einfach eine falsch gesetzte geschweifte Klammer oder eine zu frühe DB Anfrage. Hätte man dort zumindest das was als GET['action'] ist schonmal in Funktionen, dann würde man auch dort wesentlich leichter durchsteigen und hätte den Fehler dann schnell gefunden. würde ich gerne machen aufräumen aber ich bin in der programmierung nicht so bewandert. das ist mein erster großer Umbau der es auch in sich hat. |
|
Springe ins Forum: |