checkaline Geschrieben 7. August 2017 Teilen Geschrieben 7. August 2017 Hallo Ich möchte ein Formular erstellen mit select. Ich möchte, dass der Kunde die Möglichkeit hat, eine Automarke auszuwählen und darauf hin dann den Typ. Bin totaler Anfänger :/ Das ist zb mal ein kleiner Teil des Formulars. Da ich aber jetzt nicht jede Marke einzeln eintragen möchte, wollte ich wissen, ob ich in dem Formular direkt auf phpmyadmin zugreifen kann (in dem Fall auf "make", damit er mir dann automatisch alle Marken anzeigt? <form action="Projekt_Marie1.php.php" method= "post"> <p><select name="m"> <option value="Alfa Romeo" selected ="selected">IBM Corporation</option> <option value="Audi">Audi</option> <option value="BMW">BMW</option> <option value="Chevrolet">Chevrolet</option> <option value="Chrysler">Chrysler</option> <option value="Citroen">Citroen</option> <option value="Dacia">Dacia</option> <option value="Chevrolet">F</option> <option value="Chevrolet">Fujitsu</option> <option value="Chevrolet">Fujitsu</option> </select></p> <p><input type="submit"> <input type="reset"></p> </form> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
allesweg Geschrieben 7. August 2017 Teilen Geschrieben 7. August 2017 Was willst du im administrativen Webfrontend? Nach 1,5 Jahren Umschulung solltest du zumindest wissen, worauf du zugreifen willst/müsstest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PhilipFISI Geschrieben 7. August 2017 Teilen Geschrieben 7. August 2017 (bearbeitet) Du willst nicht auf phpMyAdmin zugreifen, sondern auf die Tabelle "Marke" in der entsprechenden Datenbank. Schau dir nochmal an, wie man mit php auf Datenbanken zugreift und wie man die einzelnen Datensätze auslesen kann. Wenn du das beherrschst, musst du dir eigentlich nur noch eine kleine Schleife basteln, die die Markennamen aus der Tabelle "Marke" als Auswahlpunkte ausgibt. Bearbeitet 7. August 2017 von PhilipFISI Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sullidor Geschrieben 7. August 2017 Teilen Geschrieben 7. August 2017 vor 3 Stunden schrieb checkaline: Bin totaler Anfänger :/ vor 3 Stunden schrieb allesweg: Nach 1,5 Jahren Umschulung solltest du zumindest wissen, worauf du zugreifen willst/müsstest. Wenn du wirklich bereits 3/4 deiner Umschulung absolviert hast, dann würde ich diese Frage als klaren Hinweis sehen, dass du als Anwendunsgentwicklerin, bereits in den Grundlagen, schwerste Defizite aufweist und da DRINGEND dran arbeiten solltest. Dir scheint momentan nicht einmal der Unterschied zwischen einem Webbasierten Tool auf PHP-Basis und einer Datenbank geläufig zu sein. Es gibt einige gute Bücher über PHP und MYSQL. Ich würde dir daher dazu raten, solch ein Buch einmal, inklusiver der Grundlagen, durchzugehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pr0gg3r Geschrieben 7. August 2017 Teilen Geschrieben 7. August 2017 Zitat <form action="Projekt_Marie1.php.php" method= "post"> <p><select name="m"> <option value="Alfa Romeo" selected ="selected">IBM Corporation</option> <option value="Audi">Audi</option> <option value="BMW">BMW</option> <option value="Chevrolet">Chevrolet</option> <option value="Chrysler">Chrysler</option> <option value="Citroen">Citroen</option> <option value="Dacia">Dacia</option> <option value="Chevrolet">F</option> <option value="Chevrolet">Fujitsu</option> <option value="Chevrolet">Fujitsu</option> </select></p> <p><input type="submit"> <input type="reset"></p> </form> Ohne dir zu nahe treten zu wollen, habe ich dir einfach mal ein paar Stellen markiert, dazu folgende Kritik: Für Dateien am besten englische Bezeichnungen vergeben. Software wird überwiegend englisch entwickelt. Es gibt ausnahmen, aber dementsprechend schlecht ist dann meist auch die Qualität. Am besten auch alles klein schreiben. Wieso heißt die Datei ".php.php"? Zwischen = und " kommt kein Leerzeichen In ein Paragraph (<p>...</p>) kommen keine Blocklevel-Elemente (wie das Select oder das Input) sondern nur Textlevel-Elemente Der Option-Text und das Value-Attribute widersprechen sich. Tags, die nicht geschlossen werden, werden mit einem / vor dem > geschlossen (Bsp.: <input type="..." />). Einen Reset-Button habe ich seit gefühlten 100 Jahren nicht mehr gesehen Tu dir selbst einen gefallen und rücke den Code ein, dadurch ist er viel lesbarer vor 9 Stunden schrieb checkaline: Das ist zb mal ein kleiner Teil des Formulars. Da ich aber jetzt nicht jede Marke einzeln eintragen möchte, wollte ich wissen, ob ich in dem Formular direkt auf phpmyadmin zugreifen kann Vermutlich hast du noch nicht verstanden, wie das alles zusammenhängt. Du hast eine MySQL-Datenbank, die irgendwo im Hintergrund auf deinem System oder Server läuft (ich vermute einfach mal einen XAMPP-Stack). PhpMyAdmin ist nichts anderes als ein Programm, das auf diese Datenbank zugreift und dir die Datenbank schön ausgibt und dir Möglichkeiten bietet, diese zu verwalten. Mit PHP greifst du nun nicht auf PhpMyAdmin zu - denn dies ist ja keine Datenbank - sondern direkt auf die MySQL-Datenbank. Das funktioniert in 4 Schritten: Datenbankverbindung aufbauen Tabelle selektieren Daten abfragen (oder modifizieren) Datenbankverbindung abbauen Dabei sollten dir folgende Docs helfen: http://php.net/manual/en/book.mysqli.php http://php.net/manual/en/function.mysqli-connect.php http://php.net/manual/en/mysqli.select-db.php http://php.net/manual/en/mysqli.query.php http://php.net/manual/en/class.mysqli-result.php http://php.net/manual/en/mysqli.close.php vor 9 Stunden schrieb checkaline: Bin totaler Anfänger :/ Das ist absolut nicht schlimm. Wichtig ist es, dass du dich selbständig in das Thema reinlesen kannst, Dokumentationen lesen und verstehen kannst und dir somit bei Problemen selber helfen kannst. Das ist alles ein bisschen viel für den Anfang, aber es ist durchaus machbar. Evtl. solltest du dir ein gutes Buch zulegen. Wichtig ist auch, dass du dir angewöhnst, sauber zu programmieren. PhilipFISI, Thanks-and-Goodbye und neikei reagierten darauf 3 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 8. August 2017 Autor Teilen Geschrieben 8. August 2017 Hallo, Danke für eure Hilfe. Ja ich bin fast am Ende meiner Umschulung und ja ich habe viele Defizite. Was soll ich tun. Versuchen weiter zu lernen oder alles hinschmeißen? Habe selber gesehen grad, dass ich das Stück Programm noch gar nicht ausgebessert habe. Tut mir leid. Habe ein php Buch, welches wohl nicht so gut ist, denn dort ist es mit dem "<p>...</p> so beschrieben. Bin es gewohnt, deutsche variablen etc zu nehmen, weil wir es so gelernt haben in der Schule. Auch das mit dem Reset-Button ist im Buch so erklärt. Bin selbst schon fast am aufgeben, weil ich merke, dass ich viel mehr Zeit brauche, um das zu verstehen. Habe hier im Praktikum auch deutlich gemacht, dass ich Hilfe brauche. Mal sehen. Ich habe die Datenbank geöffnet und die Spalte rausgelesen mit Select make From Fahrzeuge und in die Variable $sql gesteckt. Nun wollte ich das Formular öffnen, und danach eine foreach-Schleife machen foreach($sql AS $ $marke { echo $marke; } Momentan sieht es so aus: <!DOCTYPE html><html><head><meta charset="utf-8"></head> <body> <?php $con = mysqli_connect("", "root", "rooter"); mysqli_select_db($con, "fahrzeuge"); $sql = "Select make FROM fahrzeuge"; mysqli_query($con, $sql); <p>Bitte treffen Sie Ihre Auswahl:</p> <form action="projekt1.php" method= "post"> <select name="m"> foreach($sql AS $marke) echo $marke . "<br>"; <option value="$marke" selected ="selected">Marken</option> </select> <p><input type="submit"> <input type="reset"></p> </form>*/ mysqli_close($con); ?> </body></html> Bin mir auch nicht klar, was unter "value" rein soll. Ich muss ja unter option jetzt die Variable $marke reinwerfen, damit es dann auch angezeigt wird. Danke euch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
neinal Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 vor 19 Minuten schrieb checkaline: Ja ich bin fast am Ende meiner Umschulung und ja ich habe viele Defizite. Was soll ich tun. Versuchen weiter zu lernen oder alles hinschmeißen? Das kannst du vermutlich nur für dich selbst entscheiden. Da ich immer noch auf Antwort warte, warum du dich für ne Umschulung zum FI entschieden hast, kann ich dazu nix sagen. Schade. Hätte man vielleicht im Voraus schon helfen können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 8. August 2017 Autor Teilen Geschrieben 8. August 2017 vor 5 Minuten schrieb neinal: Das kannst du vermutlich nur für dich selbst entscheiden. Da ich immer noch auf Antwort warte, warum du dich für ne Umschulung zum FI entschieden hast, kann ich dazu nix sagen. Schade. Hätte man vielleicht im Voraus schon helfen können. Ich musste ein Job nehmen, wo ich eben am PC sitze bzw allgemein sitze. Bandscheibenvorfall. Und Bürotante wollte ich nicht werden. Fand es sehr interessant. Finde es immer noch interessant, aber sehr schwer. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
neinal Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 "Ein Job im Büro" ist leider nicht unbedingt der beste Grund sich für eine FI Aus- oder Umschulung zu entscheiden. Aber was solls. Der Zug ist abgefahren. Eigentlich würde ich jedem davon abraten nach der Zeit abzubrechen. Aber. Du musst für dich entscheiden, wie es weiter gehen soll. Das ist ja jetzt nur ein Auszug. Ich weiß nicht, wie deine anderen Kenntnisse oder dein Verständnis für die Themen sind. Genauso weiß ich nicht, was du nach der Umschulung vor hast. Durchziehen um danach dann doch wieder arbeitslos zu sein, hat wohl auch nicht viel Sinn. Aber das kann ich nicht beantworten, ohne Infos. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 8. August 2017 Autor Teilen Geschrieben 8. August 2017 Ich möchte das einfach gerne weiter lernen wollen, mein Wissen ausbauen und später drin arbeiten. Aber jetzt geht es erstmal um das eigentliche Problem. Möchte nicht zu sehr ausschweifen. Kannst mir gerne privat schreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Thanks-and-Goodbye Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 @neinal und die Übrigen: wenn ihr fachlich nichts beitragen könnt oder wollt: lasst es einfach sein. afo, Goulasz, JimTheLion und 2 Weitere reagierten darauf 5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 8. August 2017 Autor Teilen Geschrieben 8. August 2017 Ich habe jetzt mal anders angefangen. Ich habe jetzt eine einfache Ausgabe gemacht. Diese funktioniert erstmal. Mir zeigt es die Marken an und auch von jeder Marke nur einmal. $con = mysqli_connect("", "root", "rooter"); mysqli_select_db($con, "fahrzeuge"); $sql = "Select* FROM fahrzeuge GROUP BY make"; $res = mysqli_query($con, $sql); $num = mysqli_num_rows($res); if($num > 0) echo "Ergebnis:<br>"; else echo "Keine Ergebnisse<br>"; while ($dsatz = mysqli_fetch_assoc($res)) echo $dsatz["make"] . "<br>"; Nun hängt es eben am Formular :/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arlegermi Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 Lange her, dass ich PHP gemacht habe, aber: Eine einfache (unsaubere) Möglichkeit ist es, den HTML-Code mit in das echo zu packen (wie du's ja mit dem <br> auch schon gemacht hast). Also irgendwie sowas: echo "<form action='somepage.php' method='post'>"; while($dsatz = ...){ echo "<option value='".$dsatz["name"]."'>... } (Vorsicht: Ich bin in der Syntax zu PHP nicht wirklich fit, kann sein, dass das so nicht 1:1 geht. Prinzipiell aber schon.) Wie gesagt: Das ist nicht schön, aber so bekommst du schonmal was auf den Bildschirm. Perspektivisch kannst du dich ja mal damit befassen, wie man sowas geschickter und leichter wartbar umsetzt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 8. August 2017 Autor Teilen Geschrieben 8. August 2017 Mir hat hier nun endlich jemand geholfen. Das erste Formular ist fertig: <!DOCTYPE html><html><head><meta charset="utf-8"></head> <body> <?php include("db.php"); $sql = "Select make FROM fahrzeuge GROUP BY make"; $res = mysqli_query(connect(), $sql); $num = mysqli_num_rows($res); mysqli_close($con); if($num > 0) echo "Ergebnis:<br>"; else echo "Keine Ergebnisse<br>"; while ($dsatz = mysqli_fetch_assoc($res)) { $make[] = $dsatz["make"]; } ?> <p>Bitte treffen Sie Ihre Auswahl:</p> <form action="projekt_model.php" method= "post"> <select name="marke"> <?php foreach($make as $single_make): ?> <option value="<?php echo $single_make ?>" ><?php echo $single_make ?></option> <?php endforeach; ?> </select> <p><input type="submit"> <input type="reset"></p> </form> </body></html> Jetzt mache ich eine neue Datei, für das nächste Formular. Das funktioniert leider noch nicht. Da bin ich noch am tüfteln, warum das jetzt so ist. Hier die 2. Datei: <!DOCTYPE html><html><head><meta charset="utf-8"></head> <body> <?php //unset($res); include("db.php"); $sql = "Select model FROM fahrzeuge WHERE make = '" . $_POST["marke"] ."' GROUP BY model"; $res = mysqli_query(connect(), $sql); $num = mysqli_num_rows($res); mysqli_close($con); if($num > 0) echo "Ergebnis:<br>"; else echo "Keine Ergebnisse<br>"; while ($result = mysqli_fetch_assoc($res)) { $model[] = $result["model"]; } print_r($model); ?> <form action="projekt_type.php" method="post"> <select name="model"> <?php foreach($model as $single_model): ?> <option value="<?php echo $single_model ?>" ><?php echo $single_model ?></option> <?php endforeach; ?> </select> <p><input type="submit"> <input type="reset"></p> </form> <?php } ?> </body></html> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JimTheLion Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 (bearbeitet) Hallo, dein Code sollte etwa so aussehen: <?php $con = mysqli_connect("", "root", "rooter"); mysqli_select_db($con, "fahrzeuge"); $sql = "Select make FROM fahrzeuge"; $result = mysqli_query($con, $sql); if (!$result) { throw new Exception('Fehler in der Abfrage: ' . $sql); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>Bitte treffen Sie Ihre Auswahl:</p> <form action="projekt1.php" method= "post"> <select name="m"> <?php while($marke = mysqli_fetch_assoc($result)) { ?> <option value="<?= $marke['marke'] ?>" ><?= $marke['marke'] ?></option> <?php } ?> </select> <p> <input type="submit"> <input type="reset"> </p> </form> </body> </html> Wichtige Punkte sind: EVA-Prinzip Eingabe, Verarbeitung, Ausgabe. In diesem Fall gibt es keine eigegebenen Daten die validiert werden müssen etc. Aber du musst die Daten verarbeiten die du bereits im System hast und darstellen möchtest. Das heißt für diesen Fall: Stelle zu allererst sicher, dass dein System alles bereitstellen kannst was du brauchst bevor du irgend etwas an den Client ausgibst. - Bau die Verbindung zur Datenbank auf - Sende die Abfrage an die Datenbank - Frag nach, ob die Abfrage erfolgreich war Das ist in dem Beispiel sehr grob gehalten, eigentlich müsstest du nach dem mysqli_connect auch nochmal nachfragen ob du die Datenbank überhaupt erreichen konntest.. dann sollten Fehler anders behandelt werden als dem User einfach eine Exception hinzuwerfen, aber meine Tastatur ist aktuell nicht gut um so viel zu coden. Wechsel zwischen PHP und HTML Bei deinem Code sieht man, dass du HTML und PHP einfach durcheinander schreibst ohne die PHP-Tags passend zu öffnen und zu schließen. Bei meinem Code habe ich am Anfang einen größeren PHP-Block für die Beschaffung der darzustellenden Daten. Danach öffne ich im HTML immer wieder die PHP-Tags um ein paar Konstrukte unterzubringen, an diesen Stellen wird das HTML-Template um die Daten aus PHP erweitert: <select name="m"> <?php while($marke = mysqli_fetch_assoc($result)) { ?> <option value="<?= $marke['marke'] ?>" ><?= $marke['marke'] ?></option> <?php } ?> </select> <?= $dsfsdf ?> ist die Kurzform für echo. Man könnte an der Stelle auch <?php echo $dsfsdf ?> schreiben. Kenn deine Variablen $sql enthält die Abfrage die du an die Datenbank sendest. Das Ergebnis dieser Abfrage fängst du nirgendwo auf, es landet im Nichts. Später versuchst du dann über $sql zu iterieren. Ich nutze dein $sql auch für die Abfrage und lasse das Ergebnis auf $result schreiben. Wäre die Abfrage syntaktisch falsch würde $result false sein, darauf prüfe ich und gebe entsprechend eine Exception aus die eine kurze Beschreibung des Fehlers "fehlerhafte Abfrage" und die Abfrage selbst enthält. $result enthält übrigens nicht die Werte aus der Datenbank sondern ist nur eine Ressource über die du die Daten abholen kannst, dafür nutze ich später mysqli_fetch_assoc() um zeilenweise die Ergebnisse in Form eines assoziativen Arrays auszulesen. Die Zeilen werden in der Schleife auf $marke geschrieben. Marke enthält den key 'make' den du in der Abfrage als Spalte angegeben hast. EDIT zum zweiten Formular include("db.php"); $sql = "Select model FROM fahrzeuge WHERE make = '" . $_POST["marke"] ."' GROUP BY model"; $res = mysqli_query(connect(), $sql); Das connect() als Parameter ist magic. Nutze lieber wie im ersten Formular eine Variable um die Verbindung aufzubewahren. Stell dir vor du würdest noch mehrere Abfragen absenden, dann würdest du jedes mal die bestehende Verbindung neu herstellen. Die Abfrage ist eine Einladung. Nutz Prepared Statements um Usereingaben an die Datenbank zu senden. Das GROUP BY in der Abfrage ist, auf den ersten Blick, seltsam. Hast du die gleichen Modelle mehrfach in der Tabelle? Auch hier: Datenbankverbindung nicht erst mitten im Template aufbauen, mach sowas am Anfang um rechtzeitig auf Fehler reagieren zu können. Noch eine persönliche Anmerkung: Es ist super, dass du nicht die mysql-API nutzt. Aber mysqli ist immer noch ziemlich unbequem und an manchen Stellen unnötig umfangreich. Wenn du die Zeit hast versuch dich in PDO einzuarbeiten, du müsstest dich dann an die Objekt-Syntax gewöhnen aber die Funktionsaufrufe sind bedeutend intuitiver. Zudem unterstützt es auch noch andere Datenbanksysteme, das heißt falls du z.B. mal PostgreSQL statt MySQL nutzt musst du dich nicht in eine neue API einarbeiten. vor 14 Stunden schrieb pr0gg3r: In ein Paragraph (<p>...</p>) kommen keine Blocklevel-Elemente (wie das Select oder das Input) sondern nur Textlevel-Elemente select und input sind keine Block-Elemente. Bearbeitet 8. August 2017 von PVoss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 vor 8 Minuten schrieb checkaline: Jetzt mache ich eine neue Datei, für das nächste Formular. Wofür die Formulare in einzelne HTML-Dokumenten? Wieso ein zweites Formular? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 8. August 2017 Autor Teilen Geschrieben 8. August 2017 Ich danke euch. Das ist erstmal echt viel für mich und arbeite mich durch eure Texte mal durch. Extra Dateien: Er meinte ist für mich übersichtlicher als alles auf ein Haufen. Und ja die Automarken gibt es mehrfach in der Datenbank, deshalb die Abfrage. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hellspawn304 Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 Warum machst du dann in der abfrage kein distinct auf die marke, du willst sie ja nur einmal haben und nicht n-mal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 8. August 2017 Teilen Geschrieben 8. August 2017 Die Frage ist doch, warum die Marken überhaupt in der Tabelle doppelt stehen? Das wäre doch eine unique constraint-verletzung. Edit: Okay, die Daten liegen wohl nicht normalisiert vor. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 9. August 2017 Autor Teilen Geschrieben 9. August 2017 (bearbeitet) Die stehen doppelt weil zb Audi gibt es mit verschiedenen Baujahren dann mit verschiedenen typen usw Ich habe mal noch eine wichtige Frage. Ich habe ein if/else gemacht. Läuft an sich gut, aber in der Datenbank sind Felder zb so angegeben: Bus (SUV) Wenn ich das ins if in die Klammer so eintrage, gibt es mir keine Ausgabe. Liegt das an den Daten in Klammern? if($size == Groß) { echo "Die Kosten für dieses Fahrzeug betragen 3500.00 €."; } else if($size == Klein) { echo "Die Kosten für dieses Fahrzeug betragen 1500.00 €."; } else if($size == Mittel) { echo "Die Kosten für dieses Fahrzeug betragen 2499.00 €."; } else if($size == Bus) { echo "Die Kosten für dieses Fahrzeug betragen 3999.00 €."; } else if($size == Groß(SUV)) { echo "Die Kosten für dieses Fahrzeug betragen 4000.00 €."; } Er nimmt alles an wie zb die Auswahl klein, oder groß, aber nicht die mit (SUV) wo de Klammern drum sind Bearbeitet 9. August 2017 von checkaline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
neinal Geschrieben 9. August 2017 Teilen Geschrieben 9. August 2017 (bearbeitet) Hey, du schreibst, dass die Felder zum Beispiel "Bus (SUV)" heißen. Fragst aber im Code nach "Bus" oder "Groß(SUV)" ab. Kann es sein, dass du da einen Denkfehler hast? Oder hast du hier im Text was falsch erklärt? Bin mir nicht sicher. Aber ich kenne es so, dass man Texte (Wie in deinem Fall) in Anführungszeichen setzen muss. Weil das ja der Inhalt der Variable ist, oder? Oder heißt die Variable so? Bearbeitet 9. August 2017 von neinal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 9. August 2017 Teilen Geschrieben 9. August 2017 vor 4 Minuten schrieb checkaline: Die stehen doppelt weil zb Audi gibt es mit verschiedenen Baujahren dann mit verschiedenen typen usw Wenn man es richtig machen würde, hätte man eine Tabelle für die Marken und eine Tabelle für die Typen. Die Typen-Tabelle würde dann auf die Marken-Tabelle verweisen. vor 6 Minuten schrieb checkaline: Wenn ich das ins if in die Klammer so eintrage, gibt es mir keine Ausgabe. Liegt das an den Daten in Klammern? Was ist $size für ein Datentyp? Stecken da die Begriffe, wie "Mittel", "Bus", drinnen? Ist es also ein String? Wenn ja, dann musst du die Begriffe auch in Hochkommata setzen. Also: $size == 'Groß' usw. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arlegermi Geschrieben 9. August 2017 Teilen Geschrieben 9. August 2017 Musst du die Werte nicht in Anführungszeichen setzen? PHP ist da offenbar sehr nachsichtig und interpretiert die Dinger drüber tatsächlich als Werte. Bei xyz(...) wird er aber wohl versuchen, eine Funktion aufzurufen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
checkaline Geschrieben 9. August 2017 Autor Teilen Geschrieben 9. August 2017 Auch in Anführungsstrichen gehts leider nicht. Also : Ich habe einmal Fahrzeuge ->Spalte: size. Die habe ich aus der Datenbank ausgelesen und in $size gesteckt. Nun möchte ich vergleichen. Wenn $size zb. = Bus ist, dann gebe das und das aus. Vorher durchläuft es noch andere Formulare, weil der Benutzer eine Marke, ein Typ usw auswählen muss. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 9. August 2017 Teilen Geschrieben 9. August 2017 Was steckt denn in $size drinnen? Wenn das nicht funktioniert, dann kann ja da nicht "Bus" drinnen stecken. Lass dir $size doch mal ausgeben, um zu schauen, was da drinnen ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.