[Gelöst] Tabnavigation - Inhalt per DIV und Link

Hallo zusammen,

folgendes Szenario: Ich habe eine Adressverwaltung, welche ich angepasst habe in PHP und MySQL. Jetzt möchte ich gerne ein wenig die Anzeige der Daten verändern. Insbesondere möchte ich mehrere DIV-Boxen per Tabnavigation einblenden können. Die Tabnavigation besteht aus a href Verknüpfungen. Da das eine komplette Datei ist, kann ich dies auch leider nicht auslagern, da sonst die MySQL-Abfrage nicht mehr läuft. Wie gesagt ist ein fertiges Script, welches ich nur optisch anpassen möchte. Folgenden Code habe ich verwendet:

<ul id="simple-tab"> <li><a href="?display1=true">&Uuml;bersicht</a></li> <li><a href="?display2=true">Firma</a></li>

Als “Standalone” also noch nicht implementiert in die Adressverwaltung, funktioniert das auch nur wenn ich das jetzt einfüge, dann bekomme ich immer folgende Fehlermeldung:
“Fehler bei der Ausführung der Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ at line 1”.

Kann ich diese Tabnavigation auch anders gestalten ohne das ich was im MySQL verändern muß? Javascript kommt nicht in Frage, dachte ich könnte da entsprechende PHP-Befehle einsetzen. Hat jemand eine Idee wie ich das hinbekomme das mir dann der Inhalt der DIV-BOX angezeigt wird?

Ähm, was spricht gegen [code]

<?php if( isset( $_GET['display1'] )){ ?>
Meine DIV-Box 1
<?php }else if( isset( $_GET['display2'] )){ ?>
Meine DIV-Box 2
<?php } ?>[/code]

Dagegen spricht, das auch diese Variante den oben genannten Fehler mit der MySQL Datenbank erzeugt. Klappt leider so auch nicht.

Ok, du behandelst MySQL wie das große Etwas^^
Is auch ok, wenn du da nix ändern. Wichtig für dich ist nun, was für infos MySQL braucht. Denn so wie der Fehler aussieht, könnte einfach irgend nen Parameter fehlen.

Die Frage is nun: welche deiner Änderungen verursacht des? Fehlen vl Get/Post-Daten?
Oder verwendet eine Abfrage in einem “DIV” Daten aus einer anderen Abfrage in einem anderen “DIV”? Weil du dann weiterhin alle Abfragen ausfüren musst.

Dh wenn du[code]

if( isset( $_GET[‘display1’] )){
$datenFuerDivEins = sql…
?>

Meine DIV-Box 1
<?php }else if( isset( $_GET['display2'] )){ $datenFuerDivZwei = sql.....".$datenFuerDivEins['UserID']."..... ?>
Meine DIV-Box 2
<?php } [/code] hast, kannst du diese Abrfagen (wie übrigens andere Daten-verarbeiung) nicht einfach "ausblenden". Du must die aus dem "IF" rausnehmen.

Dein Ansatz war natürlich noch einfacher. Du willst ja einfach alles wie vorher berechnen , zum Client senden und dort einfach nicht anzeigen lassen. Abgesehn davon, dass des vl keine so optimale Lösung ist, werden SQL-Sachen dadurch nicht verändert. Es müsste also gehn. Außer das Script braucht wieder irgendwelche GET/Post-Parameter, die du durch den Link wegmachst…

Ja da hast du recht ich behandel MySQL wirklich als das große “ETWAS” aber nur aus dem Grund das ich leider noch keinen blassen Schimmer von MySQL habe. Deswegen will ich da möglichst nichts verändern. Ja in den DIV’s werden Felder aus MySQL abgefragt das stimmt. Wie gesagt das Script ist so erworben worden und ich versuche nur die optik etwas zu verändern. In einem ersten Versuch habe ich das auch schon hinbekommen, nur da ich dort nun zusätzlich noch Tabs benutzen möchte wird das jetzt etwas hakelig. Mein Problem ist leider auch das ich (noch) nicht erkennen kann wie das Script Daten abfragt folglich könnte ich so eine if-Abfrage gar nicht einbauen. :neutral_face:

Wenn ich die Tabnavigation komplett rausnehme, dann wird mir alles anstandslos angezeigt. Irgendwie hängt das mit der Navigation zusammen, nur wie…

pack ma in die Version ohne Tab-Navigation nen "var_dump($_GET,$_POST);"
wenn dann array(0) { } array(0) { } kommt, bin ich ratlos :neutral_face:

wenn du das ganze script posten würdest könnte dir bestimmt jemand helfen…
aber ich verstehe natürlich wenn das du es nicht posten darfst/willst.

Das ganze Script? Dann werde ich bestimmt wieder erschlagen weil es sind 1689 Zeilen in dem Script. Ich darf bzw. kann schon aber meist bekommt man dann die Antwort man solle nur den notwendigen Teil posten. Ich hänge mal das Script als .zip-Datei dran dann könnt ihr euch das mal anschauen. Hoffe mir kann da wirklich jemand helfen.

Versuch ma:

[code]

<table id=[/code]

Klappt auch nicht immer noch der MySQL-Fehler.

auf welche zeile im script tritt der fehler auf?
evtl post der ganze meldung.

Eine Zeilenangabe steht da nicht. Der Fehler entsteht sobald ich auf das Navigationstab z.B. Firma klicke, dann kommt die Fehlermeldung:“Fehler bei der Ausführung der Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ at line 1”

Die Tabnavigation fängt ab Zeile 559 an.

Willst du es überhaupt mit PHP machen? Vielleicht hast du ja eher Lust auf AJAX oder JS mit statischem Inhalt?

Mit PHP sollte das allerdings wirklich kein Problem sein:

Debugging lernen!
peterkropff.de/tutorials/php_feh … tte_db.htm

wahres wort! bevor man 1689 Zeilen code durchwürstelt, interprätiere man die sql-fehlermeldung: ‘You have an error in your SQL syntax;’!! also ab sofort ist es obsolet, ‘ob etwas’ in get oder post - oder sonstwo - ist, insteressant ist nur was? du möchtest eine zeile vor der sql-abfrage deine query mit echo ausgeben. so kannst ganz leicht einsehen, was da drinnen steckt. wenn du dich dann damit nicht auskennst, kannst hier den query-inhalt posten ;o)

Nur mal nebenbei als Information. Das Adress-Script läuft im Originalzustand einwandfrei. Also keine Fehler. Was ich machen wollte, ist das Layout etwas auf meine Bedürfnisse anzupassen. Meine erste Version des Layouts hat ja auch funktioniert, allerdings hatte ich da noch keine DIV-Boxen eingesetzt, sondern generell immer alle Infos anzeigen lassen (Inhalt der SQL-Tabelle). Der Übersicht wegen und auch einer besseren Optik wegen wollte ich das nun etwas ändern indem ich einige Felder in verschiedene DIV-Boxen implementieren möchte, welche nur angezeigt werden, wenn ich auf den entsprechenden Tab klicke. Nur leider stört diese Navigation (Tabs) wohl die Arbeitsweise des Scripts. Wie vorher schon erwähnt bin ich nach wie vor in der Lernphase: Learning by doing!

Wie schon erwähnt bin ich noch Anfänger und kann mit query und sql leider noch nicht so viel anfangen. Ausserdem möchte ich nur eine Tabnavigation mit DIV-Boxen innerhalb des Scripts implementieren. Mehr eigentlich nicht aber dafür suche ich etwas Hilfe.
JS wollte ich eigentlich nicht nutzen, sollte schon nach Möglichkeit ne PHP-Lösung geben wenn es eine gibt. Und wie gesagt es kann nichts includet werden, da alles in dieser Layout-Datei steht. Hat noch jemand ein Beispiel oder Lösungsansatz?

Den hast du bereits bekommen - betreibe Debugging!

Wir können nicht in deine Scripte hineinsehen, welche Variablen wann welche Werte haben, und was deshalb ggf. falsch läuft. Das kannst nur du machen.

ich hab jetzt im script vor jedem query ein echo eingefügt.
also einfach mal ausführen und ausgabe posten.

und bitte nicht vergessen vor dem testlauf style im browser generell ausschalten! die wichtige ausgabe kann sonst irgendwo hinter etwas (div, pic …) unsichtbar ‘steckenbleiben’ ;o)

Wie kann ich style im Browser selbst ausschalten? Wie soll das gehen? Oder heisst das ich soll das style aus dem script entfernen? Wenn ich die Angabe zu den DIV-Boxen entferne, dann funktioniert alles problemlos. Habe das jetzt mal so ausgeführt und bekomme folgende Meldung sobald ich auf einen Tab klicke:

[code]query von zeile 174: SELECT av_adress.id, av_adress.nachname, av_adress.vorname, av_adress.titel, av_adress.email, av_adress.url, av_adress.gebdatum, av_adress.datum, av_adress.geschlecht, av_adress.beruf, av_adress.intstatus, av_adress.anrede, av_adress.aid, av_adress.pid, av_adress.newsletter, av_adress.kid01, av_adress.kid02, av_adress.kid03, av_adress.kid04, av_adress.kid05, av_adress.kid06, av_adress.kid07, av_adress.kid08, av_adress.kid09, av_adress.kid10, av_adress.gid02, av_adress.gid03, av_adress.gid04, av_adress.gid05, av_adress.firma, av_adress.abteilung, av_adress.position, av_adress.adresse, av_adress.postfach, av_adress.bundesland, av_adress.land, av_adress.plz, av_adress.ort, av_adress.telefon_b, av_adress.telefon_p, av_adress.telefax, av_adress.mobil, av_adress.spitzname, av_adress.freifeld01, av_adress.freifeld02, av_adress.freifeld03, av_adress.freifeld04, av_adress.freifeld05, av_adress.bemerkung01, av_adress.bemerkung02, av_adress.bemerkung03, av_adress.bemerkung04, av_adress.bemerkung05, av_adress.tm01z001, av_adress.tm01z002, av_adress.tm01z003, av_adress.tm01z004, av_adress.tm01z005, av_adress.tm01z006, av_adress.tm01z007, av_adress.tm01z008, av_adress.tm01z009, av_adress.tm01z010, av_adress.tm01z011, av_adress.tm01z012, av_adress.tm01z013, av_adress.tm01z014, av_adress.tm01z015, av_adress.tm01z016, av_adress.tm01z017, av_adress.tm01z018, av_adress.tm01z019, av_adress.tm01z020, av_kat.idk, av_kat.katname, av_kat.katset, av_kat.katparentid, av_kat.katdescript, av_kat.katpath, av_kat.katparentkatids, av_kat.katlevel, av_kat.katlegid FROM av_adress LEFT JOIN av_kat ON (av_adress.kid01=av_kat.idk) WHERE av_adress.id=

Fehler bei der Ausführung der Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ at line 1

fehler im query von zeile 174: SELECT av_adress.id, av_adress.nachname, av_adress.vorname, av_adress.titel, av_adress.email, av_adress.url, av_adress.gebdatum, av_adress.datum, av_adress.geschlecht, av_adress.beruf, av_adress.intstatus, av_adress.anrede, av_adress.aid, av_adress.pid, av_adress.newsletter, av_adress.kid01, av_adress.kid02, av_adress.kid03, av_adress.kid04, av_adress.kid05, av_adress.kid06, av_adress.kid07, av_adress.kid08, av_adress.kid09, av_adress.kid10, av_adress.gid02, av_adress.gid03, av_adress.gid04, av_adress.gid05, av_adress.firma, av_adress.abteilung, av_adress.position, av_adress.adresse, av_adress.postfach, av_adress.bundesland, av_adress.land, av_adress.plz, av_adress.ort, av_adress.telefon_b, av_adress.telefon_p, av_adress.telefax, av_adress.mobil, av_adress.spitzname, av_adress.freifeld01, av_adress.freifeld02, av_adress.freifeld03, av_adress.freifeld04, av_adress.freifeld05, av_adress.bemerkung01, av_adress.bemerkung02, av_adress.bemerkung03, av_adress.bemerkung04, av_adress.bemerkung05, av_adress.tm01z001, av_adress.tm01z002, av_adress.tm01z003, av_adress.tm01z004, av_adress.tm01z005, av_adress.tm01z006, av_adress.tm01z007, av_adress.tm01z008, av_adress.tm01z009, av_adress.tm01z010, av_adress.tm01z011, av_adress.tm01z012, av_adress.tm01z013, av_adress.tm01z014, av_adress.tm01z015, av_adress.tm01z016, av_adress.tm01z017, av_adress.tm01z018, av_adress.tm01z019, av_adress.tm01z020, av_kat.idk, av_kat.katname, av_kat.katset, av_kat.katparentid, av_kat.katdescript, av_kat.katpath, av_kat.katparentkatids, av_kat.katlevel, av_kat.katlegid FROM av_adress LEFT JOIN av_kat ON (av_adress.kid01=av_kat.idk) WHERE av_adress.id=[/code]
Was ich daraus lese ist, das vermutlich nicht alle Daten wegen den versteckten DIV-Boxen ausgelesen werden können bzw. fehlen oder liege ich da falsch?