| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 146
![]() | Hallo, wenn Du UMTS und BSS mit checkboxen abfragen lassen willst, so würde ich Dir empfehlen, dafür Variablen einzusetzen, die Du nachher wunderbar in der where-Klausel übernehmen kannst... so weißt Du immer, was der Anwender ausgewählt hat und bei der mysql-Abfrage kommt auch das richtige Ergebnis raus. Ist der Code mit den checkboxen vorhanden? kamalo |
| | |
| | |
| Gast
Beiträge: n/a
| hier ist mein Code ist eine komplizierte geschichte Code: WHERE(`schlagw`.`SchlagW_Nr` = 5) Code: <?
$db_handle = mysql_connect("localhost","","")
or die ("
Keine Verbindung möglich:
[i]" .mysql_error());
("Verbindung erfolgreich!");
"
\n";
$erfolg = mysql_select_db ("kompendium")
or die ("Angegebene Datenbank nicht vorhanden!
[i]" .mysql_error());
$sql_string = "SELECT
`parameter`.`Par_ID` ,
`parameter`.`Engl_Name` ,
`parameter`.`Deu_Name` ,
`schlagw`.`SchlagW_Name`
FROM
`parameter`
INNER JOIN `bezug` ON ( `parameter`.`Par_Nr` = `bezug`.`Par_Nr` )
INNER JOIN `schlagw` ON ( `bezug`.`SchlagW_Nr` = `schlagw`.`SchlagW_Nr`)";
$attrs = $_GET['attributes'];
if (!is_array($attrs))
{
$attrs = array();
}
function make_checkboxes($name, $querry, $options) // ('Attributes', attrs, personality_attributes)
{
echo "<table><tr>";
foreach($options as $value => $label) //Array wird ausgelesen, einzelne Werte werden nacheinander in $value gespeichert
{
echo "<td>";
echo "</td>";
echo ("<td width= \"200\" class=\"Check\">"); printf ('<input type="checkbox" name="%s[]" value="%s"',$name, $value);
if (in_array($value,$querry)) //$value ist ein suchbegriff was in $querry gesucht wird, bei erfolg -> TRUE
{
echo "checked";
}
echo ">$label</td>";
$r++;
if ($r==4) {$r=0; echo "</tr><tr>";} // für die Ausgabe in der Tabelle;
}
echo "</table>";
}
$query2 = mysql_query("SELECT * FROM schlagw"); //
$anzahl = mysql_num_rows($query2); //
//
for ($i=0;$i<$anzahl; $i++) // Die Werte werden aus der Datenbank ausgelesen
{ // und ein Assoziatives Array wird erstellt.
$x = mysql_fetch_row($query2); //
$a = "`schlagw`.`SchlagW_Nr` = $x[0]"; //
$personality_attributes["$a"] = "$x[1]"; // zB array(`schlagw`.`SchlagW_Nr` = 1" => "UMTS", .... );
}
?>
<form action="db.php" method="GET">
<?
make_checkboxes('attributes', $attrs, $personality_attributes);
?>
<input type="hidden" name="var" value="parameter">
<input type="submit" name="s" value="Anzeigen" />
<?
if (array_key_exists('s', $_GET)) // es wird geprüft ob ein Element in einem Array existiert zB if (array_key_exists (schlüssel,array)){...}
{
$descrpiption = join ( ") OR (", $_GET['attributes']); //verbindet zu einem String
$sql_string = $sql_string." WHERE(".$descrpiption.")";
//$sql_string = $sql_string." WHERE(`bezug`.`Par_Nr` != `bezug`.`Par_Nr` );
}
switch ($SelectiveKey)
{
case 'Dok.-Ref': $sql_string = ($sql_string."ORDER BY `parameter`.`Par_Nr`");
break;
case 'Englischer Name': $sql_string = ($sql_string."ORDER BY `parameter`.`Engl_Name`");
break;
case 'Deutscher Name': $sql_string = ($sql_string."ORDER BY `parameter`.`Deu_Name`");
break;
case 'Schlagwort': $sql_string = ($sql_string."ORDER BY `schlagw`.`SchlagW_Name`");
break;
}
$query = mysql_query($sql_string,$db_handle);
$zeilen = mysql_num_rows ($query);
$fields = mysql_num_fields($query);
//echo ($_SERVER['QUERY_STRING']);
echo ("
".$sql_string);
echo "
<table class=\"rundum\">\n
<tr>\n
<td class=\"navi\"><a href=\"$file_name?$QUERY_STRING&SelectiveKey=Dok.-Ref.\"> Dok.-Ref. </a></td>
<td class=\"navi\"><a href=\"$file_name?$QUERY_STRING&SelectiveKey=Englischer Name\"> Englischer Name </a></td>
<td class=\"navi\"><a href=\"$file_name?$QUERY_STRING&SelectiveKey=Deutscher Name\"> Deutscher Name </a></td>
<td class=\"navi\"><a href=\"$file_name?$QUERY_STRING&SelectiveKey=Schlagwort\"> Schlagwort </a></td>
</tr>\n\n";
for ($count = 0; $count<$zeilen; $count++)
{
$elemente = mysql_fetch_row ($query);
$r = fmod($count, 2); //fmod -- Returns the floating point remainder (modulo) of the division of the arguments
echo "<tr CLASS=\"tbody$r\">\n";
for ($row = 0; $row<$fields; $row++)
{
echo "<td>" .$elemente[$row]. " </td>\n";
}
echo "</tr>\n\n";
}
echo "</table>";
mysql_close ($db_handle);
?>
und die abfrage soll erweiter werden, zB wenn ein Parameter UMTS und BSS als Schlagwort hat, und ich UMTS und BSS markiere und anzeigen lasse, werden die gleiche Parameter doppelt angezeigt, es soll aber keine Parameter angezeigt werden die 2 oder mehrere Schlagwörter haben und ich genau die angeklickt habe, in dem fall wo ich UMTS und BSS angeklickt habe sollen die Parameter angezeigt werden die nur UMTS oder nur BSS haben, oder die die UMTS und CallYa haben aber nicht die die genau UMTS und BSS haben |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage | tomtaz | Datenbanken | 5 | 24.06.2008 22:36 |
| Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt | Seb | PHP Tipps 2008 | 2 | 29.05.2008 11:36 |
| MySQL Abfrage von Ver. 5 für Ver 3. des MySQL Servers | FireFIghter | Datenbanken | 3 | 02.02.2007 17:18 |
| MySQL Abfrage macht Seite langsam | Datenbanken | 11 | 19.10.2006 19:38 | |
| MySQL - Abfrage: Unterschiedliche Ergebnisse aus PHP/manuell | horstenpeter | Datenbanken | 3 | 16.07.2006 13:22 |
| mysql abfrage in Schleife | havok | PHP Tipps 2006 | 6 | 09.05.2006 08:39 |
| mysql abfrage | mqs | PHP Tipps 2006 | 4 | 09.04.2006 17:57 |
| Abfrage bei mySQL 4 | ApfeL | Datenbanken | 5 | 24.03.2006 18:53 |
| komplizierte mysql abfrage | php_frage | PHP Tipps 2007 | 5 | 28.12.2005 17:55 |
| [Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert | Datenbanken | 2 | 08.09.2005 11:59 | |
| Suche Tipps für Persormance-Steigerung (Geld für Nützliches) | Beitragsarchiv | 18 | 16.08.2005 10:57 | |
| MySQL Abfrage Problem. | web2 | PHP Tipps 2005-2 | 7 | 25.07.2005 11:07 |
| Mysql Abfrage | Datenbanken | 4 | 27.02.2005 22:26 | |
| [Erledigt] Mysql Abfrage Problem! | PHP-Fortgeschrittene | 5 | 27.11.2004 10:22 | |
| [Erledigt] mysql Abfrage | Datenbanken | 5 | 18.06.2004 14:16 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| komplizierte mysql abfrage, komplizierte mysql abfragen, http://www.php.de/datenbanken/3421-erledigt-komplizierte-mysql-abfrage.html, mysql checkbox abfragen, mysql schlagwort, komplizierte mysql-abfrage, php mysql query parameters, mysql abfrage mit 3 inner joins langsam, php mehrere mysql-abfragen in einem query, komplexe mysql abfrage mit case, mysql selective where klausel, mysql hilfe abfrage n:m, mysql schlagwort und oder, mysql \mehrere schlagwörter\, abfrage gleiche tabelle ohne bezug, komplizierte inner joins, mysql komplizierte abfragen, mysql m:n abfrage, php mysql abfrage von 2 table verschachtelt, mysql query mit case erweitern |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.