Hi!
Ich glaube, das was ich da programmiert habe ist echt umständlich und generiert eine Menge Quelltext bei der Ausführung. Aber wie kann man das Skript an der Stelle durch Schleifen vereinfachen?
Grundfunktion ist, das ich per Checkboxen auswähle, welche Spalten ich bei einer Datenbankabfrage in eine Liste angezeigt bekommen möchte. Nur habe ich das bis jetzt umständlich gelöst. Ich frage jedesmal ab, ob der Haken gesetzt ist, der Wert also automatisch dem Spaltennamen entspricht und per If nun entschieden wird, ob diese td - Spalte angezeigt werden soll
Geht das auch irgendwie einfacher ?
Andere Möglichkeit wäre noch, wenn ich die Rückgabewerte der Checkbox felder als Variablen in die Select value1,value2,,... from tablelle xyz einsetzen würde. Dann bräuchte ich doch nur die Tabelle durch eine Schleife generieren lassen, die automatisch die richtigen Spalten einfügt, die in der Ergebnismenge stehen oder?
Kann man eigentlich dann der Tabelle noch sagen, dass bei der Generierung ich abwechselnde Zeilenfarben haben möchte. Also grau und blau im Wechsel?
Gruß von einem PHP-Einsteiger
AlexD
Ich glaube, das was ich da programmiert habe ist echt umständlich und generiert eine Menge Quelltext bei der Ausführung. Aber wie kann man das Skript an der Stelle durch Schleifen vereinfachen?
Grundfunktion ist, das ich per Checkboxen auswähle, welche Spalten ich bei einer Datenbankabfrage in eine Liste angezeigt bekommen möchte. Nur habe ich das bis jetzt umständlich gelöst. Ich frage jedesmal ab, ob der Haken gesetzt ist, der Wert also automatisch dem Spaltennamen entspricht und per If nun entschieden wird, ob diese td - Spalte angezeigt werden soll
Geht das auch irgendwie einfacher ?
PHP:
<form action="liste.php" method="post">
<h1>Bitte die Auswahl treffen!</h1>
<table border="0" width="80%">
<tr>
<td align="right"><input type="checkbox" value="date" name="select_date"></td><td>Date</td>
<td align="right"><input type="checkbox" value="state" name="select_state" ></td><td>State</td>
<td align="right"><input type="checkbox" value="site" name="select_site" checked></td><td>Site</td>
<td align="right"><input type="checkbox" value="bg" name="select_bg" ></td><td>Business Group</td>
<td align="right"><input type="checkbox" value="division" name="select_division" ></td><td>Division</td>
<td align="right"><input type="checkbox" value="room" name="select_room" checked></td><td>Room</td>
</tr>
<tr>
<td align="right"><input type="checkbox" value="serial" name="select_serial" checked></td><td>Serial</td>
<td align="right"><input type="checkbox" value="mac" name="select_mac" checked></td><td>Mac</td>
<td align="right"><input type="checkbox" value="cpuid" name="select_cpuid" ></td><td>CPU-ID</td>
<td align="right"><input type="checkbox" value="host" name="select_host" checked></td><td>Host</td>
<td align="right"><input type="checkbox" value="manuf" name="select_manuf" checked></td><td>Manufactor</td>
<td align="right"><input type="checkbox" value="model" name="select_model" checked></td><td>Model</td>
</tr>
<tr>
<td align="right"><input type="checkbox" value="cpu" name="select_cpu" checked></td><td>CPU</td>
<td align="right"><input type="checkbox" value="os" name="select_os" ></td><td>OS</td>
<td align="right"><input type="checkbox" value="ram" name="select_ram" checked></td><td>Ram</td>
<td align="right"><input type="checkbox" value="hdd" name="select_hdd" checked></td><td>HDD</td>
<td align="right"><input type="checkbox" value="graphics" name="select_graphics" ></td><td>Graphics</td>
<td align="right"><input type="checkbox" value="remarks" name="select_remarks" checked></td><td>Remarks</td>
</tr>
<tr><td colspan="12"><input type="submit" name="suchen" value="suchen"></td></tr>
</table>
</form>
<?php
if(isset($suchen)) {
/* connect.php enthält die Verbindungsinformationen */
include("connect.php");
include("sql_strings.php");
?>
<table border="0" cellspacing="5px" cellpadding="5px">
<?php
$query=mysql_query("SELECT * from test_inventar.inventar order by SITE,INV,TYP");
while($data1=mysql_fetch_array($query))
{
?>
<tr bgcolor="#EFEFEF">
<td><a href="anzeigen.php?id=<? echo $data1[INV];?>"><? echo $data1[INV]; ?></a></td>
<?
if ($_POST[select_host] == "host")
{
?>
<td>
<? echo $data1[HOST]; ?>
</td>
<?
}
?>
<td><? echo $data1[TYP]; ?></td>
<?
if ($_POST[select_date] == "date")
{
?>
<td>
<? echo $data1[DATE]; ?>
</td>
<?
}
?>
... //und so geht das für jede Spalte weiter
Andere Möglichkeit wäre noch, wenn ich die Rückgabewerte der Checkbox felder als Variablen in die Select value1,value2,,... from tablelle xyz einsetzen würde. Dann bräuchte ich doch nur die Tabelle durch eine Schleife generieren lassen, die automatisch die richtigen Spalten einfügt, die in der Ergebnismenge stehen oder?
Kann man eigentlich dann der Tabelle noch sagen, dass bei der Generierung ich abwechselnde Zeilenfarben haben möchte. Also grau und blau im Wechsel?
Gruß von einem PHP-Einsteiger
AlexD