php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.03.2005, 13:28  
Gast
 
Beiträge: n/a
Standard MySql Abfrage?

hi leute

folgende frage:

ich mache eine mysql-datenbakabfrage in php, welche foldend aussieht:
SELECT *
FROM kunden
WHERE plz = 'colname'
ORDER BY status DESC

jetzt würd ich diese abfrage gerne erweitern (also zB mit WHERE branche ='edv'). wie kann ich mehrere bedinungen miteinenader kombinieren,und das ohne das die abfrage steckt wenn eine variable mal nicht übergeben wird?

vielen dank im vorraus
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.03.2005, 13:32  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

mittels AND und OR kannst du verketten, und den rest stellst du dynamisch über php zusammen, sprich der teil

"OR branche='edv' "

wird nur dann angehängt wenn die für branche definierte variable nciht leer ist
www.php.net/empty



16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

mfg
robo47
robo47 ist offline  
Alt 07.03.2005, 13:36  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard Re: MySql Abfrage?

Zitat:
Zitat von martydou
hi leute

folgende frage:

ich mache eine mysql-datenbakabfrage in php, welche foldend aussieht:
SELECT *
FROM kunden
WHERE plz = 'colname'
ORDER BY status DESC

jetzt würd ich diese abfrage gerne erweitern (also zB mit WHERE branche ='edv'). wie kann ich mehrere bedinungen miteinenader kombinieren

mit
PHP-Code:
<?php
SELECT 
*
FROM kunden WHERE plz 'colname' AND ort 'wunschort' ORDER BY status DESC ?>
?>
EDIT:

Robo war schneller.... :wink:
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 07.03.2005, 14:45  
Gast
 
Beiträge: n/a
Standard

Danke, erstmal.

Leider hab ichs nicht geschafft die Abfragen zu kombinieren wenn eine erwartete variable nicht vorhanden ist. wie robo mitgeteilt hat funkts mit dem empty-befehl.
aber ich mach da wohl immer nen syntax fehler rein!? wär jemand so nett und würde mir eine solche abfrage mal ausschreiben?

SO siehts momentan aus:
"SELECT * FROM kunden WHERE plz = 'varplz' AND branche ='varbranche' ORDER BY status DESC"

thx
 
Alt 07.03.2005, 14:51  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

mysql_error() verwenden und vieleicht den fehler posten der kommt.
und da immer alles zeile 1 ist, vieleicht dein query vorher einrücken.

mfg
robo47
robo47 ist offline  
Alt 07.03.2005, 15:02  
Gast
 
Beiträge: n/a
Standard

hi robo

es kommt keine fehlermedung, aber auch keine ergebnisse.
was ich verbrochen habe poste ich lieber nicht

ich kenn mich wirklich gar nicht nicht aus in php.
aber ich glaube zu wissen das ich folgendes brauche:

die abfrage->

"SELECT * FROM kunden WHERE plz = 'varplz' AND branche ='varbranche' ORDER BY status DESC"

-> kombiniert mit einer emtpy abfrage. und wenn die variable 'branche' empty dann soll der teil "AND branche ='varbranche'" erst gar nicht in die abfrage integriert werden.

ich hoffe es ist halwegs verständlich was ich meine. danke für deine bemühungen!
 
Alt 07.03.2005, 15:10  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

öhm kommen ergebnisse an oder nicht?
was sagt mysql_num_rows ?
kopier dir das ausgegebenen query vieleicht mal und führ es in phpmyadmin aus und schau was da passiert.
robo47 ist offline  
Alt 07.03.2005, 15:19  
Gast
 
Beiträge: n/a
Standard

sorry, ehrlich gesagt sind die halben begriffe die du verwendest ziemlich chinesisch für mich...

also ich werd versuchen das ganze nochmal zu vereinfachen.

ich habe die seite suche.php ->
darin gibt es ein auswahlfeld für die plz +
ein auswahlfeld für die branche

*die ausgewählten optionen werden per post an die datei ausgabe.php gesendet.

-> in der ausgabe php
befindet sich die viel zitierte datenbankabfrage "SELECT * FROM kunden WHERE plz = 'varplz' AND branche ='varbranche' ORDER BY status DESC"

- diese funktioniert auch!!! jedoch nur solange beide variablen (plz,branche) übergeben wurden. was ich nicht hinbekomme ist die php-abfrage welche die AND anweisung nur ausführt, falls die variable 'branche' auch einen wert hat, also übergeben wurde.
 
Alt 07.03.2005, 15:23  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

Das ist ein Abfrage-String: "SELECT * FROM kunden WHERE plz = 'varplz' AND branche ='varbranche' ORDER BY status DESC".

In diesem mußt Du die abzufragende Variable korrekt einbetten:


PHP-Code:
<?php
$abfrage 
"SELECT * FROM kunden WHERE plz = '" $varplz "' AND branche = '" $varbranche "' ORDER BY status DESC";
?>
tapferesschneiderlein ist offline  
Alt 07.03.2005, 15:24  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

poste doch einfach mal die relevanten teile aus deiner suche.php ich glaube das würde weiterhelfen
robo47 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

Ä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
MySQL Abfrage als PHP class d3rbastl3r PHP Tipps 2008 2 11.06.2008 15:41
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
Datum bezogene mysql abfrage ApfeL Datenbanken 5 22.10.2006 16:03
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
Abfrage bei mySQL 4 ApfeL Datenbanken 5 24.03.2006 18:53
[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
einfache mysql abfrage und mysql update haut nicht ganz hin djrace PHP Tipps 2005-2 6 12.08.2005 15:28
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
komplizierte mySQL Abfrage Datenbanken 6 25.06.2004 15:34
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql datum von bis, mysql datenbakabfrage mi ausgabe, datenbakabfrage mysql php funktion übergeben, zend framework auswahlfeld

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.