Mehrere Select-Auswahllisten auswerten
Einklappen
X
-
lol...das mit den arrays krieg ich nicht hin...aber mit nur 45 Zeilen Code gehts jetzt...
-
Aber das grösste Problem löst ja auch deine Lösung wohl nicht: Ich kann schon 6x ne If -Abfrage machen...aber falls Überall "ALL" gewählt ist, brauche ich gar kein WHERE...und kriege dann trotzdem ne Fehlermeldung
denn wenn 6 mal die if-bedingung nicht zutrifft, dann weiß ich, dass ich kein where brauche. Hab doch gesagt, dass ich nicht alles in den...
es gibt natürlich ne ganz schöne sache, nennt sich arrays. da speicherst du alle bedinungen rein
if(bla)
$where[] = bedingung;
if(count(where) > 0)
// where wird benötigt.
$sql.= $where;Zuletzt geändert von TobiaZ; 22.07.2006, 18:12.
Einen Kommentar schreiben:
-
Original geschrieben von TobiaZ
OffTopic:
du hast nicht wirklich geglaubt, dass ich euch alles in den allerwertesten schiebe?
Aber das grösste Problem löst ja auch deine Lösung wohl nicht: Ich kann schon 6x ne If -Abfrage machen...aber falls Überall "ALL" gewählt ist, brauche ich gar kein WHERE...und kriege dann trotzdem ne Fehlermeldung
Ich muss also rausfinden, ob ich überhaupt ein WHERE brauche, wo ich es einsetzen muss (muss ja in ner IF-Abfrage sein) und wo ich ein dann noch AND einsetzen muss...soviel Aufwand für so wenig Nutzen. Das muss doch irgendwie einfacher gehen...naja...schaun mer mal, was wir noch so in der PHP/MySQL Wundertüte finden.Zuletzt geändert von Ducks; 22.07.2006, 17:35.
Einen Kommentar schreiben:
-
Jo, dann informier dich bitte über pseudocode...OffTopic:
du hast nicht wirklich geglaubt, dass ich euch alles in den allerwertesten schiebe?
Einen Kommentar schreiben:
-
Ich hab das so angepasst, erhalte aber folgende Meldung:
Parse error: parse error, unexpected '='PHP-Code:$where.= AND eintrag1 = bla;
Einen Kommentar schreiben:
-
if(eintrag1 != all)
$where.= AND eintrag1 = bla;
und das ganze dann 6 mal, oder in einer schleife.
Einen Kommentar schreiben:
-
Mhhh...hab die Regeln gelesen, (inkl. Code-Tags). Und ich habe vorher ziemlich lange nachgedacht, hatte einfach nen Geistesblitz
Nun steh ich aber richtig auf dem Schlauch. Ich möchte 6xPHP-Code:WHERE
Z.B. wenn ein Benutzer bei 5 Auswahllisten "all" wählt und bei einer ne bestimmte Kategorie...dann müsste ich ja nur 1x WHERE setzen. Geht das dynamisch? Respektive, ich denke mir das es dynamische gehen muss! Aber wie? Muss ich alle Eingaben mit Schlaufen oder IF abfangen?
Einen Kommentar schreiben:
-
Jo, und bevor ich mir den letzten Beitrag jetzt duchlese, denkste da jetzt auch erstmal was länger nach und liest zur Abwechslung mal unsere Regeln (z.B. bezgl. PHP-Tags und anderer nützlicher Tipps)
Einen Kommentar schreiben:
-
Hab den Fehler selbst entdeckt...und gleich nen neuen gefunden
1. fehler:
PHP-Code:$Brand=mysql_result($result,"Brand");
$Name=mysql_result($result,"Name");
$Sub_Brand=mysql_result($result,"Sub-Brand");
$Year=mysql_result($result,"Year");
$Team=mysql_result($result,"Team");
$Color=mysql_result($result,"Color");
2. Neues Problem: Falls ich nun nur einen Wert vorgeben möchte...z.B. nur den Namen. Wie mache ich, dass dies automatisch erkannt wird. Muss ich ne leere Zeile in die DB schreiben, so dass ich nen leeren Suchwert erkennen kann und diesen dann abfangen?Zuletzt geändert von Ducks; 22.07.2006, 16:12.
Einen Kommentar schreiben:
-
Klar, sorry...ich bin jetzt auch schon ein Stück weiter...
$auswahl_name=$_GET['name'];
$auswahl_brand=$_GET['brand'];
echo("$name");
$username="***";
$password="***";
$database="***";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM autogramme_tradelist WHERE Name='$auswahl_name' AND Brand='$auswahl_brand'";
$result=mysql_query($query);
// $num=mysql_numrows($result);
mysql_close();
$Brand=mysql_result($result,"Brand");
$Name=mysql_result($result,"Name");
$Sub_Brand=mysql_result($result,"Sub-Brand");
$Year=mysql_result($result,"Year");
$Team=mysql_result($result,"Team");
$Color=mysql_result($result,"Color");
echo("<table border=0 cellspacing=0 cellpadding=2 width=500>\n");
// Tabellenüberschrift generieren
echo("<TR>\n" .
"<TD> Player</TD>\n" .
"<TD> Brand</TD>\n" .
"<TD> Sub-Brand</TD>\n" .
"<TD> Year</TD>\n" .
"<TD> Team</TD>\n" .
"<TD> Color</TD>\n" .
"</TR>\n");
while ( $row = mysql_fetch_array($result)) {
echo("<TR>\n" .
"<TD>" . $row["Name"] . "</TD>\n" .
"<TD>" . $row["Brand"] . "</TD>\n" .
"<TD>" . $row["Sub_Brand"] . "</TD>\n" .
"<TD>" . $row["Year"] . "</TD>\n" .
"<TD>" . $row["Team"] . "</TD>\n" .
"<TD>" . $row["Color"] . "</TD>\n" .
"</TR>\n");
}
echo("</TABLE>\n");
?>
z.B.
Sollte einen Eintrag anzeigen
Sollte zwei Einträge anzeigenZuletzt geändert von Ducks; 22.07.2006, 16:02.
Einen Kommentar schreiben:
-
Kannst du dein Problem ein bischen konkretisieren?
Generell:
auf der anzeigeseite machst du ein SELECT auf die Tabelle mit der entsprechenden Bedingung, die hast du gerade genannt (WHERE x = ... und y = ...) das wars schon.
Einen Kommentar schreiben:
-
Mehrere Select-Auswahllisten auswerten
Hallo Zusammen
Ich bin ein PHP-Newbie, hab mir aber dank google schon ein paar Sachen selber lernen können...
Zu meinem Problem: Ich habe ne DB mit 2 Spalten: Name & Brand (Marke, bin ja kein Pyromane...)
Nun lese ich die Einträge in 2 Select-Auswahllisten und lösche doppelte Einträge.
http://www.duckszone.com/joomla/mosa..._advanced2.php
Ich werde noch eine leere Zeile hinzufügen, damit der User auch gar keine Auswahl treffen kann.
Nun möchte ich, dass der Benutzer seine Auswahl trifft, und ich nun aus der DB nur die Zeilen auslese, welche beiden (wenn nur eine Auswahl getroffen wird, natürlich nur eine) ausgewählten Listenwerten entspricht.
Nur...wie mach ich das? Muss ich das an ne neue PHP-Seite übergeben?Stichworte: -
Einen Kommentar schreiben: