php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-07-2002, 14:45
voodoo
 Newbie
Links : Onlinestatus : voodoo ist offline
Registriert seit: Apr 2002
Beiträge: 84
voodoo ist zur Zeit noch ein unbeschriebenes Blatt
Standard Dropdown -> Auswahl selektieren oder alles

Leider noch ein Problem... sorry

Über ein Auswahlmenü möchte ich einen Status wählen, welcher als Variable übergeben wird. Alles noch kein Problem.

PHP-Code:
    <td <? echo $tabcol2 ?> align=left>Abgerechnet:</td>
    <td <? echo $tabcol2 ?>><select name="abgerechnet" size="3">
<option value="1">JA</option>
<option value="0">NEIN</option>
<option value="*">ALLE</option>
</select>
Jedoch bei der Erstellung der Tabellenabfrage kommt es wohl mit dem * nicht zurecht.

SELECT * FROM projekte where abgerechnet=$abgerechnet

Klar, wenn abgerechnet = '*' anzeigen soll!
Gibt es eine Art Wildcard (% oder so...) die hier funktioniert?
Oder muss ich die Sache wieder mal ganz anders angehen.

Danke für Denkanstösse im voraus.
__________________
Gruss Sven
Mit Zitat antworten
  #2 (permalink)  
Alt 26-07-2002, 14:47
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.272
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde das Statement einfach so aufbauen:

$stat="SELECT * FROM projekte".($abgerechnet=="*"?"":" where abgerechnet=$abgerechnet");
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #3 (permalink)  
Alt 26-07-2002, 14:57
voodoo
 Newbie
Links : Onlinestatus : voodoo ist offline
Registriert seit: Apr 2002
Beiträge: 84
voodoo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi goth,

danke für die superschnelle antwort. Leider verstehe ich das nicht so ganz. Ein kurzer check gibt mir da leider auch nichts brauchbares aus. Soll die Variable $stat von der Auswahlseite übergeben werden oder in mein select für den Tabellenaufbau?
__________________
Gruss Sven
Mit Zitat antworten
  #4 (permalink)  
Alt 26-07-2002, 15:12
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.272
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein ... irgendwo baust Du doch Dein Statement:

SELECT * FROM projekte where abgerechnet=$abgerechnet

dort baust Du das Statement zusammen wie von mir vorgeschlagen ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #5 (permalink)  
Alt 26-07-2002, 16:21
voodoo
 Newbie
Links : Onlinestatus : voodoo ist offline
Registriert seit: Apr 2002
Beiträge: 84
voodoo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Fehler

SQL-Befehl :

SELECT * FROM projekte".('1' =="*"?"":" where abgerechnet='1'") LIMIT 0, 30


MySQL meldet:


You have an error in your SQL syntax near '".('1' =="*"?"":" where abgerechnet='1'") LIMIT 0, 30' at line 1

Habe mal die Variable durch eine 1 ersetzt.....????
__________________
Gruss Sven
Mit Zitat antworten
  #6 (permalink)  
Alt 26-07-2002, 16:38
Troublegum
 PHP Senior
Links : Onlinestatus : Troublegum ist offline
Registriert seit: Dec 2001
Beiträge: 1.302
Troublegum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$sql "SELECT * FROM projekte".($abgerechnet!='*' " WHERE abgerechnet='$abgerechnet'" "")." LIMIT 0, 30";
$result mysql_query($sql) or die("Error in $sql<br>\n".mysql_error()); 
__________________
"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"
"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "
"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."

© Harald Schmidt
Mit Zitat antworten
  #7 (permalink)  
Alt 26-07-2002, 18:17
voodoo
 Newbie
Links : Onlinestatus : voodoo ist offline
Registriert seit: Apr 2002
Beiträge: 84
voodoo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, aber das geht auch nicht (wieder mit der 1 versucht):

Fehler

SQL-Befehl :

SELECT * FROM projekte".('1'='*' ? " WHERE abgerechnet='1'" : "")." LIMIT 0, 30


MySQL meldet:


You have an error in your SQL syntax near '".('1'='*' ? " WHERE abgerechnet='1'" : "")." LIMIT 0, 30' at line 1
__________________
Gruss Sven
Mit Zitat antworten
  #8 (permalink)  
Alt 26-07-2002, 18:31
Troublegum
 PHP Senior
Links : Onlinestatus : Troublegum ist offline
Registriert seit: Dec 2001
Beiträge: 1.302
Troublegum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Übernimm das Beispiel doch bitte so, wie es da steht.
Der Ausdruck in Klammern ist kein String, sondern ein php ausdruck und darf deshalb nicht in " " stehen:

"String1".(ausdruck)."string2";
__________________
"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"
"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "
"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."

© Harald Schmidt
Mit Zitat antworten
  #9 (permalink)  
Alt 26-07-2002, 18:32
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Habs nur überflogen. Aber wäre nicht das einfachste folgendes:

SELECT * FROM projekte WHERE abgerechnet = '1' OR abgerechnet = '0'

Aber wenn du alle anzeigen willst, dann brauchst du doch gar kein WHERE.

Hab bestimmt was übersehen. Die Sache wäre ja sonst zu einfach. Ich gucke bei Gelegenheit noch mal rein.
Mit Zitat antworten
  #10 (permalink)  
Alt 27-07-2002, 16:19
voodoo
 Newbie
Links : Onlinestatus : voodoo ist offline
Registriert seit: Apr 2002
Beiträge: 84
voodoo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi TobiaZ,

schau mal in mein 1. Posting. Ich wähle auf der 1. Seite über ein Dropdownmenü den Staus aus. (abgerechnet - JA - NEIN - ALLE)
Es soll später dort noch mehrere Kriterien geben. (Abteilung, Projekt ID, etc.)
Diese Auswahl wird dann als Variable mit auf die Seite 2 genommen und soll mir dort eine Übersicht (Tabelle) erstellen mit den vorgewählten Kriterien. Also muss ich auf Seite 2 schon mit select ... where arbeiten. Vielleicht könnte man ja auch auf Seite 2 mehrere Abfragen einbauen. Z.B. wenn die Variable abgerechnet = '*' ist, dann soll er im select ... where einfach den Parameter abgerechnet = '$abgerechnet' weglassen....???
Ich dachte aber, dass es eine Art Wildcard gibt, die mir diesen Weg erspart.
Fällt Dir noch was ein?
__________________
Gruss Sven
Mit Zitat antworten
  #11 (permalink)  
Alt 27-07-2002, 16:39
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Du hast also später mehrere DropDown Menüs.?

Dann gehst du wie folgt vor:

IF *
dann lässt du dieses Feld in deiner abfrage raus
Else
das Feld kommt in den SQL-String.

So gehst du dann mit allen Abfragen vor. Am Besten mit ner Schleife.
Mit Zitat antworten
  #12 (permalink)  
Alt 29-07-2002, 12:21
voodoo
 Newbie
Links : Onlinestatus : voodoo ist offline
Registriert seit: Apr 2002
Beiträge: 84
voodoo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hier dann meine Lösung (für alle anderen):

PHP-Code:
if ($abgerechnet == '*' and $projekt == '*') {
$sql="SELECT * FROM projekte where datum2 between '$datum_vom' and '$datum_bis'";
} elseif (
$abgerechnet == '*') {
$sql="SELECT * FROM projekte where projekt='$projekt' and datum2 between '$datum_vom' and '$datum_bis'";
} elseif (
$projekt == '*') {
$sql="SELECT * FROM projekte where abgerechnet=$abgerechnet and datum2 between '$datum_vom' and '$datum_bis'";
} else {
$sql="SELECT * FROM projekte where projekt=$projekt and abgerechnet=$abgerechnet and datum2 between '$datum_vom' and '$datum_bis'";
}
$result mysql_query($sql) or die("Error in $sql<br>\n".mysql_error());

for (
$i=1$daten=mysql_fetch_array($result); $i++) 
Das geht ganz gut und lässt sich beliebig schnell erweitern.
Danke für die Anregungen hier im Forum!
__________________
Gruss Sven
Mit Zitat antworten
  #13 (permalink)  
Alt 29-07-2002, 12:30
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

ich würde sagen, wenn da noch drei Felder dazu kommen, sieht das nicht mehr so übersichtlich aus.

Ich hatte das zu Anfang in meinem Script auch so gedacht. Hatte aber zu viele Möglichkeiten.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:46 Uhr.