php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.01.2009, 13:28  
Neuer Benutzer
 
Registriert seit: 18.12.2008
Beiträge: 16
jul3m4us befindet sich auf einem aufstrebenden Ast
Standard Select-Anfrage mit If-Schleife versehen

Hallo Leute,

ich habe folgendes Problem bei der Umsetzung:
Ich lasse mir Daten aus einer Datenbank ausgeben und möchte die mit einem Formular ggf. vom Nutzer selektieren lassen.
So sieht das Formular aus:

Code:
<form action="cocktailsuche.php">
  <p>
    <input type="checkbox" name="alkoholisch"> nur alkoholische
    <input type="checkbox" name="nichtalkoholisch"> nur nichtalkoholische
    <input type="submit" value="anzeigen">
  </p>
 </form>
Je nach dem welches der Boxen der Nutzer anklickt, soll sich die Select-Anfrage ändern, deswegen dacht ich, das sieht vll so aus:

PHP-Code:

<?for ($i 65$i <= 73$i++) {
        
$buchstabe chr($i);

        if (
alkoholisch=on) {
         
$sql " SELECT cocktail.ID as ID, cocktail.Bezeichnung as Bez, Alk FROM cocktail, zutat, cocktail_zutat ";
         
$sql.= " WHERE Bez LIKE '$buchstabe%' ";
         
$sql.= " AND cocktail.ID = cocktail_zutat.Cocktail_ID AND ";
         
$sql.= " cocktail_zutat.Zutat_ID = zutat.ID AND zutat.Alk ='j' "; }
        elseif (
nichtalkohilisch=on) {
    
$sql " SELECT cocktail.ID as ID, cocktail.Bezeichnung as Bez, Alk FROM cocktail, zutat, cocktail_zutat ";
         
$sql.= " WHERE Bez LIKE '$buchstabe%' ";
         
$sql.= " AND cocktail.ID = cocktail_zutat.Cocktail_ID AND ";
         
$sql.= " cocktail_zutat.Zutat_ID = zutat.ID AND zutat.Alk ='n' "; }
        else {
            
$sql "SELECT ID, Bezeichnung FROM cocktail WHERE Bezeichnung LIKE '$buchstabe%'";}
        
$ret mysql_query($sql); ?>

        <img src="<? echo $buchstabe ?>.jpg" /> <br/>


         <?  while ($arr mysql_fetch_array($ret)): ?>
          <div id="cocktail">
             <a href="#" onclick="fenster('cocktail.php?ID=<?php echo $arr['ID']; ?>')">
              <? echo $arr['Bez']; ?> <br/>
             </a>
          </div>
          <? endwhile; } ?>
Kann mir jemand sagen, wie es richtig aussehen müsste?
Also mir wird immer ein Syntax-Error ausgegeben bezüglich des '='

Danke.
jul3m4us ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.01.2009, 13:48  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

weil in den zeilen syntaktisch so ziemlich alles falsch ist.

if (alkoholisch=on)
da weißt du der konstante alkoholisch den wert der konstante on zu. du kannst konstanten aber nichts zuweisen ^^

richtig wäre
if ($alkoholisch == "on")

bitte lernen die absoluten php grundlagen bevor du hier postest! der rest deines codes weist auch zahlreiche syntaktische fehler auf! du solltest die syntax nicht raten sondern ein anfängertutorial dazu zu rate ziehen.

mfg
BlackWolf ist offline  
Alt 03.01.2009, 14:42  
Neuer Benutzer
 
Registriert seit: 18.12.2008
Beiträge: 16
jul3m4us befindet sich auf einem aufstrebenden Ast
Standard

Hi,

danke für deine Antwort.
Der Rest des Skripts war ja aus nem Tutorial
Hmm und warum machst du aus dem alkoholisch ne variable? Das ist ja der Name der jeweiligen Checkbox und ich dachte, weil alkoholisch=on auch in der url übertragen wird, kann ich damit die Bedingungen definieren
jul3m4us ist offline  
Alt 03.01.2009, 19:28  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Autsch.
Guck mal in einem Tutorial nach, wie Parameter an ein Script übergeben werden.
Danach google mal nach register_globals und überleg Dir dann, was das bezüglich Deiner Abfrage bedeutet.
Und wenn Du beide irgendwie miteinander in Einklang gebracht hast, fang ganz vorne in Deinem Tutorial an, wo Variablen etc. erklärt werden.
Das sind ja die Grundlagen der Grundlagen...
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 04.01.2009, 13:32  
lutoma
Gast
 
Beiträge: n/a
Standard

Ausserdem:
Warum 2 Checkboxen? Eine reicht doch...
Wenn der user jetzt nämlich beides anklickt hast du ein Problem

PHP-Code:
<form action="cocktailsuche.php">
  <
p>
    <
input type="checkbox" name="alkoholisch"nur alkoholische
    
<input type="submit" value="anzeigen">
  </
p>
 </
form
 
Alt 04.01.2009, 13:40  
Neuer Benutzer
 
Registriert seit: 29.11.2008
Beiträge: 24
alro befindet sich auf einem aufstrebenden Ast
Standard

Mit nur einer Checkbox ist aber keine auswahl möglich.
Wenn es um entweder-oder geht brauchst du Radiobuttons.
alro ist offline  
Alt 04.01.2009, 13:44  
lutoma
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von alro Beitrag anzeigen
Mit nur einer Checkbox ist aber keine auswahl möglich.
Öhm doch?
Ich mein wenn da steht Alkoholische Getränke und der Button ist nicht angeklickt werdens wohl die nichtalkoholischen sein

Beide Checkboxen brauchst du nur wenn du beides auf einmal erlauben willst
 
Alt 04.01.2009, 14:09  
Neuer Benutzer
 
Registriert seit: 29.11.2008
Beiträge: 24
alro befindet sich auf einem aufstrebenden Ast
Standard

Ist aber nicht sehr Benutzerfreundlich.
alro ist offline  
Alt 04.01.2009, 14:14  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Entweder man gibt im Falle beider Häkchen eine Fehlermeldung aus, dass man nur eins auswählen darf oder man macht ein Radiobutton mit 3 Auswahlmöglichkeiten.

1. Alk, 2. Non-Alk, 3. beides.

@lutoma: Wenn Du ganeu liest, wirst Du feststellen, dass da "nur alkoholische" steht.
Und das Gegenteil davon lautet eben nicht "nur alkoholfrei", sondern "auch andere" sofern der Haken bei "nur alkoholfrei" nicht gesetzt ist.
Daher kommt man mit einem einzelnen Haken nicht zurecht.

Edit:
@jul-drei-m-vier-us
Zu deinem Thread-Titel: Es gibt keine IF-Schleifen!
Alleine der Begriff deutet darauf hin, dass bei Dir wesentliche Grundlagen über Kontrollstrukturen fehlen. Ich habe das Gefühl, Du hast Dir ein Tutorial ausgesucht, für das Du erst einmal ein oder zwei vorhergehende Kapitel angucken solltest.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************

Geändert von Der_Gerhard (04.01.2009 um 14:20 Uhr).
Der_Gerhard ist offline  
Alt 04.01.2009, 14:17  
lutoma
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Der_Gerhard Beitrag anzeigen
@lutoma: Wenn Du ganeu liest, wirst Du feststellen, dass da "nur alkoholische" steht.
Und das Gegenteil davon lautet eben nicht "nur alkoholfrei", sondern "auch andere" sofern der Haken bei "nur alkoholfrei" nicht gesetzt ist.
Daher kommt man mit einem einzelnen Haken nicht zurecht.
Ups, überlesen
 
 


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] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
Schleife in Select? Oder wie addierte Datumswerte zeigen? webazubi Datenbanken 1 15.07.2007 13:04
SELECT AS geht bei AVG net cyberholic Datenbanken 0 04.05.2006 09:43
[JavaScript] Event Handler in form select - Syntax? winfo_cologne HTML, Usability und Barrierefreiheit 5 29.03.2006 16:47
Schleife nach Tastendruck beenden schnurzli PHP Tipps 2006 7 24.03.2006 18:56
Warum wird die erste Schleife nur einmal durchlaufen ? PHP Tipps 2006 12 03.03.2006 20:04
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
selbst gelöst! Select <option> kleines Problem Dropdow 24bits PHP Tipps 2005-2 0 15.10.2005 19:19
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
[Erledigt] mysql SELECT Anfrage PHP Tipps 2004 6 03.09.2004 13:26
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13
Schleife PHP Tipps 2004 6 06.08.2004 12:08
Select abfrage in Schleife PHP Tipps 2004 2 20.07.2004 15:37
Prob mit While schleife JEGO PHP Tipps 2004 2 04.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql cocktailsuche, for php schleife select, sql select schleifen, for schleife in select, input select schleife, sql schleife in select, if schleife select, zahlen schleife als select, sql if buchstabe, sql if schleife select, konstante in if schleife php, if schleifen, php schleife im select, php i-schleife im select

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