[GastForen Programmierung/Entwicklung PHP und MySQL Selektieren mit mehreren SQL Abfragen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Selektieren mit mehreren SQL Abfragen

BratwurstmitSenf
Beiträge gesamt: 59

29. Jun 2005, 17:35
Beitrag # 1 von 3
Bewertung:
(927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi !

Möchte eine Selektion durchführen, nach Datum(tag,monat,jahr), Location und Rubrik !
Location funktioniert aber Datum und Rubrik nicht !

if( $location != ""){

$sql = "select * from partykalender Where location = '$location' limit $Anfangsposition, $Zeilen_pro_Seite";
$result=mysql_query($sql);
$result1=mysql_query("select * from partykalender Where location = '$location'");

}

elseif ($rubrik !=""){

$sql = "select * from partykalender Where rubrik = '$rubrik' limit $Anfangsposition, $Zeilen_pro_Seite";

$result=mysql_query($sql);
$result1=mysql_query("select * from partykalender Where rubrik = '$rubrik'");

}
elseif ($tag !="" and $monat !="" and $jahr != ""){
$sql = "select * from partykalender Where jahr= '$jahr' and tag= '$tag' and monat= '$monat' and location= '$location' and rubrik = '$rubrik' limit $Anfangsposition, $Zeilen_pro_Seite";

$result=mysql_query($sql);
$result1=mysql_query("select * from partykalender Where jahr= '$jahr' and tag= '$tag' and monat= '$monat' and location= '$location' rubrik = '$rubrik'");


}
X

Selektieren mit mehreren SQL Abfragen

Intermedia
Beiträge gesamt: 1287

29. Jun 2005, 19:05
Beitrag # 2 von 3
Beitrag ID: #175138
Bewertung:
(904 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Bockwurst (alias HackTack30),

traust du dich nicht mehr mit deinem anderen Namen zu schreiben? Glaub wir sind hier im Kindergarten.

Erstens stimmen deine Bedingungen vorne und hinten nicht, deine Logik ist sehr stark zu überdenken. Setzt mal deine Query entsprechende der Bedingungen zusammen.
Dann hast du noch Synatxfehler, sieh dir Fehlerbehandlungen und Ausgabe von Fehlermeldungen in MySQL an. Entsprechende Links wurden schon gepostet.
Es könnte ja auch mal helfen, wenn man sich die Querys auf dem Bildschirm ausgibt, dann sieht das sogar ein Blinder mit nem Krückstock.

Eigentlich hab ich keinen Bock jemanden zu helfen wer eine Auftrag annimmt, damit gnadenlos überfortdert ist, das in einem Forum postet, dort die Lösungen bekommt, sich selber mit unterschiedlichen Namen anmeldet (es merkt ja keiner) und dann noch selber die Kohle kassieren für eine Arbeit welche zum Teil anderes gemacht haben.

Sorry, bin nicht so gut drauf, hab heute schon genug Mist über mich ergehen lassen.

Sollte das mit dem anderen Nick nicht stimmen, entschuldige ich mich jetzt schonmal.

Gruß Sven


als Antwort auf: [#175117]

Selektieren mit mehreren SQL Abfragen

Pozor
Beiträge gesamt: 892

29. Jun 2005, 19:06
Beitrag # 3 von 3
Beitrag ID: #175140
Bewertung:
(902 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

wenn Du eine Struktur in deinem Code hast, kann man ihn viel
einfacher lesen und interpretieren.
schau mal den link in der Signatur an...

Dein Code funktioniert folgendermassen:

Wenn $location ein Inhalt hat, wird nur nach der location gesucht, egal
was sonst für Variablen nicht leer sind.

Ich nehme an du wolltest etwa dies:
Code
location  ok          na          ok          ok 
rubrik na ok ok ok
datum na na ok na
geladen
nach: location rubrik allem location+rubrik

etc.


dann könnten deine if Ausdrücke in etwa so lauten:

Code
if(!empty($tag) and !empty($monat) and !empty($jahr) and !empty($location) and !empty($rubrik)) 
{
//laden nach allem
}else if(!empty($location) and !empty($rubrik))
{ //datum kann nicht stimmen, tag,monat oder jahr ist leer
//laden nach location und rubrik
}else if(!empty($location) and !empty($tag) and !empty($monat) and !empty($jahr))
{ //rubrik ist leer
//laden nach location und datum
}else if()
{
//etc
}

Code
<?php 
if("" != $location)
{
$location = mysql_escape_string($location);
$sql = "
SELECT
*

FROM
partykalender

WHERE
location = '$location'

LIMIT $Anfangsposition, $Zeilen_pro_Seite";
$result = mysql_query($sql);

$sql2 = "
SELECT
*

FROM
partykalender

WHERE location = '$location'
";
$result1 = mysql_query($sql2);
}else if("" != $rubrik)
{
$rubrik = mysql_escape_string($rubrik);
$sql = "
SELECT
*

FROM
partykalender

WHERE
rubrik = '$rubrik'

LIMIT $Anfangsposition, $Zeilen_pro_Seite";
$result=mysql_query($sql);
$sql2 = "
SELECT
*

FROM
partykalender

WHERE
rubrik = '$rubrik'"
$result1=mysql_query($sql2);
}else if("" != $tag and "" != $monat and "" != $jahr)
{
$sql = "
SELECT
*

FROM
partykalender

WHERE
jahr = '$jahr' AND
tag = '$tag' AND
monat = '$monat' AND
location = '$location' AND
rubrik = '$rubrik'

LIMIT $Anfangsposition, $Zeilen_pro_Seite";
$result=mysql_query($sql);
$sql2 = "
SELECT

*

FROM
partykalender

WHERE
jahr = '$jahr' AND
tag = '$tag' AND
monat = '$monat' AND
location = '$location' AND
rubrik = '$rubrik'
"
$result1=mysql_query($sql2);
}
?>



als Antwort auf: [#175117]