php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.07.2005, 16:03  
Gast
 
Beiträge: n/a
Standard IF-Anweisung

Hallo und Guten Tag.
Ich lasse mir von Seite 2 $country übergeben.
Ich lasse mir von Seite 3 $months übergeben.

Beides sind Auswahllisten, die entweder mit Werten gefüllt sind, als option
value, oder haben als value='all', dann sind alle ausgewählt.

Jetzt möchte ich auf Seite 4 eine Abfrage machen, die abhängig ist von den Daten von Seite 2 und Seite 3. Leider macht er nicht das was ich möchte, habe ich ein Fehler in meiner IF-Anweisung ?

PHP-Code:
<?php

If ($months=='all' && $country!='all'){
echo 
"Funktioniert";
$result mysql_query("SELECT p.*, s.* FROM 
project_spec p, speciality s WHERE p.country='$country' 
and p.icd_id='$icd_id' and p.speciality_id=s.speciality_id 
Group by s.speciality_name"
);
}
elseif (
$country=='all' && $months!='all'){
echo 
"Funktioniert2";
$result mysql_query("SELECT p.*, s.* FROM project_spec 
p, speciality s WHERE p.icd_id='$icd_id' and p.speciality_id=
s.speciality_id and p.create_time 
IN ('"
.implode("','"$array2)."') 
Group by s.speciality_name"
);
}
elseif (
$months=='all' && $country=='all'){
echo 
"Funktioniert3";
$result mysql_query("SELECT p.*, s.* FROM project_spec 
p, speciality s WHERE p.icd_id='$icd_id' and p.speciality_id=
s.speciality_id Group by s.speciality_name"
);
}
else
{
echo 
"Funktioniert4";
$result mysql_query("SELECT p.*, s.* FROM project_spec 
p, speciality s WHERE p.country='$country' and p.icd_id='$icd_id'
 and p.speciality_id=s.speciality_id  and p.create_time 
IN ('"
.implode("','"$array2)."') Group by s.speciality_name");
}
$num mysql_num_rows($result);
if (
$num != 0)
{
...................................
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.07.2005, 16:08  
Gast
 
Beiträge: n/a
Standard

Haben die Variablen überhaupt die richtigen werte? also wird der Wert von der Variablen aus Seite 2 auf Seite 3 weitergegeben?
 
Alt 25.07.2005, 16:18  
Gast
 
Beiträge: n/a
Standard

Ja, lasse Sie hier auf Seite 4 nochmal ausgeben und dort stehen die richtigen Werte drinne !
 
Alt 25.07.2005, 16:27  
Gast
 
Beiträge: n/a
Standard

Gibts aus der Tabelle denn ueberhaupt Eintraege die den Kriterien entsprechen?
Hast du die Querystrings bereits schon manuell in der MySQL DB ausgefuehrt und haben sie da Werte geliefert?

Gruss
 
Alt 25.07.2005, 16:31  
Gast
 
Beiträge: n/a
Standard

Ja, hab das schon in der MYSQL-Tabelle probiert und da spuckt er die Sachen aus
 
Alt 25.07.2005, 16:43  
Gast
 
Beiträge: n/a
Standard

Zum x-ten Male: Rücke deinen sch... Quellcode ordentlich ein, bevor du den hier postest!!! Lernst du das nie????

Was sagt mysql_error() und was kommt bei $num raus? Gibt es Fehlermeldungen?

Gruß
phpfan
 
Alt 25.07.2005, 16:46  
Gast
 
Beiträge: n/a
Standard

Hy, also er gibt keine Fehlermeldung aus. Er macht ja auch die Abfrage und zwar die letzte, die anderen macht er nicht, warum auch immer.
 
Alt 25.07.2005, 16:49  
Gast
 
Beiträge: n/a
Standard

Wenn er immer die letzte Anweisung ausführt, dann kann keiner der Bedingung zutreffen und das Script läuft in else {} rein.

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

Gruß
phpfan
 
Alt 26.07.2005, 15:13  
Gast
 
Beiträge: n/a
Standard

Selbst, wenn ich das mache, gibt er das Wort "Funktioniert" nicht aus.

PHP-Code:
<?php

If ($country!=all && $months==all){
echo 
"Funktioniert";
}


?>
 
Alt 26.07.2005, 15:19  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

... Richtig eingerückt sieht das z.B. so aus:
PHP-Code:
<?php
if($country != 'all' AND $months == 'all') {
        echo 
'Funktioniert';
}
?>
Lass dir halt die Variablen per echo ausgeben und schau ob alles ok ist?
Chr!s 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] if Anweisung PHP Tipps 2007 18 22.02.2007 12:58
Variable in SQL Anweisung verwenden Beatbox PHP Tipps 2006 2 08.08.2006 16:32
else anweisung - kann ich nicht mikeda PHP Tipps 2006 24 07.04.2006 17:36
OOP SQL anweisung PHP-Fortgeschrittene 12 17.02.2006 14:17
Dynamische switch anweisung? Calli PHP Tipps 2006 12 11.01.2006 21:44
Variable in einer include() Anweisung PHP Tipps 2007 4 16.11.2005 12:18
[Erledigt] Update mit Select Anweisung verknüpfen Datenbanken 3 12.09.2005 16:37
if anweisung innerhalb von HEREDOC-Operator möglich? PHP Tipps 2005 11 16.05.2005 17:58
link anklicken und php anweisung ausführen Matthiasnet PHP Tipps 2005 4 07.03.2005 22:41
Frage zu ORDER BY Anweisung in SQL Befehl suendesizer PHP Tipps 2005 9 11.02.2005 12:26
mysql anweisung scheinbar falsch lindner PHP Tipps 2004-2 6 07.12.2004 15:04
If Anweisung mit zwei bedingungen Beatbox PHP Tipps 2004-2 8 17.11.2004 17:09
[Erledigt] switch anweisung PHP-Fortgeschrittene 9 17.11.2004 16:38
Was ist an dieser Include Anweisung falsch?? Beatbox PHP Tipps 2004 3 29.09.2004 21:08
einfache IF Anweisung PHP Tipps 2004 6 21.07.2004 10:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
if bedingung < al >l php

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:35 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.