php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.03.2010, 19:50  
Erfahrener Benutzer
 
Benutzerbild von estebu
 
Registriert seit: 11.02.2009
Beiträge: 187
PHP-Kenntnisse:
Anfänger
estebu befindet sich auf einem aufstrebenden Ast
estebu eine Nachricht über Skype™ schicken
Standard Verschachtelte if-Anweisung

Hallo Kollegen.

Ich suche nach einer Lösung für folgendes Vorhaben und weiss nicht recht, ob es in der Form überhaupt klappen kann:

PHP-Code:
//Variablen
$suche $_POST['Suche'];
$region $_POST['Region']; 
$faktor 50;

$position 1;
$start 0;
$endGet $faktor 1;

//Start Abfrage
if( isset($_GET['start']) && isset($_GET['end'] ) )
   { 
    
$position $_GET['pos'];
    
$start $_GET['start'];
    
$endGet $_GET['end'];

//und hier beginnt die Verschachtelung**************************

    
if ($region '0') {
    
$query_Recordset1 "SELECT * FROM fc_locations WHERE Stichworte LIKE '%".$suche."%'  ORDER BY Name LIMIT ".$_GET['start'].",".(string)((int)$_GET['end'] - (int)$_GET['start'] + 1);
    
}
// bis hier************************************************    
    

   
else {
$query_Recordset1 "SELECT * FROM fc_locations WHERE Region = '$region' AND Stichworte LIKE '%".$suche."%'  ORDER BY Name LIMIT ".$_GET['start'].",".(string)((int)$_GET['end'] - (int)$_GET['start'] + 1);
         }
   }
else {
$query_Recordset1 "SELECT * FROM fc_locations WHERE Region = '$region' AND Stichworte LIKE '%".$suche."%'  ORDER BY Name LIMIT 0,$faktor";        
   }

$Recordset1 mysql_query($query_Recordset1$connect) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1); 
Das heisst im Klartext: Wenn als Region eine "0" übergeben wird, dann soll die Abfrage ohne eine spezielle Region vonstatten gehen. DAs klappt aber leider nicht. Die SQL-Abfrage wird immer unter Verwendung von "WHERE Region = '0' " ausgeführt. Die zwischengebaute if-Anweisung greift also nicht, aber warum? Es kommt auch keine Fehlermeldung...

Danke für hilfreiche Tipps.
estebu ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.03.2010, 19:53  
Erfahrener Benutzer
 
Benutzerbild von Screeze
 
Registriert seit: 04.01.2009
Beiträge: 844
PHP-Kenntnisse:
Fortgeschritten
Screeze wird schon bald berühmt werden
Standard

$x = 'bla'; ist eine zuweisung
$x == 'bla'; ist ein vergleich
$x === 'bla'; ist ein typsicherer Vergleich.

Du hast eine zuweisung in deine if-clause eingebaut.
__________________
Develovision Blog
Screeze ist offline  
Alt 09.03.2010, 20:03  
Erfahrener Benutzer
 
Benutzerbild von estebu
 
Registriert seit: 11.02.2009
Beiträge: 187
PHP-Kenntnisse:
Anfänger
estebu befindet sich auf einem aufstrebenden Ast
estebu eine Nachricht über Skype™ schicken
Standard

Danke für deine schnelle Antwort.
Es funktioniert aber leider mit keiner der von dir angeführten Varianten.
estebu ist offline  
Alt 09.03.2010, 20:07  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.341
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Die beiden sollten jeweils funktionieren
PHP-Code:
if (trim($region) == '0')
if (
intval($region) == 0
Arne Drews ist offline  
Alt 09.03.2010, 23:27  
Erfahrener Benutzer
 
Benutzerbild von estebu
 
Registriert seit: 11.02.2009
Beiträge: 187
PHP-Kenntnisse:
Anfänger
estebu befindet sich auf einem aufstrebenden Ast
estebu eine Nachricht über Skype™ schicken
Standard

Auch das Einfügen von
PHP-Code:
 if (intval($region) == 0
oder
PHP-Code:
if (trim($region) == '0'
bringt kein Ergebnis.
Ich denke mal, dass vielleicht im Code selbst der Fehler liegt und somit diese Zeile irgendwie nicht angesprochen wird....?
Ich finde ihn aber nicht.
estebu ist offline  
Alt 09.03.2010, 23:40  
Erfahrener Benutzer
 
Registriert seit: 27.06.2009
Beiträge: 498
PHP-Kenntnisse:
Anfänger
cetalian sorgt für eine eindrucksvolle Atmosphärecetalian sorgt für eine eindrucksvolle Atmosphäre
Standard

Dein Einrücken ist echt scheußlich. Debugge doch einmal anständig (aka lass dir vor den Ifs die Variablen ausgeben, gib irgendwas direkt nach den Ifs aus um zu sehen ob es betreten wird).
cetalian ist offline  
Alt 10.03.2010, 01:48  
Erfahrener Benutzer
 
Benutzerbild von estebu
 
Registriert seit: 11.02.2009
Beiträge: 187
PHP-Kenntnisse:
Anfänger
estebu befindet sich auf einem aufstrebenden Ast
estebu eine Nachricht über Skype™ schicken
Standard

Ich weiß - mein Einrücken läßt oft zu wünschen übrig - das bereinige ich immer erst am Ende, wenn alles läuft, wie es soll
Nun zu Deinem Vorschlag. Ich habe direkt nach dem
PHP-Code:
 if (trim($region) == '0'
anstatt der Abfrage einfach nur geschrieben
PHP-Code:
echo "hallo"
- aber nichts passiert. Es wird weiterhin nur die darauffolgende Abfrage durchgeführt. Ich lasse mir die aktuelle Abfrage auch immer mit auf der Seite ausgeben und es steht jedesmal "WHERE Region ='0' " darin - ergo wird die if-Anweisung davor, also mein echo in dem Fall, total übergangen. *grübel*
estebu ist offline  
Alt 10.03.2010, 06:21  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.341
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Ich vermute mal, daß start und/oder end per GET nicht korrekt übertragen werden.
Denn
PHP-Code:
if($region '0'// wird immer wahr! 
d.h. es dürfte ausschliesslich der Anweisungsblock dieser IF-Abfrage ausgeführt werden.

Also erreicht er imho diese Abfrage gar nicht!
Und am Ende bitte dennoch eine Abfrage aus der Zuweisung machen!
Arne Drews ist offline  
Alt 10.03.2010, 07:52  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
Ich weiß - mein Einrücken läßt oft zu wünschen übrig - das bereinige ich immer erst am Ende, wenn alles läuft, wie es soll
Das solltest Du überdenken.
a) Einrücken ist kein Selbstzweck. In erster Linie macht es den Code verständlicher und damit weniger Fehleranfällig.
b) Uns hilft es zu Helfen und Dir erspart es ewige Kommentare zu diesem Thema.

Es können also alle nur gewinnen. Und mit nem vernünftigen Editor ist Einrücken fast schon Automatismus.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 10.03.2010, 07:55  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

error_reporting
var_dump
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen 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
frage zur if anweisung bajo PHP Tipps 2010 6 23.02.2010 08:14
[Erledigt] Mysql Ausgabe mit If Anweisung geht nur bei bestimmen variablen nicht. Rutor PHP Tipps 2010 3 04.02.2010 12:19
if anweisung wird nur local ausgefürt online nicht Funnycomp PHP Tipps 2009 2 10.01.2010 12:48
If Anweisung streikt Extremefall PHP Tipps 2009 19 22.12.2009 19:10
Anweisung soll auf Beendung einer Funktion warten El_Schnorro JavaScript, Ajax und mehr 1 23.10.2009 19:30
Error bei else if Anweisung Quert PHP Tipps 2009 3 11.09.2009 20:08
[Erledigt] Wie einzelne Optionen aus Drop Down Menü nicht ausführbar machen via If An badboygoofy JavaScript, Ajax und mehr 4 22.07.2009 13:56
Fehlermeldung bei SQL anweisung Thamannta Datenbanken 11 15.07.2009 14:12
Bedingte Anweisung im MySQL-Query? Patrick Henning Datenbanken 11 22.04.2009 12:22
Where Anweisung vor GROUP BY einbinden. Kronic73 Datenbanken 6 06.03.2009 09:40
Variable in SQL Anweisung verwenden Beatbox PHP Tipps 2006 2 08.08.2006 16:32
verschachtelte if-else anweisung!? PHP Tipps 2005-2 7 04.08.2005 11:53
if anweisung innerhalb von HEREDOC-Operator möglich? PHP Tipps 2005 11 16.05.2005 17:58
[Erledigt] switch anweisung PHP-Fortgeschrittene 9 17.11.2004 16:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php verschachtelte if, doppelte if abfrage php, sql verschachtelte if, javascript verschachtelte if, if anweisung php, sql if verschachteln, http://www.php.de/php-einsteiger/65520-verschachtelte-if-anweisung.html, php doppelte if abfrage, sql if verschachtelung, php iif, sql iif verschachtelt, verschachtelte ifs, if verschachtelung sql, sql verschachteltes if, sql verschachtelt if, verschachtelte if, iif verschachtelt, iif php, sql if verschachtelt, php verschachtelte ifs

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:09 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