|
Registriert seit: 7. Jun 2003 Ort: Mülheim an der Ruhr 436 Beiträge Delphi 10.3 Rio |
#1
Hallo,
ich steh grad vor einem deftigem Problem, ich dazu sagen ich hab 0 (in worten null!) Ahnung von irgendwelchen webbasierten Sprachen. Das Problem ist folgendes, ein sehr guter Freund von mir steht vor dem Problem das er im eigenen Lan (Netwerkfestplatte) eine Menge an Treibern rumfliegen hat (liegen alle als Ziparchiv vor) das Problem ist das wiederfinden dieser Treiber (Treiber für Mainboards diverser Hersteller) Jetzt hab ich mir folgendes überlegt, erst einmal hab ich mittels Xampp einen internen Webblog gebaut (Wordpress) welcher nur im Lan laufen wird wegen der Sicherheit ![]() 1. Sockel (z.B. 939 oder AM2) 2. Hersteller (z.B. Asus, Gigabyte usw.) 3. Bezeichnung (z.B. ALiveNF5SLI) 4. Submit Button Im Mysql Server gibt es pro Hersteller eine Tabelle die alle gleich aussehen, Felder der Tabellen sind: 1. ID 2. Sockel 3. Bezeichnung 4. Bemerkung 5. Url 6. OperatingSystem Url ist der lokale Pfad auf das Verzeichnis der Netzwerkplatte für den Treiber. Nachdem ausfüllen des Formulars und klick auf den Submit Button wird unterhalb des Formulars eine Tabelle mit dem ResultSet der Suchanfrage gefüllt. Mein Problem ist aufgrund der nichvorhandenen Kenntnisse im Bereich Webprogrammierung mit PHP und HTML, Javascript usw. das folgende Probleme auftreten: 1. Beim ersten Aufruf der Seite gibt es einen SQL Query Fehler (meine Vermutung ist das eine Variable zu diesem Zeitpunkt nicht gefüllt ist, beim erstmaligem klick auf Submit ist dann alles OK.) 2. Dem ganzen Fehlt noch eine gewissen Logik wie z.B. die Überprüfung der durch den User gemachten Eingaben im Formular, wenn jemand z.B. eine Suche ausführen will, die den Sockel und den Hersteller beinhaltet jedoch nicht die Bezeichnung, dementsprechend muss das Query ja dann dynamisch gebaut werden. Oder falls der User gar nichts auswählt und einfach Submit klickt,dann sollte unterhalb des Formulars halt eine Bemerkung ala: 'Bitte folgende Felder ausfüllen erscheinen' vielleicht wäre das ja in einem seperaten Div möglich? Ich zeig mal was ich bisher hab vielleicht steigt ja jemand durch? Code für die Table unterhalb des Suchformulars (ZebraTable):
Code:
Die eigentliche Routine zum Connect auf den Mysql Server (Table) usw...:
<script type="text/javascript">
var Event = { add: function(obj,type,fn) { if (obj.attachEvent) { obj['e'+type+fn] = fn; obj[type+fn] = function() { obj['e'+type+fn](window.event); } obj.attachEvent('on'+type,obj[type+fn]); } else obj.addEventListener(type,fn,false); }, remove: function(obj,type,fn) { if (obj.detachEvent) { obj.detachEvent('on'+type,obj[type+fn]); obj[type+fn] = null; } else obj.removeEventListener(type,fn,false); } } function $() { var elements = new Array(); for (var i=0;i<arguments.length;i++) { var element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements; } String.prototype.trim = function() { return this.replace(/^\s+|\s+$/,""); } function addClassName(el,className) { removeClassName(el,className); el.className = (el.className + " " + className).trim(); } function removeClassName(el,className) { el.className = el.className.replace(className,"").trim(); } var ZebraTable = { bgcolor: '', classname: '', stripe: function(el) { if (!$(el)) return; var rows = $(el).getElementsByTagName('tr'); for (var i=1,len=rows.length;i<len;i++) { if (i % 2 == 0) rows[i].className = 'alt'; Event.add(rows[i],'mouseover',function() { ZebraTable.mouseover(this); }); Event.add(rows[i],'mouseout',function() { ZebraTable.mouseout(this); }); } }, mouseover: function(row) { this.bgcolor = row.style.backgroundColor; this.classname = row.className; addClassName(row,'over'); }, mouseout: function(row) { removeClassName(row,'over'); addClassName(row,this.classname); row.style.backgroundColor = this.bgcolor; } } window.onload = function() { ZebraTable.stripe('mytable'); } </script> <style type="text/css"> body { background: #fff; } table { border-collapse: collapse; width: 50%; margin: 24px; font-size: 1.1em; } th { background: #3e83c9; color: #fff; font-weight: bold; padding: 2px 11px; text-align: left; border-right: 1px solid #fff; line-height: 1.2; } td { padding: 6px 11px; border-bottom: 1px solid #95bce2; vertical-align: top; } td * { padding: 6px 11px; } tr.alt td { background: #ecf6fc; } tr.over td, tr:hover td { background: #bcd4ec; } </style>
Code:
Das Suchformular:
<?php
include("dbconnect.php>"); $global_dbh = mysql_connect($hostname, $username, $password) or die("Could not connect to database"); mysql_select_db($db, $global_dbh) or die("Could not select database"); function display_db_query($query_string, $connection, $header_bool, $table_params) { // perform the database query $result_id = mysql_query($query_string, $connection) or die("display_db_query:" . mysql_error()); // find out the number of columns in result $column_count = mysql_num_fields($result_id) or die("display_db_query:" . mysql_error()); // Here the table attributes from the $table_params variable are added print("<TABLE width=\“50%\“ id=mytable $table_params >\n"); // optionally print a bold header at top of table if($header_bool) { print("<TR>"); for($column_num = 0; $column_num < $column_count; $column_num++) { $field_name = mysql_field_name($result_id, $column_num); print("<TH>$field_name</TH>"); } print("</TR>\n"); } // print the body of the table while($row = mysql_fetch_row($result_id)) { print("<TR ALIGN=LEFT VALIGN=TOP>"); for($column_num = 0; $column_num < $column_count; $column_num++) { print("<TD>$row[$column_num]</TD>\n"); } print("</TR>\n"); } print("</TABLE>\n"); } function display_db_table($tablename, $socket, $connection, $header_bool, $table_params) { if($socket == "All") { $query_string = "SELECT * FROM $tablename"; } else { $query_string = "SELECT * FROM $tablename WHERE sockel = '$socket'"; } display_db_query($query_string, $connection, $header_bool, $table_params); } ?>
Code:
Durchführen der Suche sowie Füllen der Variablen:
<form action="searchform.php" method="post">
<form name="form1" method="post" action=""> <label>Socket <select name="Socket" id="Socket"> <option value="AM2">AM2</option> <option value="AM2+">AM2+</option> <option value="939">939</option> <option value="All" selected>All</option> </select> </label> <label>Manufacturer <select name="Manufacturer" id="Manufacturer"> <option value="Asrock">Asrock</option> <option value="Abit">Abit</option> <option value="Asus">Asus</option> <option value="Gigabyte">Gigabyte</option> <option value="Msi">Msi</option> </select> </label> <label>Search <input type="submit" name="Search" value="Submit"> </label> </form>
Code:
Viele Grüße
<?php
$table = $_POST['Manufacturer']; $sock = $_POST['Socket']; //$bez = $_POST['bezeichnung']; display_db_table($table, $sock, $global_dbh, TRUE, "border='0'"); ?> Marc |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |